编程语言
首页 > 编程语言> > PHP-将经/纬度转换为像素X&Y坐标

PHP-将经/纬度转换为像素X&Y坐标

作者:互联网

这类问题似乎已经被问过无数次了,但是发布的任何解决方案都无法使我接近所需的答案.

我有这张新西兰北地的地图,我想将纬度/经度值映射到此图像上的x / y(像素)值(http://i.stack.imgur.com/3ok4O.gif- 400px平方)

现在,我不知道该图像的精确纬度/经度边界,但是我确实有一些示例数据,这些数据对于知道自己在做什么的人应该是有用的.

  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位置.但是您可以看到这个想法.而且,当然,我可能还没有理解您的真正要求.

标签:coordinates,latitude-longitude,geocode,javascript,php
来源: https://codeday.me/bug/20191102/1990530.html