2

(请帮助我三天多来一直在努力解决同样的问题......)

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

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

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

我尝试使用这个文件和 React Leaflet 创建地图,但一直失败。为了确定是否是我使用的 GeoJSON 的问题,我使用了其他 GeoJSON 文件并且它工作正常(意味着交互式地图是在网络上创建的) - 通过比较 GeoJSON 文件,我发现坐标应该在 WGS84如果我想使用传单。所以我尝试使用reproject将 GeoJSON 转换为 WGS84 。在我的反应应用程序项目中,我安装了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?我还尝试使用 mapshaper.org 制作坐标 WGS84。同样,我得到了由 GeoJSON 文件的未定义坐标系引起的错误: Unable to project -- source coordinate system is unknown

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

4

1 回答 1

2

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

于 2020-12-06T09:23:39.660 回答