Membaca Dataset Elevasi Nasional (ArcGrid / GridFloat / IMG) dengan alat hanya Python?

10

Saya telah menemukan data elevasi presisi tinggi (1/3 - 1/9 resolusi arcsecond) dari National Elevation Dataset yang disediakan oleh USGS. Muncul dalam format IMG, Arcgrid, dan GridFloat. Saya tahu ArcGrid sesuai dengan paket perangkat lunak berbayar, tetapi saya mencoba untuk tetap menggunakan alat yang tersedia secara bebas.

Saya memiliki data GPS yang saya coba korelasikan dengan permukaan tanah.

Apakah ada pustaka python yang akan membiarkan saya mengubah data gps menjadi ketinggian menggunakan datafile dalam format IMG, ArcGrid, atau GridFloat?

tidak normal
sumber

Jawaban:

7

Bekerja dengan file IMG langsung dalam python sangat mudah dengan binding GDAL. Misalnya, Anda bisa membaca data langsung ke array 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)

Untuk contoh yang lebih lengkap tentang memplot data format IMG, lihat skrip ini yang menghasilkan gambar di bawah ini. Untuk transformasi data GPS Anda menjadi ketinggian, Anda harus mencicipi array NumPy yang dihasilkan.

masukkan deskripsi gambar di sini

Kelsey
sumber
4

National Map Viewer digunakan untuk menggunakan platform perangkat lunak yang berbeda, yang memungkinkan untuk mengkonversi data ke GeoTIFF setelah pemilihan ubin. Beberapa penyedia data regional juga menyukai GeoTIFF. Tapi itu mungkin tidak membantu Anda.

Namun, kabar baiknya gdaladalah mampu bekerja dengan ketiga format ini. ArcGrid adalah format biner ESRI, format data DEM USGS dari GridFloat dan IMG milik Erdas, yang membuat perangkat lunak Imagine. Saya mungkin akan mengunduh ArcGrid atau format IMG dan mengubahnya menjadi GeoTIFF: USGS sendiri memiliki bundel skrip konversi berdasarkan gdal unduhan ( tautan langsung ke file ZIP ). Anda harus menemukan sumber daya yang Anda butuhkan di sana.

chryss
sumber
Terima kasih atas tautannya dan menyebutkan gdal, itu terlihat sangat berguna
abnowack
0

Jawaban Kelsey pada awalnya tidak berhasil bagi saya karena file .img menggunakan -inf sebagai nilai untuk ruang kosong.

Saya memecahkan ini dengan menambahkan baris:

topo[topo<-1000] = 0
vatlark
sumber
1
Ini bukan jawaban untuk pertanyaan awal, mungkin ini harus diedit untuk jawaban yang diterima
nmtoken