我已经安装了MapBox GL JS,但它不会加载一个大的(~75MB)GeoJSON文件。控制台不会抛出任何错误,但地图上没有任何内容。无法使用的文件位于here。
该脚本对this one等较小的文件没有任何问题。它正确加载并突出显示。
我的代码很简单(适用于较小的数据集):
map.addSource('plutodata', {
type: 'geojson',
data: 'http://173.254.28.39/~keggera1/ReoGeo/data/MNMapPLUTO.geojson'
});
map.addLayer({
id: 'pluto-fills',
type: 'fill',
source: 'plutodata',
layout: {},
paint: {
'fill-color': '#627BC1',
'fill-opacity': 0.5
}
});
我没有检测到geojson编码的任何错误,我无法在MapBox文档中找到任何大小限制。
有谁知道造成这种情况的原因是什么?
答案 0 :(得分:1)
这是一个数据问题:如果您查看较小文件的来源pluto.geojson
,您会看到:
[-74.002537,40.733446],[-74.002543,40.733446],[-74.002547,40.733446],
这些是经度,纬度坐标,符合GeoJSON标准的要求。如果你看MNMapPLUTO.geojson
[[[997277.2344000041,221816.0936000049],[997300.0160000026,221803.44499999285],[997288.5119999945,221782.6930000037],[997286.4176000059,221778.9143999964],[997197.0333999991,221828.3980000019]
这些坐标远远超出经度,纬度范围。您需要将此数据投影到WGS84基准面(经度,纬度单位),以使其成为有效的GeoJSON并显示在地图上。