คำถามติดแท็ก gdal

GDAL (Geospatial Data Abstraction Library) เป็นไลบรารีตัวแปลโอเพนซอร์สและชุดของอรรถประโยชน์บรรทัดคำสั่งสำหรับการประมวลผลรูปแบบข้อมูลเชิงพื้นที่แรสเตอร์ ในฐานะห้องสมุดมันนำเสนอรูปแบบข้อมูลนามธรรมเดียวให้กับแอปพลิเคชันการโทรสำหรับทุกรูปแบบที่รองรับ นอกจากนี้ยังมาพร้อมกับโปรแกรมอรรถประโยชน์ commandline ที่มีประโยชน์มากมายสำหรับการแปลและประมวลผลข้อมูล

1
จะคำนวณระยะทางไปยังสถานที่ที่มี gdal_proximity ได้อย่างไร?
ฉันใช้ gdal_proximity เพื่อค้นหาระยะทางไปยังแม่น้ำสายสำคัญที่ใกล้ที่สุดทั่วสหรัฐอเมริกา (ต่ำกว่า 48 รัฐ) ฉันได้คาดการณ์ flowlines ของเครือข่าย NHD + ไปที่ Conus Albers (epsg: 5070) แม่น้ำที่เลือกพร้อมลำดับการสตรีม> 5 และ rasterized การเผาไหม้แม่น้ำที่ 255 ไม่มีแม่น้ำที่ 0 เท่านี้ก็ใช้ได้ แต่ตอนนี้ฉันต้องหาระยะทาง ไปยังแม่น้ำที่ใกล้ที่สุดสำหรับไซต์ภายใน 50 กม. ไฟล์อินพุตอยู่ที่ความละเอียด 30 ม. ในระดับคอนติเนนทัลดังนั้นใหญ่มาก แต่การแปลงควรเป็นคำสั่ง gdal_proximity แบบง่าย gdal_proximity.bat -values 255 -distunits GEO -maxdist 50000 -nodata -999 infile.tif outfile.tif -co COMPRESS=DEFLATE -co …

3
gdalwarp cutline พร้อมกับ shapefile
ฉันกำลังพยายามคลิป Raster ของฉันตามเรขาคณิต shapefile ฉันใช้รหัสต่อไปนี้ gdalwarp -cutline INPUT.shp INPUT.tif OUTPUT.tif แต่มันส่งผลให้สีดำอยู่นอกขอบเขตของรูปร่างไฟล์ ฉันให้ตัวอย่างที่นี่ ในภาพแรกที่ฉันต้องการคลิป ภาพที่สองคือแรสเตอร์ที่เป็นผลลัพธ์ แต่ฉันต้องการแรสเตอร์ที่ 3 ที่ด้านนอกของรูปทรงเรขาคณิตจะเป็นโมฆะ ภาพที่ 1: INPUT Raster ภาพที่ 2: OUTPUT Raster รูปที่ 3: ฉันต้องการได้ผลลัพธ์เช่นนี้
26 gdal  gdalwarp 

5
โหลดแรสเตอร์ทั้งหมดลงในอาร์เรย์ numpy แล้วหรือยัง?
ฉันได้รับการพยายามที่จะตรวจสอบตัวกรองของฉันในแรสเตอร์ DEM สำหรับการรับรู้รูปแบบและมันมักจะมีผลในการหายไปแถวสุดท้ายและคอลัมน์ (like..20) ฉันลองห้องสมุด PIL แล้วโหลดภาพ จากนั้นด้วย numpy ผลลัพธ์เหมือนกัน ฉันคิดว่ามีบางอย่างผิดปกติกับลูปของฉันเมื่อตรวจสอบค่าในอาร์เรย์ (แค่เลือกพิกเซลด้วย Identification ใน ArcCatalog) ฉันรู้ว่าค่าพิกเซลไม่ได้ถูกโหลดลงในอาร์เรย์ ดังนั้นเพียงแค่เปิดใส่เข้าไปในอาร์เรย์และบันทึกภาพจากอาร์เรย์: a=numpy.array(Image.open(inraster)) #raster is .tif Float32, size 561x253 newIm=Image.new(Im.mode, Im.size) Image.fromarray(a).save(outraster) ผลลัพธ์ในการตัดแถวและคอลัมน์สุดท้ายออกไป ขออภัยไม่สามารถโพสต์ภาพได้ ทุกคนสามารถช่วยให้เข้าใจทำไม และให้คำแนะนำวิธีแก้ปัญหาบางอย่าง? แก้ไข: ดังนั้นฉันจึงประสบความสำเร็จในการโหลดแรสเตอร์ขนาดเล็กลงในอาร์เรย์ที่มีค่ามากด้วยความช่วยเหลือของผู้ชาย แต่เมื่อมีภาพที่ใหญ่ขึ้นฉันเริ่มได้รับข้อผิดพลาด ฉันคิดว่ามันเป็นเรื่องเกี่ยวกับข้อ จำกัด ของ numpy array ดังนั้น array จะถูกเปลี่ยนรูปร่างโดยอัตโนมัติหรือ smth เช่นนั้น ... ดังนั้นอดีต: Traceback (most recent call …

3
การตัดแรสเตอร์ด้วยเวกเตอร์เลเยอร์โดยใช้ GDAL
ฉันได้ติดตั้ง GDAL โดยใช้ตัวติดตั้ง Osgeo ฉันจะคลิปเลเยอร์แรสเตอร์ด้วยเวกเตอร์เลเยอร์โดยทางโปรแกรมได้อย่างไร มี GDAL API ใดบ้างที่สามารถช่วยฉันได้ ฉันใช้ Python
26 python  gdal 

1
File Geodatabase API สามารถแจกจ่ายต่อได้หรือไม่
ขณะนี้ Geodatabase API ไฟล์ของ Esri สามารถใช้กับ GDAL / OGR - http://www.gdal.org/ogr/drv_filegdb.htmlแต่แต่ละคนดูเหมือนว่าจะต้องลงชื่อเข้าใช้ Esri และดาวน์โหลดไฟล์ API แยกต่างหาก สำหรับตัวอย่างนี้มีการอ้างอิงในบล็อกโพสต์ที่นี่และในGDAL สร้างบันทึก ข้อตกลงใบอนุญาตก่อนที่จะดาวน์โหลด API ที่แสดงโดย Esri อยู่ที่: http://resources.arcgis.com/node/agreement/3193 ข้อ 47 ฯ : ผู้รับอนุญาตอาจพัฒนาและแจกจ่ายซอฟต์แวร์หรือเว็บแอปพลิเคชันที่ใช้ Esri File Geodatabase API ให้กับผู้ใช้ปลายทางของผู้รับอนุญาต การสนทนาที่ดีที่สุดเกี่ยวกับใบอนุญาตอยู่ที่โพสต์บล็อกของ Paul Ramseyตั้งแต่เดือนมกราคม 2554 การดำเนินการนี้เสร็จสิ้นด้วยการอัปเดตครั้งสุดท้ายที่: อัปเดต 4: อีเมลที่ได้รับจาก Esri ยืนยันว่าจะมีการตรวจสอบใบอนุญาตขั้นสุดท้ายเพื่อให้แน่ใจว่าไม่มีความคลุมเครือและมันสะท้อนถึงเจตนาของพวกเขาที่ว่า API จะสามารถใช้งานได้โดยแอปพลิเคชันใด ๆ ดังนั้นในกรณีที่ใบอนุญาตปัจจุบันมีความคลุมเครือใด ๆ ก็ไม่ควรพิจารณาธงสีแดงที่ใบสุดท้ายจะ ดังนั้น …

3
ปิรามิด / ภาพรวมของ GeoTIFF เป็นมาตรฐานอย่างไร
ในขณะที่ปิรามิด / ภาพรวมไม่ได้เป็นส่วนหนึ่งของมาตรฐาน GeoTIFFเครื่องมือจำนวนมากสนับสนุนการสร้างมันขึ้นมา ตัวอย่างเช่น vips / nip2, Orfeo Toolbox (otb) และ ossim ซึ่งทุกคนรับประกันว่าจะได้รับการสนับสนุนในการสร้าง แต่ฉันไม่รู้ว่าถ้าพวกเขาทั้งหมดจะสร้างไฟล์ในรูปแบบที่คนอื่นสนับสนุน การดูเอกสารประกอบของเครื่องมือไม่ได้พูดถึงสิ่งใด vips ไม่ใช่เครื่องมือเชิงพื้นที่และฉันไม่สามารถหาเอกสารที่เป็นมิตรกับผู้ใช้งานได้ แต่เอกสาร IIPImage พูดถึงการสนับสนุน"Tiled Pyramidal TIFF" : http://iipimage.sourceforge.net/documentation/images/ otb ไม่ได้พูดถึงสิ่งใดเกี่ยวกับรูปแบบหรือข้อมูลจำเพาะสำหรับ"ปิรามิดความละเอียดหลายระดับ" : https://www.orfeo-toolbox.org/CookBook/CookBooksu65.html ossim กล่าวว่ารองรับรูปแบบเอาต์พุตต่างๆสำหรับ"ชุดข้อมูลความละเอียดลดลง"แต่ฉันไม่รู้ว่ามันหมายถึงอะไรจริง: https://trac.osgeo.org/ossim/wiki/img2rr GDAL ยังไม่ได้ระบุสิ่งต่าง ๆ เกี่ยวกับ"ภาพรวม"ของมัน: http://www.gdal.org/gdaladdo.html ดังนั้นพวกเขาทุกคนมีปิรามิด / ภาพรวม แต่ไม่ชัดเจนว่าเป็นแบบไขว้กัน ในหน้าทั่วไปมากขึ้นฉันพบคำพูดต่อไปนี้: http://iipimage.sourceforge.net/documentation/images/พูดว่า Tiled Multi-Resolution (หรือ Tiled Pyramidal) TIFF เป็นเพียงภาพ …

4
ใช้ ogr2ogr เพื่อแปลง GML เป็น shapefile ใน Python หรือไม่
ฉันพยายามแปลง GML ให้เป็นไฟล์รูปร่าง ESRI โดยใช้ยูทิลิตี้ ogr2ogr ในสคริปต์ไพ ธ อน ฉันได้ติดตั้งแพคเกจ GDAL / OGR เรียบร้อยแล้วผ่านทาง osgeo แต่ตอนนี้ฉันพยายามหา / เข้าใจรายละเอียดเกี่ยวกับไวยากรณ์สำหรับการใช้ ogr2ogr ใน python หลังจากนำเข้า ogr ทั้งหมดที่ฉันพบคือ ogr2ogr -f "ESRI Shapefile" output.shp input.gml ฉันจะใช้สิ่งนี้ในไพ ธ อนได้อย่างไร มันง่ายเหมือนการกำหนดไฟล์อินพุตและเอาต์พุตหรือไม่? ทุกสิ่งที่ฉันลองฉันเพิ่งได้รับข้อผิดพลาดทางไวยากรณ์ พอยน์เตอร์ในทิศทางที่ถูกต้องเพื่อให้ฉันเริ่มต้นจะดี

3
การเลือกประเภทสถานที่เมื่อใช้ ogr2ogr เพื่อแปลงเป็นรูปร่างไฟล์?
Shapefiles สามารถมีรูปทรงเรขาคณิตได้หนึ่งประเภทเท่านั้น แต่รูปแบบอื่น ๆ อีกมากมาย (kml, geojson) สามารถมีได้หลายประเภท เมื่อแปลงเป็นรูปร่างไฟล์เป็นไปได้หรือไม่ที่จะบอกให้ ogr2ogr สร้างไฟล์หลายรูปร่างหนึ่งไฟล์สำหรับแต่ละประเภท? ดูเหมือนว่าตัวเลือก "-where" อาจมีประโยชน์ แต่หน้า man ไม่ได้อธิบายเกี่ยวกับไวยากรณ์ ตัวอย่างเช่นนี่คือคำสั่งที่ล้มเหลว: $ wget http://a841-tfpweb.nyc.gov/jackson-heights/wp-content/themes/tfp/kml/transit.kml $ ogr2ogr -f "ESRI Shapefile" transit.shp transit.kml Warning 6: Normalized/laundered field name: 'Description' to 'Descriptio' ERROR 1: Attempt to write non-linestring (POINT) geometry to ARC type shapefile. ERROR 1: …

7
วิธีการตัด 'ภาพซ้อน' จากชุดข้อมูลแบบแรสเตอร์โดยใช้ GDAL ได้อย่างไร
ฉันกำลังทำงานกับแอพที่ต้องการสร้างไทล์ (jpeg) จากชุดข้อมูลแบบแรสเตอร์ที่กำหนด ความชอบเริ่มต้นของฉันคือการใช้ gdal2tiles.py แต่ดูเหมือนว่าประสิทธิภาพจะดีขึ้น นั่นทำให้ฉันถามคำถามต่อไปนี้: อะไรจะเป็นวิธีที่เร็วที่สุดในการตัด 'ภาพกระเบื้อง' จากชุดข้อมูลแรสเตอร์โดยใช้ GDAL และด้วย 'ภาพเรียงต่อกัน' ฉันหมายถึง jpeg หรือ png ธรรมดา ในต้นแบบของฉันฉันใช้การผูก MapServer C # MapScript เพื่อทำงาน นั่นคือฉันสร้างวัตถุแผนที่วนรอบขอบกระเบื้องทั้งหมดที่ฉันต้องการตัดตั้งขอบเขตวัตถุแผนที่แล้วบันทึกภาพที่ได้ ประสิทธิภาพของวิธีการนี้ดีกว่า gdal2tiles.py อย่างมาก แต่ฉันสงสัยว่าฉันใช้ GDAL โดยตรงหรือไม่ถ้าฉันไม่สามารถทำให้เร็วขึ้นได้ ใครช่วยแนะนำเวิร์กโฟลว์ที่คล้ายกันด้วยวิธี GDAL ได้บ้าง แก้ไข: หลังจากการวิจัยเพิ่มเติมในวันนี้ฉันพบคำตอบที่อยู่ตรงหน้าฉัน หากคุณดาวน์โหลด FWTools แล้วโฟลเดอร์ csharp \ apps มีจำนวนคลาสที่จะสาธิตการผูก C # GDAL ในกรณีของฉัน GDALRead.cs และ GDALReadDirect.cs …
22 gdal  tiles 

3
วิธีเข้าถึงคลาสคุณลักษณะในฐานข้อมูลไฟล์ด้วย Python และ GDAL
ฉันพยายามเข้าถึงชุดข้อมูลเวกเตอร์ในฐานข้อมูลไฟล์ ESRI โดยใช้ Python + GDAL ฉันรวบรวม GDAL สำเร็จแล้วด้วยไฟล์ Geodatabase API ไดรเวอร์ FileGDB ทำงานอย่างถูกต้องตั้งแต่เข้ามา ogrinfo --formats แสดงให้เห็นถึงไดรเวอร์ FileGDB และการเข้าสู่ ogrinfo myfilegdb.gdb ให้ข้อมูลที่ถูกต้องกับเนื้อหาของฐานข้อมูล อย่างไรก็ตามฉันไม่สามารถหาวิธีเข้าถึงเนื้อหาใน Python ได้ สำหรับการเข้าถึง shapefile ฉันจะเขียน: driver = ogr.GetDriverByName('ESRI Shapefile') ds = driver.Open('shapefile.shp', 0) เมื่อเข้าถึงคลาสคุณลักษณะ FileGDB ฉันจะถือว่าใช้คำสั่ง: driver = ogr.GetDriverByName('FileGDB') ds = driver.Open('myfilegdb.gdb/feature_class', 0) แต่ดูเหมือนจะไม่ทำงานเนื่องจากไม่สามารถระบุ / ค้นหาชุดข้อมูลได้ ไม่มีใครรู้วิธีเรียกคลาสคุณลักษณะแต่ละอย่างจาก …

1
การจำลองผลลัพธ์ของ gdalwarp โดยใช้การผูก gdal Python
ฉันพยายามที่จะใหม่ / โครงการ resample กับ GDAL ผูกหลาม gdalwarpแต่กำลังได้รับผลลัพธ์ที่แตกต่างกันเล็กน้อยเมื่อเทียบกับผู้ที่มาจากยูทิลิตี้บรรทัดคำสั่ง ดูการอัปเดตด้านล่างสำหรับตัวอย่างที่สั้นกว่า สคริปต์นี้แสดงให้เห็นถึงวิธีการหลาม: from osgeo import osr, gdal import numpy def reproject_point(point, srs, target_srs): ''' Reproject a pair of coordinates from one spatial reference system to another. ''' transform = osr.CoordinateTransformation(srs, target_srs) (x, y, z) = transform.TransformPoint(*point) return (x, y) def reproject_bbox(top_left, bottom_right, …
20 python  gdal  gdalwarp  numpy 


4
ภาษาที่ดีที่สุดในการเขียนโปรแกรมด้วย GDAL
ฉันจะเริ่มสร้างโปรแกรมเพื่อจัดการข้อมูลทางภูมิศาสตร์จากเซิร์ฟเวอร์ PostGIS และจะใช้ GDAL ตามประสบการณ์ของคุณด้วยภาษาที่ดีที่สุดในการเขียนโปรแกรมด้วยหรือไม่ ฉันสามารถเขียนโปรแกรมใน Perl และ Python ได้ แต่ต้องการทราบภาษาที่มีโค้ดเพิ่มเติมเพื่อนำมาใช้ใหม่ตัวอย่างไลบรารีและอื่น ๆ
20 python  postgis  gdal 

3
การปรับให้เรียบ / สอดแทรกแรสเตอร์ใน Python โดยใช้ GDAL?
ฉันกำลังพัฒนาใน Python และใช้ GDAL จาก OSGEO เพื่อจัดการและโต้ตอบกับ rasters และ shapefiles ฉันต้องการนำไฟล์รูปร่างที่มีคุณสมบัติจุดและสอดแทรกเข้าไปในพื้นผิวแบบแรสเตอร์ ตอนนี้ฉันกำลังใช้เมธอด 'RasterizeLayer' ซึ่งเบิร์นค่าจากฟีเจอร์จุดไปยังแรสเตอร์ (ซึ่งถูกตั้งค่าด้วยค่า nodata ทั้งหมด) แต่ทำให้พิกเซลที่ไม่มีการแตะทั้งหมดเป็นค่า 'โนดาต้า' ฉันจึงถูกทิ้งให้อยู่กับแรสเตอร์ประเภทหมากรุก สิ่งที่ฉันมีหลังจากใช้ RasterizeLayer: สิ่งที่ฉันต้องการสำหรับผลิตภัณฑ์ขั้นสุดท้าย: ฉันเชื่อว่าฟังก์ชั่นที่ฉันกำลังมองหาเรียกว่า 'Spline_sa ()' จากการนำเข้า arcgisscripting GDAL มีฟังก์ชั่นที่คล้ายกันหรือมีวิธีอื่นในการรับเอาต์พุตที่ต้องการหรือไม่?

2
เอกสารประกอบ API สำหรับ Gdal / Ogr ด้วย C #
ฉันต้องการกำหนดการฉายภาพให้กับ shapefile ในแอปพลิเคชัน C # ของฉันสำหรับสิ่งนี้ฉันกำลังใช้การเชื่อมโยง Gdal / OGR / OSR C # และเพิ่ม osr_csharp.dll และการอ้างอิง ogr_csharp.dll แต่ฉันกำลังเผชิญกับความยากลำบากบางอย่างในขณะที่เขียนรหัสสำหรับการกำหนดการฉายภาพให้กับรูปร่างไฟล์ ฉันต้องการที่จะรู้ว่ามีเอกสาร API สำหรับสิ่งนี้ซึ่งสามารถช่วยให้ฉันเข้าใจชั้นเรียน / วิธีการของห้องสมุดเหล่านี้ หรือถ้าใครมีรหัสบางส่วนสำหรับกำหนดการฉายภาพให้กับรูปร่างไฟล์แล้วมันจะเป็นประโยชน์อย่างมากสำหรับฉัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.