根据高程数据在C#中创建高度图

时间:2014-04-09 03:23:09

标签: heightmap

我最近来到了一个网站 http://www.daftlogic.com/sandbox-google-maps-find-altitude.htm

它给出了任何地球位置的每个点的高程数据。 现在我想用C#构建一个桌面应用程序,使用google maps api或其他方式,用户将搜索该位置,并显示该位置的图像,用户可以放大或缩小并选择所需区域。选择后,该工具将获得所选区域中每个点的高程数据,并在该点创建相应的颜色,因此最高点将为白色,最低点将为黑色,然后将数据转换为图像格式。所以,如果我能做到这一点,我基本上可以在几秒钟内创建高度图。

谁能告诉我如何实现这一目标?我不知道如何获取所选区域中每个点的高程数据,以及如何根据该数据计算和创建彩色图像。

感谢。

1 个答案:

答案 0 :(得分:0)

我已经查看了您已粘贴的Google地址。我在这里的答案并不完全是这样,但它可能会让你了解海拔是如何工作的。与许多其他网站一样,谷歌使用DEM地图(数字高程地图:http://en.wikipedia.org/wiki/Digital_elevation_model),这是某个区域的光栅化图像,其中每个像素代表来自卫星/航天飞机的真实样本(或之间的插值)两个采样点)。 这些地图非常庞大,取决于采样频率。对于地球的某些区域,采样区域非常密集,而其他区域则更稀疏。美国有最好的细节。 如果您想下载免费的DEM,这是一个很好的起点:http://srtm.csi.cgiar.org/SELECTION/inputCoord.asp

您可以下载要包含在应用程序中的区域的每个部分的样本,将数据转换为数据库(纬度,经度,海拔高度),让应用程序查询数据库并返回一组像素可以根据您的高度范围绘制不同的颜色。

希望这有帮助