Czytanie zestawu danych o wysokości narodowej (ArcGrid / GridFloat / IMG) za pomocą narzędzi tylko w języku Python?


10

Znalazłem dane o wysokiej precyzji wysokości (rozdzielczość 1/3 - 1/9 sekundy łukowej) z krajowego zestawu danych wysokości dostarczonego przez USGS. Pochodzi w formatach IMG, Arcgrid i GridFloat. Wiem, że ArcGrid odpowiada płatnemu pakietowi oprogramowania, ale staram się trzymać swobodnie dostępnych narzędzi.

Mam dane GPS, które próbuję skorelować z poziomem gruntu.

Czy są jakieś biblioteki Pythona, które pozwolą mi przekształcić dane GPS w wysokość przy użyciu pliku danych w formatach IMG, ArcGrid lub GridFloat?

Odpowiedzi:


7

Praca z plikiem IMG bezpośrednio w pythonie jest prosta dzięki powiązaniom GDAL. Na przykład możesz odczytać dane bezpośrednio do tablicy 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)

Bardziej kompletny przykład wydruku danych w formacie IMG znajduje się w tym skrypcie, który wygenerował obraz poniżej. Aby przekształcić dane GPS na wysokość, musisz spróbować wynikowej tablicy NumPy.

wprowadź opis zdjęcia tutaj


4

National Map Viewer korzystał z innej platformy oprogramowania, która umożliwiała konwersję danych do GeoTIFF po wybraniu kafelków. Niektórzy regionalni dostawcy danych również wolą GeoTIFF. Ale to może ci nie pomóc.

Jednak dobrą wiadomością jest to, że gdaljest w stanie współpracować ze wszystkimi trzema tymi formatami. ArcGrid to format binarny ESRI, format danych DEM GridFloat USGS i zastrzeżony przez IMG Erdas, który tworzy oprogramowanie Imagine. Prawdopodobnie pobrałbym format ArcGrid lub IMG i przekonwertowałem na GeoTIFF: same USGS mają pakiet skryptów do konwersji opartych na gdal pobieraniu (bezpośredni link do pliku ZIP ). Powinieneś znaleźć tam potrzebne zasoby.


Dzięki za link i wzmiankę o gdalie, wygląda to bardzo przydatne
poza

0

Odpowiedź Kelseya początkowo nie działała dla mnie, ponieważ plik .img używał -inf jako wartości pustej przestrzeni.

Rozwiązałem to, dodając wiersz:

topo[topo<-1000] = 0

1
To nie jest odpowiedź na pierwotne pytanie, prawdopodobnie powinna to być edycja zaakceptowanej odpowiedzi
nmtoken
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.