如何将没有 crs 属性 的 GeoJSON 重新投影到 WGS84(使用 React Leaflet)

How to Reproject GeoJSON without crs property to WGS84 (to use React Leaflet)

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

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

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

这是一个没有名为“crs”的成员的 GeoJSON 对象,如您所见,它没有使用 WGS84 数据。好像是画多边形的坐标,也就是各个区的形状。我假设数据结构没有问题。

我尝试通过 React Leaflet 使用此文件创建地图,但一直失败。为了查明是否是我使用的 GeoJSON 的问题,我使用了其他 GeoJSON 文件并且它工作正常(意味着交互式地图是在网络上创建的) - 通过比较 GeoJSON 文件,我发现坐标 应该在 WGS84 中,如果我想使用传单。所以我尝试使用 reproject 将 GeoJSON 转换为 WGS84。在我的 React 应用程序项目中,我安装了 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 转换为 WGS84 的方法,而是访问了国家统计局的网站以找出 src 数据中使用的坐标系代码 - 这是 EPSG 5179。然后我从 EPSG 转换了 GeoJSON 文件MyGeoData Converter 上的 5179 到 EPSG 4326(WGS84)。下载转换后的数据之前,我在地图上查看数据坐标是否成功转换为正确的经纬度值。希望这个解决方案可以帮助那些正在努力解决类似问题的人..‍