【问题标题】:Importing GeoJSON into leaflet with coordinates n CRS epsg:3857将 GeoJSON 导入带有坐标 n CRS epsg:3857 的传单
【发布时间】:2014-08-26 05:27:59
【问题描述】:

请多多包涵,因为我对整个地图的东西还很陌生

我有一个 geojson 文件,其坐标为 epsg:3857 格式

{"name":"2011","type":"FeatureCollection"
,"crs":{"type":"name","properties":{"name":"EPSG:3857"}}
,"features":[{  "type":"Feature",
        "geometry": {"type":"Polygon", "coordinates":[[[16455748.301877,-4074559.33797376],[16455757.520912,-4074683.80559603],[16455834.5041285,-4074749.65646613]]]},
        "properties":{"CODE":"LGA12200","LGA_NAME":"Cootamundra (A)","STATE_CODE":"1","STATE_NAME":"New South Wales","AREA_SQKM":1523.75245790713}
    }
    ]
}

当我使用 L.geojson(....) 将其导入传单时,多边形是在地图之外形成的... 我知道这是因为坐标在 EPSG:3857..

导入时如何将它们转换为经纬度坐标?

geojson 文件中有大约 100 个特征

我导入 json 文件的代码是:

$.getJSON("js/output1.json", function (data) {

    // create geojson object
    L.geoJson(data).addTo(map);
}

【问题讨论】:

    标签: javascript leaflet geojson


    【解决方案1】:

    您应该在使用 L.geojson 导入坐标之前转换坐标。找到一种进行这种转换的算法,为您的 geoJSON 创建一个解析器,并使用转换后的坐标生成一个新的解析器。然后用 L.geoJson 加载它们。

    当然,您应该在服务器端执行此操作,但如果您只有 geoJSON 文件,则可以这样做。

    【讨论】:

    • 在我导入坐标之前,有没有一种简单的方法可以转换坐标?喜欢将一种坐标类型的geojson转换为另一种类型的程序吗?
    • 我真的不知道geoJSON的转换器是否存在,但我总是用自己的转换器做这些事情。您有可以转换坐标的算法,只需创建一个解析器并浏览您的 geoJSON 文件,调用转换函数,然后使用更改后的坐标创建一个新的 geoJSON。如果找不到转换器,这就是我会做的。编写该代码应该不会花很长时间。
    【解决方案2】:

    在 QGIS 中上传您的地理文件,然后将投影切换到投影为 EPSG:3857。 在geoJson中重新保存geo-file,

    【讨论】:

      猜你喜欢
      • 2016-09-28
      • 2021-12-23
      • 2020-04-06
      • 2019-06-04
      • 2021-12-18
      • 2021-12-21
      • 2022-08-22
      • 1970-01-01
      相关资源
      最近更新 更多