GeoJson要素坐标以米为单位,而不是[lng,lat]。如何在谷歌地图上显示?

时间:2019-12-28 07:06:01

标签: google-maps geojson shapefile

例如:[360590,555610]-[lng,lat]以距离Google Map API的米为单位 -GeoJson数据

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "type": "MultiPolygon",
        "coordinates": [
          [
            [
              [
                360590,
                555610
              ],
              [
                360590,
                555555.0128
              ],
              [
                360590,
                555540
              ],
              [
                360592.4439,
                555540
              ],
              [
                360600,
                555540
              ],
              [
                360600,
                555518.8277
              ]
            ]
          ]
        ]
      }
    }
  ]
}

在这里[360590,555610]-[X,Y]坐标以米为单位,现在我们需要在Google地图上显示此坐标,对此有什么解决方案吗?

我们还必须使用addGeoJson或loadGeoJson方法,因为GeoJson文件中有200MB的数据。 现在我们需要在Google地图上显示此坐标,对此有什么解决方案吗?

2 个答案:

答案 0 :(得分:1)

Mapbox有一个Utility class,可以为您执行米到纬度/经度的转换:

public static Vector2d MetersToLatLon(Vector2d m)

将xy米的球形墨卡托EPSG:900913转换为WGS84纬度/经度。

public static Vector2d LatLonToMeters(Vector2d v)

Vector2d结构,WGS84纬度/经度转换为球形墨卡托EPSG:900913 xy米。

如果您希望自己进行转换,则可以使用简单方法:

  • 假定地球是一个圆周为40,075 km的球体。
  • 纬度1度的米长度始终为111.32公里
  • 经度1度的长度= 40,075 km * cos(latitude) / 360

答案 1 :(得分:1)

您确定这些坐标在米内吗?

可能是EPSG:27700或EPSG:4326,所以您可以尝试使用它。

和您此链接 QGIS 转换坐标,这可能对您有用。