嗨,我想播放多个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
xmin
,xmax
是最小/最大磁贴的经度(hgt文件),ymin
,ymax
是最小/最大瓷砖的纬度,w
,h
是图块的宽度和高度(沿经度/纬度轴的采样数)。您可能必须略微调整建议的公式,具体取决于样本是否沿图块边界重复。
关于c++ - 如何在二维 map 中显示多个hgt,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21067133/