Python 전용 도구로 National Elevation Dataset (ArcGrid / GridFloat / IMG)을 읽으십니까?


10

USGS에서 제공 한 National Elevation Dataset에서 고정밀 고도 (1/3-1/9 arcsecond resolution) 데이터를 찾았습니다. int IMG, Arcgrid 및 GridFloat 형식으로 제공됩니다. ArcGrid는 유료 소프트웨어 패키지에 해당하지만 무료로 사용할 수있는 도구를 사용하려고합니다.

지상과 상관 관계가있는 GPS 데이터가 있습니다.

IMG, ArcGrid 또는 GridFloat 형식의 데이터 파일을 사용하여 GPS 데이터를 고도로 변환 할 수있는 파이썬 라이브러리가 있습니까?

답변:


7

파이썬에서 직접 IMG 파일로 작업하는 것은 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

National Map Viewer는 다른 소프트웨어 플랫폼을 사용하여 타일을 선택한 후 데이터를 GeoTIFF로 변환 할 수있었습니다. 일부 지역 데이터 제공 업체는 GeoTIFF를 선호합니다. 그러나 그것은 당신에게 도움이되지 않을 수 있습니다.

그러나 좋은 소식은이 gdal세 가지 형식 모두에서 작동 할 수 있다는 것입니다. ArcGrid는 ESRI 바이너리 형식, GridFloat USGS의 DEM 데이터 형식 및 Imagine 소프트웨어를 만드는 Erdas의 IMG 소유입니다. ArcGrid 또는 IMG 형식을 다운로드하여 GeoTIFF로 변환 할 수 있습니다. USGS 자체에는 gdal 다운로드 ( ZIP 파일로 직접 링크)를 기반으로 하는 변환 스크립트 번들이 있습니다. 필요한 리소스를 찾아야합니다.


링크 및 언급 GDAL 주셔서 감사합니다, 그것은 매우 유용 보이는
abnowack

0

.img 파일이 -inf를 빈 공간의 값으로 사용했기 때문에 Kelsey의 답변 이 처음에는 효과가 없었습니다.

나는 줄을 추가하여 이것을 해결했다.

topo[topo<-1000] = 0

1
이것은 원래의 질문에 대한 답이 아니며, 아마도 받아 들여진 대답에 대한
편집일
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.