大型 GeoJSON 无法使用 MapBox GL

Large GeoJSON not working w/ MapBox GL

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

有人知道是什么原因造成的吗?

这是一个数据问题:如果您查看较小文件 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 并显示在地图上。