嗨,我想播放多个hgt文件时遇到问题。
当我有一张地图时,这不是问题。例如对于2D地图,我可以记住顶点
vec2(i,j)*vec2(0.01,-0.01)

但是我需要一张以上的地图。我需要使用等角投影
所以我的问题是如何将i,j位置从hgt文件转换为经度和纬度。
我的想法是,如果我们有文件N45E016。

x = 44 + i/1201;
y = 16 + j/1201;


但是我认为这是错误的。因为x取决于y;
在得到x和y之后,我就可以计算等角投影。
所以我的问题是如何更好地做到这一点。

最佳答案

尝试这个:

x = xmin + dx * i / (w - 1)
y = ymin + dy * j / (h - 1)


与:

dx = xmax - xmin
dy = ymax - ymin


xminxmax是最小/最大磁贴的经度(hgt文件),
yminymax是最小/最大瓷砖的纬度,
wh是图块的宽度和高度(沿经度/纬度轴的采样数)。

您可能必须略微调整建议的公式,具体取决于样本是否沿图块边界重复。

关于c++ - 如何在二维 map 中显示多个hgt,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21067133/

10-11 19:33