如何通过经纬度查找海拔数据

12

我正在计划一款应用需要能够根据经纬度查找地理点的海拔高度。理想情况下,我希望找到一个可以全球使用的解决方案,但仅限于美国也可以。我查看了USGS高程查询Web服务,但它只允许您一次查询一个点,而我需要查找几百个,甚至可能多达几千个。我还考虑下载和托管National Elevation Dataset,但它几乎有100GB,而且显然USGS只允许您一次下载1.5 GB。

熟悉GIS的任何人能为我推荐一个好的解决方案吗?我正在寻找尽可能轻量级和简单的东西。我对GIS完全陌生,因此我真的很感谢在何处获取数据、如何存储以及处理数据时如何/使用什么的建议。

提前感谢。

编辑: 仅澄清,我需要的数据点不是预先确定的。它们是由用户选择的任意点(通过与Google Maps混合使用进行交互),因此我确实需要能够查询任何点,而不仅仅是一小部分。

编辑2: 如果没有轻量级或简单的解决方案,我将接受任何可以得到的东西=)


相关:http://gis.stackexchange.com/questions/5932/is-there-an-online-tile-based-elevation-service - user1142217
4个回答

9
我将给您提供在多年的痛苦(如吸取脚本,手动点击等)之后学到的最好的“秘诀”之一。这是一个老派的技巧...与真正的人联系!
获取NED高程数据集的最佳方式是直接联系美国地质调查局的Eros组,电子邮件地址为bulkdatainfo_at_usgs.gov。
您可以发送一个外部驱动器,经过4至8周的时间(通常要少得多),他们将向您发送您请求的整个数据集。
然后使用GDAL以类似于此示例的方式查询您的点。您可能需要阅读GDAL数据模型中的仿射地理转换部分

非常感谢。我下载了一个小的NED文件来测试,但是在将数据加载到postgis中遇到了问题。这些数据似乎是以ArcGrid工作空间的形式存在,而我所找到的关于将数据加载到postgis的唯一信息是使用shp2sql工具将shape文件转换为SQL插入语句。你能给我提供更多关于这一步骤的信息吗? - Bryan
PostGIS支持向量,而您要查询的是栅格。目前在PostGIS中正在进行一些工作以支持WKTRaster类型,但与此同时,GDAL是可行的方法。请参见http://lists.osgeo.org/pipermail/gdal-dev/2008-September/018442.html。 - rburhum
啊,我误解了GDAL的应用...可能是因为这个例子发布在PostGIS邮件列表上 ;) 非常感谢! - Bryan

8

我在研究时偶然发现了这个问题。迄今为止,我没有一个完整简单的答案,但是还有一些未列在答案中的其他选项:


+!SRTM:全球覆盖,免费下载,质量优良! - fmark
GMTED2010是另一个很好的全球数据集。它是GTOPO30数据集的更新版本,包括多个数据集,其中包括SRTM。 - Dominik

1

USGS高程查询Web服务一次只允许一个查询,但它允许您使用SOAP、HTTP GET或HTTP POST进行请求。选择您喜欢的语言并编写脚本为每个数据点生成请求。


我已经尝试过了。它可以工作,但是向USGS服务请求数百个点需要太长时间。这是为Web应用程序设计的,数据将异步加载,但我需要一些能够在几秒钟内给我结果的东西——足够快,以至于用户可以坐下来观看Ajax加载器。 - Bryan
@Bryan,你能否查找所有的点并将它们保存在数据库中? - Chris B
@Chris B,不好意思,请看一下我对问题的编辑。当我提问时,我应该澄清这一点。 - Bryan

-2

我购买了一个GEOIP数据库,并将每个帖子的经纬度数据存储在mysql中。然后,我通过将动态经纬度数据传递给Google MAP来实现Google Map API。我得到的是,所有我的帖子都显示在Google地图上,并且还显示从某个位置最近的帖子。

你需要一个GEOIP数据库,一个基于给定经纬度计算距离的查询,Google API,PHP动态传递API变量。

我的网站示例:Matchimedia.com。


-1,这不是OP所要求的。 - fmark

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接