这种类型的问题似乎已经被问过很多次了,但是发布的解决方案都没有让我接近我需要的答案。
我有这张新西兰北国地图,我想将纬度/经度值映射到该图像上的 x/y(像素)值(https://i.stack.imgur.com/3ok4O.gif - 这是400 像素正方形)
现在我不知道该图像的精确纬度/经度边界,但我确实有一些示例数据,这些数据对于知道自己在做什么的人应该有用。
LAT LONG X Y
-35.3989854471 173.504676819 192.92777494 196.760481649
-35.2647882735 174.121499062 271.426291418 176.82865668
-35.3131641432 173.89125824 242.099305271 183.945780963
我现在收到的数据只是纬度/经度,因此我需要能够在应用程序中生成 x 和 y 值。
任何人都可以帮我编写创建这些 x/y 值所需的方法/逻辑。
谢谢你!
在 JavaScript 中....
var lat=-35.3989854471;
var long=173.504676819;
var imageNorthLat=???;
var imageSouthLat=???;
var imageWestLong=???;
var imageEastLong=???;
var imageLongPixels=400;
var imageLatPixels=400;
var pixelsPerLat=imageLatPixels/(imageNorthLat-imageSouthLat);
var pixelsPerLong=imageLongPixels/(imageEastLong-imageWestLong);
var xPixelPosition=(long-imageWestLong)*pixelsPerLong;
var yPixelPosition=Math.abs(lat-imageNorthLat)*pixelsPerLat;
我没有尝试运行这个,所以可能需要一些调试,并且 x 和 y 像素位置必须添加到左上角或地图的 x 和 y 位置。但你可以看到这个想法。当然,我可能不明白你真正想问的是什么。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)