【发布时间】: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 项目中,我安装了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? 我也尝试过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