大型GeoJSON无法使用MapBox GL

时间:2016-11-05 18:45:15

标签: mapbox geojson mapbox-gl mapbox-gl-js

我已经安装了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文档中找到任何大小限制。

有谁知道造成这种情况的原因是什么?

1 个答案:

答案 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并显示在地图上。