การอ่านชุดข้อมูลระดับชาติ (ArcGrid / GridFloat / IMG) ด้วยเครื่องมือ Python เท่านั้น?


10

ฉันพบข้อมูลการยกระดับความแม่นยำสูง (1/3 - 1/9 ความละเอียดอาร์ซีวินาที) จากชุดข้อมูลความสูงแห่งชาติที่จัดทำโดย USGS มันมาพร้อมรูปแบบ IMG, Arcgrid และ GridFloat ฉันรู้ว่า ArcGrid นั้นสอดคล้องกับแพคเกจซอฟต์แวร์แบบชำระเงิน แต่ฉันพยายามที่จะใช้เครื่องมือที่มีให้อย่างอิสระ

ฉันมีข้อมูล GPS ที่ฉันพยายามจะสัมพันธ์กับระดับพื้นดิน

มีห้องสมุดไพ ธ อนใดบ้างที่จะให้ฉันแปลงข้อมูล gps เป็นระดับความสูงโดยใช้ดาต้าไทล์ในรูปแบบ IMG, ArcGrid หรือ GridFloat

คำตอบ:


7

การทำงานกับไฟล์ IMG โดยตรงใน python นั้นเป็นสิ่งที่ตรงไปตรงมากับการเชื่อม GDAL ตัวอย่างเช่นคุณสามารถอ่านข้อมูลโดยตรงในอาร์เรย์ NumPy:

from osgeo import gdal
geo = gdal.Open('imgn36w100_11.img')
arr = geo.ReadAsArray()
print repr(arr)
array([[ 744.31896973,  743.68762207,  743.1116333 , ...,  550.42498779,
         553.77813721,  556.18640137],
       [ 744.22955322,  743.66082764,  743.05273438, ...,  552.05706787,
         554.81365967,  557.55877686],
       [ 744.0133667 ,  743.49041748,  743.00061035, ...,  553.0123291 ,
         555.78076172,  558.01312256],
       ...,
       [ 568.70880127,  567.33666992,  566.56170654, ...,  447.68035889,
         447.68804932,  447.65426636],
       [ 568.01116943,  566.95739746,  564.23382568, ...,  447.6696167 ,
         447.71224976,  447.62734985],
       [ 565.62896729,  562.65325928,  560.78759766, ...,  447.67129517,
         447.67529297,  447.65179443]], dtype=float32)

สำหรับตัวอย่างที่สมบูรณ์ยิ่งขึ้นของการวางแผนข้อมูลรูปแบบ IMG ให้ดูสคริปต์นี้ซึ่งสร้างภาพด้านล่าง สำหรับการแปลงข้อมูล GPS เป็นระดับความสูงคุณจะต้องลองตัวอย่างผลลัพธ์ NumPy

ป้อนคำอธิบายรูปภาพที่นี่


4

เครื่องมือดูแผนที่แห่งชาติเคยใช้แพลตฟอร์มซอฟต์แวร์อื่นซึ่งทำให้สามารถแปลงข้อมูลเป็น GeoTIFF หลังจากเลือกไทล์ ผู้ให้บริการข้อมูลระดับภูมิภาคบางรายชอบ GeoTIFF เช่นกัน แต่นั่นอาจจะช่วยคุณไม่ได้

อย่างไรก็ตามข่าวดีก็gdalคือสามารถทำงานกับทั้งสามรูปแบบเหล่านี้ได้ ArcGrid เป็นรูปแบบไบนารี่ ESRI รูปแบบข้อมูล DEM ของ GridFloat USGS และ IMG ซึ่งเป็นกรรมสิทธิ์ของ Erdas ซึ่งเป็นผู้สร้างซอฟท์แวร์ Imagine ฉันอาจจะดาวน์โหลดทั้ง ArcGrid หรือรูปแบบ IMG และแปลงเป็น GeoTIFF: USGS ตัวเองมีชุดของสคริปต์การแปลงตามgdal การดาวน์โหลด ( ลิงก์โดยตรงไปยังไฟล์ ZIP ) คุณควรค้นหาแหล่งข้อมูลที่คุณต้องการ


ขอบคุณสำหรับลิงค์และกล่าวถึง gdal มันดูมีประโยชน์มาก
abnowack

0

คำตอบของ Kelseyไม่ได้ผลในตอนแรกสำหรับฉันเพราะไฟล์. img ใช้ -inf เป็นค่าสำหรับพื้นที่ว่าง

ฉันแก้ไขได้โดยเพิ่มบรรทัด:

topo[topo<-1000] = 0

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