(请帮助我三天多来一直在努力解决同样的问题......)
我从国家统计局获得了 GeoJSON 文件,这意味着它是官方数据-并且该文件中的坐标如下所示-:
[959394.1770449197,1948599.8772112513],
... ,
[1140386.5164449196,1684523.5489112514],
它是一个没有名为“crs”的成员的 GeoJSON 对象,如您所见,它没有使用 WGS84 基准。似乎是绘制多边形的坐标,即每个区域的形状。我假设数据结构没有问题。
我尝试使用这个文件和 React Leaflet 创建地图,但一直失败。为了确定是否是我使用的 GeoJSON 的问题,我使用了其他 GeoJSON 文件并且它工作正常(意味着交互式地图是在网络上创建的) - 通过比较 GeoJSON 文件,我发现坐标应该在 WGS84如果我想使用传单。所以我尝试使用reproject将 GeoJSON 转换为 WGS84 。在我的反应应用程序项目中,我安装了reproject
,epsg
并将代码放在下面:
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 创建交互式地图,所以任何经历过类似项目的人的建议都会对我有所帮助!