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

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

1
ขนาดไฟล์เงินเฟ้อปกติด้วย gdalwarp?
หลังจากใช้gdalwarpในการฉายภาพและจัดเรียงตามตาราง (ผ่าน-tap) จำนวนของ rasters ฉันสังเกตเห็นว่า rasters ที่ส่งออกมีขนาดใหญ่กว่า rasters ดั้งเดิมอย่างมีนัยสำคัญ การค้นหาเว็บอย่างละเอียดพอสมควรทำให้เกิดปัญหา Trac นี้ : Frank Warmerdam อธิบายเหตุผล: "ในการตรวจสอบอย่างละเอียดความแตกต่างในไฟล์ที่เป็นปัญหาคือเพราะ gdal_translate ใช้ส่วนต่อประสาน TIFFWriteScanline () เพื่อเขียนไฟล์เอาต์พุตจากภายใน GTiffDataset :: CreateCopy? () และนี่เขียนเฉพาะแถบ 'สุดท้าย' สุดท้ายของ ไฟล์ตามที่จำเป็นเพื่อให้พื้นที่ภาพสมบูรณ์แต่ gdalwarp ต้องผ่านส่วนต่อประสาน blockio ซึ่งเขียนแถบสุดท้ายที่สมบูรณ์แม้ในส่วนที่หลุดออกจากส่วนท้ายของไฟล์ " อย่างไรก็ตามปัญหา Trac นี้มีอายุ ~ 7 ปีและฉันรู้ว่ามีการเปลี่ยนแปลงบางอย่างเกี่ยวกับสาธารณูปโภคของ GDAL รวมถึงสิ่งที่gdalwarpได้ทำมาตั้งแต่นั้น ฉันต้องการทราบว่าเหตุผลดังกล่าวยังคงมีอยู่หรือไม่และถ้าขนาดไฟล์ที่ฉันเห็นเป็น "ปกติ" คำว่า "ปกติ" ที่นี่อาจถูกนำมาใช้เพื่อหมายถึงไม่แปลกใจหรือคาดหวังแต่ที่สำคัญกว่า: มีสิ่งใดที่สามารถทำได้เพื่อลดผลกระทบเช่นลดขนาดไฟล์แรสเตอร์เอาท์พุท? ด้านล่างเป็นตารางอัตราเงินเฟ้อขนาดไฟล์ที่ฉันพบ …

4
วิธีเข้าถึงไฟล์อย่างมีประสิทธิภาพด้วย GDAL จาก S3 bucket ด้วย VSIS3
ดังนั้น GDAL จึงได้เพิ่มคุณสมบัติใหม่ที่ช่วยให้สามารถอ่านไฟล์ที่ฝากข้อมูล S3 ได้แบบสุ่ม ฉันกำลังมองหาการครอบตัดภาพ GDAL จากหลายไทล์ของภาพโดยไม่ต้องดาวน์โหลดไฟล์ทั้งหมด ฉันเห็นเอกสารกระจัดกระจายมากเกี่ยวกับวิธีการกำหนดค่าและเข้าถึง S3 bucket แต่ GDAL และสับสนเล็กน้อยเกี่ยวกับวิธีเริ่มต้นอย่างไร ใครบางคนจะใจดีพอที่จะให้ตัวอย่าง / การสอนสั้น ๆ อย่างมากเกี่ยวกับวิธีการตั้งค่าระบบไฟล์เสมือนสำหรับ GDAL เพื่อให้บรรลุเป้าหมายนี้ แต้มโบนัสหากโซลูชันของคุณอนุญาตให้เขียนสคริปต์ผ่าน Python! เพื่อชี้แจง: เราได้ทำไปแล้วใน Python ปัญหาของ Python คือคุณต้องดาวน์โหลดทั้งรูปภาพเพื่อใช้งานได้ GDAL รุ่นใหม่ล่าสุดมีการสนับสนุนการติดตั้งที่ฝากข้อมูล S3 เพื่อที่ว่าหากเราต้องการพูดว่าครอบตัดส่วนเล็ก ๆ ของภาพเราสามารถทำงานโดยตรงกับส่วนที่เล็กลง อนิจจาเนื่องจากฟีเจอร์นี้เปิดตัวเฉพาะในสาขาที่มั่นคงในเดือนมกราคมฉันจึงไม่พบเอกสารใด ๆ เลย ดังนั้นโซลูชันควรใช้ระบบ VSI3 ใน GDAL รุ่นใหม่ล่าสุดหรือใช้ระบบอย่างชาญฉลาดเพื่อป้องกันผู้ใช้ไม่จำเป็นต้องดาวน์โหลดภาพทั้งหมดไปยังไดรฟ์ EBS เพื่อทำงานกับมัน กล่าวคือจะได้รับรางวัลเงินรางวัลเพื่อตอบว่าใช้ VSI APIs ที่พบใน GDAL …

1
ทำไมผู้คนจึงออกเสียง GDAL (Geospatial Data Abstraction Library) เช่น goo-dal
ตกลงคำถามที่โง่ แต่: ฉันได้ยินว่ามีคนประกาศห้องสมุด GDAL (Geospatial Data Abstraction Library) เช่น goooo-dal ความชอบตามธรรมชาติของฉันคือการออกเสียงว่า geeee-dal เช่นเดียวกับในจดหมาย 'g'-dal คำอธิบายใด ๆ เกี่ยวกับวิธี goo-dal มาเป็นที่นิยม? goo-gle เกี่ยวข้องหรือไม่
18 gdal 

1
GDAL / Python: ฉันจะรับชื่อระบบพิกัดจาก SpatialReference ได้อย่างไร
ใน Python โดยใช้ GDAL ฉันได้แยกการฉายภาพแรสเตอร์เป็นสตริง WKT ดังนี้ wkt = dataset.GetProjection() # wkt is 'PROJCS["GDA_1994_Transverse_Mercator",GEOGCS["GDA_1994",DATUM["GDA_1994",SPHEROID["GRS_1980",6378137,298.2572221010002],TOWGS84[0,0,0,0,0,0,0]],PRIMEM["Greenwich",0],UNIT["degree",0.0174532925199433]],PROJECTION["Transverse_Mercator"],PARAMETER["latitude_of_origin",0],PARAMETER["central_meridian",117],PARAMETER["scale_factor",0.9996],PARAMETER["false_easting",500000],PARAMETER["false_northing",10000000],UNIT["Meter",1]]' ใช้สตริง WKT ฉันสามารถสร้างอินสแตนซ์ SpatialReference ดังนี้: src = osr.SpatialReference() src.ImportFromWkt(wkt) นี่ง่ายมาก ฉันสามารถแยกพารามิเตอร์หลายอย่างของการฉายภาพจากsrcเช่นโซน UTM และอื่น ๆ ได้อย่างง่ายดาย "GDA_1994_Transverse_Mercator"แต่ฉันไม่สามารถคิดออกว่าจะดึงบางสิ่งบางอย่างเช่นชื่อของการประมาณการคือ สิ่งนี้จะต้องเป็นไปได้อย่างแน่นอน แต่เอกสาร Python API อาจไม่มีอยู่เลยสำหรับการใช้งานทั้งหมด ฉันจะแยกชื่อของเส้นโครงและระบบพิกัดทางภูมิศาสตร์ได้อย่างไร

5
แบ่งแรสเตอร์เป็นชิ้นเล็ก ๆ โดยใช้ GDAL หรือไม่
ฉันมีแรสเตอร์ (USGS DEM จริง ๆ ) และฉันต้องแยกมันออกเป็นชิ้นเล็ก ๆ เหมือนภาพด้านล่างแสดง ซึ่งสำเร็จใน ArcGIS 10.0 โดยใช้เครื่องมือ Split Raster ฉันต้องการวิธีการ FOSS เพื่อทำสิ่งนี้ ฉันดูที่ GDAL แล้วคิดว่าจะทำอย่างนั้น (อย่างใดกับ gdal_translate) แต่หาอะไรไม่เจอ ในที่สุดฉันต้องการที่จะใช้แรสเตอร์และพูดว่าชิ้นใหญ่ (4KM โดย 4KM ชิ้น) ฉันต้องการแยกออกเป็น

8
ติดตั้ง GDAL และ OGR สำหรับ Python หรือไม่
โพสต์นี้เป็นวิกิพีเดียชุมชน แก้ไขคำตอบที่มีอยู่เพื่อปรับปรุงโพสต์นี้ ขณะนี้ไม่ยอมรับคำตอบใหม่ ฉันกำลังพัฒนารหัสบางส่วนใน Python และฉันต้องการใช้การผูกหลามของ GDAL / OGR ขั้นต่ำที่ฉันต้องติดตั้งเพื่อใช้การผูกหลามของ GDAL และ OGR คืออะไร วิธีที่ง่ายที่สุดในการติดตั้ง GDAL / OGR คือถ้าฉันต้องการใช้จาก Python เท่านั้น? ฉันกำลังมองหาคำตอบที่ใช้ได้กับทั้ง mac และ windows GDAL อยู่ในรายการ Python Package Index (PyPi) แต่ฉันไม่เข้าใจวิธีติดตั้งการพึ่งพา (libgdal และไฟล์ส่วนหัวสำหรับทั้ง libgdal และ numpy) บางทีทั้งหมดที่ฉันต้องทำคือติดตั้ง numpy แล้วหา libgdal ที่ไหนสักแห่งและถ้าเป็นเช่นนั้นที่ไหน การติดตั้ง windows จำเป็นต้องใช้ Windows Binaries นอกเหนือจาก libgdal และเป็นไฟล์ส่วนหัวหรือไม่? …
18 python  gdal  ogr 

1
วิธีการเปลี่ยนค่าฟิลด์ของ Shapefile โดยใช้ GDAL / OGR
ฉันกำลังพยายามเปลี่ยนค่าฟิลด์ของ shapefile อย่างไรก็ตามมันจะไม่เปลี่ยนค่า เกิดอะไรขึ้นกับรหัสของฉัน import ogr driver = ogr.GetDriverByName('ESRI Shapefile') fn = 'dist.shp' dataSource = driver.Open(fn, 0) layer = dataSource.GetLayer() feature = layer.GetNextFeature() dist = 233 while feature: feature.SetField("dist", dist) layer.SetFeature(feature) feature = layer.GetNextFeature() dataSource.Destroy()

4
วิธีหยุด writeOGR ไม่ให้ย่อชื่อฟิลด์เมื่อใช้ไดรเวอร์“ ESRI Shapefile”
ขณะนี้ฉันกำลังใช้สคริปต์ต่อไปนี้เพื่อเพิ่มข้อมูลคุณลักษณะจากตารางไปยังรูปร่างหลายไฟล์: library(rgdal) specieslist <- read.csv("SpeciesList1.txt", header=F) attdata <- read.table("TestAtt.csv", sep = ",", header=T) for (n in 1:dim(specieslist)[1]) { speciesname <- specieslist[n,1] shp <- readOGR("Mesoamerica_modified_polygons", speciesname) shp$ENGL_NAME<-attdata[n,2] writeOGR(shp, "PolygonsV2", speciesname, driver="ESRI Shapefile") } ฉันได้รับคำเตือนต่อไปนี้เมื่อสิ้นสุด: 1: In writeOGR(shp, "PolygonsV2", speciesname, driver = "ESRI Shapefile") : Field names abbreviated for ESRI Shapefile driver …

2
คัดลอก WGS 1984 Web Mercator (EPSG: 3857) ใน Python ด้วย GDAL
ฉันกำลังตำหนิตัวแรสเตอร์ในไพ ธ อนโดยใช้ GDAL ฉันต้องฉายหลาย tiffs จากพิกัดทางภูมิศาสตร์ WGS 84 กับ WGS 1984 Web Mercator (Auxiliary Sphere) เพื่อใช้ในภายหลังใน Openlayers ร่วมกับ OpenStreetMap และ Google maps ฉันใช้ Python 2.7.5 และ GDAL 1.10.1 จากที่นี่และแปลงพิกัดโดยใช้คำแนะนำจากที่นี่ (รหัสของฉันอยู่ด้านล่าง) ในระยะสั้นผมนำเข้าosgeo.osrและใช้ImportFromEPSG (รหัส)และCoordinateTransformation (จากไป) ฉันพยายามแรกEPSG (32629)ซึ่งเป็น UTM โซนที่ 29 และได้รับนี้แรสเตอร์คาดการณ์ (มากหรือดีน้อยกว่า) ดังนั้นรหัสที่ดูเหมือนว่าจะถูกต้อง: แล้วผมใช้EPSG (3857)เพราะผมได้อ่านนี้และนี้คำถามและพบว่า ว่ามันเป็นเรื่องที่ถูกต้องล่าสุดรหัสที่ถูกต้อง แต่แรสเตอร์ถูกสร้างขึ้นโดยไม่มีการอ้างอิงเชิงพื้นที่เลย มันอยู่ไกลในกรอบข้อมูล WGS 84 (แต่จะโอเคถ้าฉันเปลี่ยนเฟรมข้อมูลเป็น …

1
เหตุใดจึงปิดชุดข้อมูลใน GDAL Python
ฉันเห็นบ่อยครั้งในรหัส Python GDAL ที่ผู้คนปิดชุดข้อมูลในตอนท้ายของสคริปต์ เหตุใดจึงสมเหตุสมผลที่จะปิดชุดข้อมูลใน Python GDAL มีผลกระทบใด ๆ หรือไม่ถ้าฉันไม่ทำ import gdal # open dataset ds = gdal.Open('test.tif') # close dataset ds = None
17 python  gdal 

9
วิธีการซ้อนทับรูปร่างไฟล์และแรสเตอร์?
ฉันมีไฟล์รูปร่างที่มีรูปหลายเหลี่ยม และฉันมีไฟล์แรสเตอร์ระดับโลก ฉันต้องการซ้อนรูปหลายเหลี่ยมของ shapefile ลงบนตารางแรสเตอร์และคำนวณค่าเฉลี่ย raster สำหรับรูปหลายเหลี่ยมแต่ละรูป ฉันจะทำสิ่งนี้โดยใช้ GDAL เขียนผลลัพธ์ไปยังรูปร่างไฟล์ได้อย่างไร

3
ฉันจะเปลี่ยนพิกัด "ไม่มีข้อมูล" เป็นสีขาว / โปร่งใสแทนที่จะเป็นสีดำได้อย่างไร
ฉันกำลังเตรียมข้อมูลเพื่อรวมเข้ากับโหนดเครือข่าย geonetwork ซึ่งแผนที่จะแสดงผ่าน geoserver ปัญหาคือเซลล์ที่มี "ไม่มีข้อมูล" แสดงเป็นสีดำใน geotiff และฉันต้องการให้สีถูกตั้งค่าเป็นสีขาวหรือโปร่งใส ฉันใช้ ArcView และไม่สามารถเข้าถึงนักวิเคราะห์เชิงพื้นที่หรือนักวิเคราะห์สามมิติ ฉันไม่ต้องการกำหนดไฟล์ sld ใหม่และตอนนี้ใช้ "ใช้ colormap" เมื่อส่งออกจาก ArcGIS Desktop

4
จะทำอย่างไรกับ -3.4e + 38 ค่า nodata?
ฉันพยายามประมวลผลไฟล์แรสเตอร์ทางชีวภาพบางอย่างเช่นสามารถดาวน์โหลดได้จากhttp://www.worldclim.org/current (ชุด bioclim) ดูเหมือนว่าพวกเขาจะตั้งค่า nodata -3.4e+38ตาม QGIS (ดูที่ผลลัพธ์ของ gdalinfo มัน-3.39999999999999996e+38) ดูเหมือนว่าเครื่องมือ gdal ไม่สามารถจัดการกับค่า nodata นี้ได้และ qgis ก็ไม่สามารถจดจำได้เช่นกัน ในสไตล์เลเยอร์มีรายการสำหรับ -3.4e + 38 ตั้งค่าเป็น 100% โปร่งใส แต่ยังคงแสดงค่าดังกล่าวแม้ว่าตัวเลือก "ระบุคุณสมบัติ" จะแสดงว่ามีค่า -3.4e + 38 ฉันได้ลองสร้าง vrt เพื่อแปลงค่า nodata เป็น -9999 แทน แต่นั่นก็ไม่ได้ผลเช่นกัน ฉันจะประมวลผลไฟล์ดังกล่าวเพื่อให้มีค่าโหนดที่ใช้งานได้อย่างไร
17 qgis  raster  gdal 

5
กำลังติดตั้ง GDAL บน MacOSX หรือไม่
ใครรู้บ้างว่าวิธีที่ง่ายที่สุดในการติดตั้ง GDAL 2.0 บน MacOSX คืออะไร ผู้ต้องสงสัยการกระจายไบนารี Kingchaosปกติและhomebrewดูเหมือนจะติดอยู่บน GDAL 1.11 ฉันต้องการการสนับสนุนคุณสมบัติของคุณสมบัติ TopoJSON ที่ดูเหมือนจะรวมอยู่ใน2.0 แก้ไข 2017/01/07: การกระจายไบนารี kingchaosให้การกระจาย GDAL 2.1 ในขณะนี้

3
การเปลี่ยนรูปทางภูมิศาสตร์สำหรับ stereographic ขั้วโลก?
ขณะนี้ฉันกำลังทำงานเพื่อนำเข้าข้อมูลสภาพอากาศ CANGRID (จัดให้เป็น Surfer Grid ascii, ไฟล์ ".grd") ไปยัง ArcGIS ตารางมีขนาด 95 แถวคูณ 125 คอลัมน์ เมทาดาทาให้ละติจูด / ลองจิจูดของแหล่งกำเนิด (มุมซ้ายล่าง), ขนาดเซลล์ (50 กม.) เช่นเดียวกับการบันทึกภาพเป็นขั้วภาพสามมิติที่มีจุดศูนย์กลางกลาง (110 องศา W) และละติจูดของจุดกำเนิด (60 องศา N) หลังจากครั้งแรกที่พยายามแปลง. grd เป็น rasc as .ascii และ. flt ไม่สำเร็จฉันได้จัดการใช้ GDAL เพื่อกำหนดขอบเขตและการฉายภาพอย่างไรก็ตามชุดข้อมูลไม่ถูกต้องสอดคล้องกับขอบเขตของพื้นที่ที่ต้องการ ดูภาพด้านล่าง มีการเปลี่ยนรูปทางภูมิศาสตร์ที่ยอมรับได้สำหรับ stereographic ขั้วโลกที่สามารถอธิบายการขาดการจัดตำแหน่งนี้ได้หรือไม่? ตัวอย่างเช่นมีปัจจัยการแปลงหรือการหมุนเฉพาะที่ฉันควรใช้หรือไม่ ไฟล์ตัวอย่างจากชุดข้อมูลอยู่ที่นี่: "t201113.grd" นี่คือรหัสที่ฉันใช้ใน GDAL …

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