我有一个很大的 geoJson 文件(将近 700MB),我需要使用 mapbox 和 openmaptiles 服务器将它加载到我的地图中。我需要有一个外部文件,所以我不能使用 Mapbox Studio 上传和转换数据。
我不能使用geojson2mvt,因为文件很大并且超出了内存堆。因此,我使用 Tippecanoe 将其转换为 .Mbtiles。但是,我不能在 mapbox 中使用这种格式。我按照以下步骤将 Mbtiles 转换为 .mvt:
安装tippecanoe(https://github.com/mapbox/tippecanoe)并生成mbtiles:
tippecanoe -o mbt_file.mbtiles -z18 input_file.geojson -pC
安装 mb-util( https://github.com/mapbox/mbutil ) 并将 mbtiles 转换为 mvt tile:
./mbutil/mb-util mbt_file.mbtiles mvt_dir --image_format=pbf
现在所有文件的格式都正确,但您必须更改它们的扩展名:
find mvt_dir -iname "*.pbf" -exec bash -c 'mv "$0" "${0%\.pbf}.mvt"' {} \;
该文件已成功转换为 .mvt,但是当我尝试将其加载到我的地图中时,它显示以下错误:
blob:null/e1d9d487-dfa4-48b1-aa0e-b66527f28ac8:11754 Uncaught Error: Unimplemented type: 3
at No.skip (blob:null/e1d9d487-dfa4-48b1-aa0e-b66527f28ac8:11754)
at No.readFields (blob:null/e1d9d487-dfa4-48b1-aa0e-b66527f28ac8:11574)
at new Za (blob:null/e1d9d487-dfa4-48b1-aa0e-b66527f28ac8:9948)
at $a (blob:null/e1d9d487-dfa4-48b1-aa0e-b66527f28ac8:9964)
at No.readFields (blob:null/e1d9d487-dfa4-48b1-aa0e-b66527f28ac8:11573)
at new VectorTile (blob:null/e1d9d487-dfa4-48b1-aa0e-b66527f28ac8:9978)
at blob:null/e1d9d487-dfa4-48b1-aa0e-b66527f28ac8:14432
at XMLHttpRequest.T.r.onload (blob:null/e1d9d487-dfa4-48b1-aa0e-b66527f28ac8:416)
有人可以帮我解决这个问题吗?或者有什么方法可以显示我的大型 geojson 文件?
谢谢!