Yalnızca Python araçlarıyla Ulusal Yükseklik Veri Kümesi (ArcGrid / GridFloat / IMG) okunuyor mu?


10

USGS tarafından sağlanan Ulusal Yükseklik Veri Kümesi'nden yüksek hassasiyetli yükseklik (1/3 - 1/9 ark saniye çözünürlük) verileri buldum. İnt IMG, Arcgrid ve GridFloat biçimleri gelir. ArcGrid'in ücretli bir yazılım paketine karşılık geldiğini biliyorum, ancak serbestçe kullanılabilen araçları kullanmaya devam etmeye çalışıyorum.

Zemin seviyesiyle ilişkilendirmeye çalıştığım GPS verilerim var.

IMG, ArcGrid veya GridFloat formatlarında bir veri dosyası kullanarak gps verilerini rakama dönüştürmeme izin verecek herhangi bir python kütüphanesi var mı?

Yanıtlar:


7

IMG dosyasıyla doğrudan python içinde çalışmak GDAL bağları ile anlaşılır. Örneğin, verileri doğrudan bir NumPy dizisine okuyabilirsiniz:

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 formatı verilerini çizmenin daha eksiksiz bir örneği için aşağıdaki görüntüyü oluşturan bu komut dosyasına bakın. GPS verilerini irtifaya dönüştürmek için, sonuçta elde edilen NumPy dizisini örneklemeniz gerekir.

resim açıklamasını buraya girin


4

Ulusal Harita Görüntüleyici farklı bir yazılım platformu kullanırdı, bu da karo seçiminden sonra verileri GeoTIFF'e dönüştürmeyi mümkün kılar. Bazı bölgesel veri sağlayıcıları GeoTIFF'i de tercih etmektedir. Ama bu sizin için bir faydası olmayabilir.

Ancak, iyi haber şu ki gdalbu formatların üçü ile de çalışabiliyor. ArcGrid, ESRI ikili biçimidir, GridFloat USGS'nin DEM veri biçimidir ve Imagine yazılımını yapan Erdas'a özel IMG'dir. Muhtemelen ArcGrid veya IMG formatını indirip GeoTIFF'e dönüştürürüm: USGS'nin kendileri gdal indirmeye ( ZIP dosyasına doğrudan bağlantı ) dayalı bir dönüşüm komut dosyası paketi var . İhtiyacınız olan kaynakları orada bulmalısınız.


Bağlantı ve
gdal'dan

0

Kelsey'in cevabı benim için ilk başta işe yaramadı çünkü .img dosyası boş alanı değeri olarak -inf kullandı.

Bu satırı ekleyerek çözdüm:

topo[topo<-1000] = 0

1
Bu orijinal soruya bir cevap değil, muhtemelen kabul edilen cevapta bir düzenleme olmalı
nmtoken
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.