【问题标题】:How to Reproject GeoJSON without crs property to WGS84 (to use React Leaflet)如何将没有 crs 属性的 GeoJSON 重新投影到 WGS84(使用 React Leaflet)
【发布时间】:2021-03-17 17:43:21
【问题描述】:

(请帮助我已经为同样的问题苦苦挣扎了三天多...????)

我从国家统计局得到了 GeoJSON 文件,这意味着它是官方数据-并且该文件中的坐标如下所示-:

[959394.1770449197,1948599.8772112513], 
... ,
[1140386.5164449196,1684523.5489112514], 

它是一个没有名为“crs”的成员的 GeoJSON 对象,如您所见,它没有使用 WGS84 基准。似乎是绘制多边形的坐标,即每个区域的形状。我假设数据结构没有问题。

我尝试使用这个文件和 React Leaflet 创建地图,但一直失败。为了确定是否是我使用的 GeoJSON 的问题,我使用了其他 GeoJSON 文件并且它工作正常(意味着交互式地图是在网络上创建的) - 通过比较 GeoJSON 文件,我发现坐标 应该如果我想使用传单,请加入 WGS84。所以我尝试使用reproject 将 GeoJSON 转换为 WGS84。在我的 react app 项目中,我安装了reprojectepsg,并将代码放在下面:

import * as mapData from '../data/sigunguWithPopGeo.json'
import { toWgs84 } from 'reproject'
import 'epsg'

let epsg = require('epsg');
toWgs84(mapData, undefined, epsg);

并返回错误:

Error: Unable to detect CRS, GeoJSON has no "crs" property.

感谢您阅读这篇长篇介绍 - 最后是我的问题。 有没有办法将没有“crs”属性的 GeoJSON 重新投影到 WGS84? 我也尝试过making the coordinates WGS84 with mapshaper.org。同样,我得到了由 GeoJSON 文件的未定义坐标系引起的错误: Unable to project -- source coordinate system is unknown

我应该考虑将 crs 属性添加到 GeoJSON 吗?这是我第一次使用 GeoJSON 和 React-leaflet 创建交互式地图,所以任何有类似项目经验的人的建议都会对我有帮助!

【问题讨论】:

    标签: geojson react-leaflet map-projections wgs84 epsg


    【解决方案1】:

    幸运的是,我自己解决了这个问题..! 我没有继续寻找将具有未定义坐标系的 GeoJSON 转换为 WGS84 的方法,而是访问了国家统计局的网站以找出在 src 数据中使用的坐标系代码 - 这是 EPSG 5179。然后我从 EPSG 转换了 GeoJSON 文件5179 到 MyGeoData Converter 上的 EPSG 4326(WGS84)。在下载转换后的数据之前,我在地图上查看了数据的坐标是否已成功转换为正确的 lat、lng 值。希望这个解决方案可以帮助那些正在努力解决类似问题的人..?‍?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-12
      • 1970-01-01
      • 2015-09-08
      • 1970-01-01
      • 2021-05-15
      • 2017-08-03
      • 1970-01-01
      相关资源
      最近更新 更多