PHP-将纬度和经度转换为x和y坐标,无需使用任何库
这个问题已经被问过很多次了,但是我想要的答案可以在php应用程序中使用 我找到的最接近的答案是PHP-将纬度和经度转换为x和y坐标,无需使用任何库,php,google-maps,map,geolocation,latitude-longitude,Php,Google Maps,Map,Geolocation,Latitude Longitude,这个问题已经被问过很多次了,但是我想要的答案可以在php应用程序中使用 我找到的最接近的答案是 int x = (int) ((MAP_WIDTH/360.0) * (180 + lon)); int y = (int) ((MAP_HEIGHT/180.0) * (90 - lat)); 我不需要出示地图什么的。我只需要计算一下 如果我使用上面的公式,地图的宽度和高度应该是多少?地球上没有x和y坐标。最多可以计算x、y和z。请注意,欧几里德距离将穿过地球表面 很明显,任何基于x-y的系统
int x = (int) ((MAP_WIDTH/360.0) * (180 + lon));
int y = (int) ((MAP_HEIGHT/180.0) * (90 - lat));
我不需要出示地图什么的。我只需要计算一下
如果我使用上面的公式,地图的宽度和高度应该是多少?地球上没有
x
和y
坐标。最多可以计算x
、y
和z
。请注意,欧几里德距离将穿过地球表面
很明显,任何基于x-y
的系统都会产生接近极点和接近日期线的完全不准确的结果
保持数据的原样-纬度、经度(和高度,如果有的话)-使用大圆距离而不是计算欧几里得距离。除非你有关于地球实际形状的详细信息,否则你最好用一个球体来近似普通的大圆。而且实际上很容易使用
您希望实现什么目标?地球没有“自然”坐标。X和Y通常用于投影地图,但你刚才说你不想要地图……谁能解释一下标记为负数的原因吗?因为我有一个程序,用X,Y坐标遍历地图,然后告诉附近的城市。如果你计算任意投影的
X
,Y
,欧几里德距离,您的结果将不正确…谢谢您的回答@Anony Mouse。所以现在我需要用lat-long找到附近的城市。