Answers:
使用GDAL绑定,可以直接在python中直接使用IMG文件。例如,您可以将数据直接读取到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数组进行采样。
National Map Viewer曾经使用不同的软件平台,这使得在选择图块后将数据转换为GeoTIFF成为可能。一些区域数据提供商也确实喜欢GeoTIFF。但这可能对您没有帮助。
但是,好消息是gdal
能够使用所有这三种格式。ArcGrid是ESRI二进制格式,GridFloat USGS的DEM数据格式以及制造Imagine软件的Erdas专有的IMG。我可能会下载ArcGrid或IMG格式,然后转换为GeoTIFF:USGS本身有大量的转换脚本gdal
供下载(直接链接到ZIP文件)。您应该在那里找到所需的资源。