openlayers坐标格式为经度,纬度(十进制)

时间:2013-06-08 19:02:35

标签: geolocation openlayers geocoding

我来自以Openlayers格式放置的webservice坐标?

坐标看起来像(在荷兰):

    X = 217382.52712700056
    Y = 576653.00667405012

我想将它们转换为经度/纬度(十进制格式),如5.34343,51.34356

我认为它是采用球形墨卡托米的格式。我使用这个formule来转换它。但结果毫无意义。

Dim mercX As Double = 217382.52712700056
Dim mercY As Double = 576653.00667405012
Dim rMajor As Integer = 6378137
Dim shift As Double = Math.PI * rMajor
Dim lon As Double = mercX / shift * 180.0
Dim lat As Double = mercY / shift * 180.0
lat = 180 / Math.PI * (2 * Math.Atan(Math.Exp(lat * Math.PI / 180.0)) - Math.PI / 2.0)

希望有人可以帮助我......

1 个答案:

答案 0 :(得分:1)

如果这些值来自OpenLayers(我假设你从google或bing等一些底图中获得它们,那么球形的mercator),它们应该以米为单位,基于EPSG:900913(或EPSG:3857)。无论如何,知道你是如何获得这些价值的,这将是一件好事。我试过这个网:

http://cs2cs.mygeodata.eu/

但输出是:

longitude = 1.95278046619
latitude = 5.17311926477

也没有任何意义。我附上了一张图片,告诉你我做了什么。

希望这有帮助,

enter image description here