我已经阅读了 Stack Overflow 上我能找到的每个问题以及我在网络上可以找到的用于将 GeoJSON 矢量切片添加到传单地图的每个示例。不幸的是,我仍然无法理解它,更不用说让它在我的数据上工作了。
\n\n我有一个包含很多点的 GeoJSON(此处)。我可以将它添加为 Leaflet 中的一个图层,因此我确信它是具有真实值的有效文件。
\n\n我尝试过geojson-vt和传单矢量网格。
\n\ngeojson-vt 不断返回错误:
\n Uncaught ReferenceError: z is not defined at <anonymous>:1:30
\n使用以下代码:
geoJson = {data}\nvar tileOptions = {\n maxZoom: 18, \n tolerance: 5, \n extent: 4096,\n buffer: 64, \n debug: 0, \n indexMaxZoom: 0, \n indexMaxPoints: 100000, \n};\nvar tileIndex = geojsonvt(geoJson, tileOptions);\nvar tile = tileIndex.getTile(z, x, y);\nRun Code Online (Sandbox Code Playgroud)\n\n我在诊断这个问题时遇到了很多麻烦,因为我找到的示例都没有显示其数据,而且也没有引用定义 z、x 和 y,并且这些不是 GeoJSON 所需的值目的。我缺少什么?
\n\n从我的另一个问题中我了解到 Leaflet …
我有一个 GeoJSON 简单数据,需要使用 L.CRS.Simple crs 在传单地图上显示,因为它是反子午线数据,有时,坐标可以是 [450,389] (超过 180)
这是非常简单的 GeoJSON:
{
"type": "FeatureCollection",
"name": "entities",
"features": [
{
"type": "Feature",
"properties": {
"Layer": "0",
"SubClasses": "AcDbEntity:AcDbPolyline",
"EntityHandle": "1F9",
"style": "PEN(c:#FF0000)"
},
"geometry": {
"type": "LineString",
"coordinates": [
[
0,
0
],
[
0,
150
],
[
150,
150
],
[
150,
0
],
[
0,
0
]
]
}
}
]
}
Run Code Online (Sandbox Code Playgroud)
使用geojson-vt,(演示页面)我得到这个矩形:

我对 geojson-vt lib 做了一些修改:
投影功能:
function projectX(x, simple, projectionFactor) {
return x / 256 …Run Code Online (Sandbox Code Playgroud) 究竟是什么的minzoom和maxzoom性质上的矢量瓦来源,基于矢量的层中Mapbox-GL-JS的风格吗?该文档是有点短.
我有一个 .osm.pbf 文件,我想用它来生成带有 (.mbtiles) 的矢量切片。
我目前在使用 docker 的 Windows 机器上,我尝试使用工具tilemaker(https://github.com/systemed/tilemaker),尽管我无法让它在我的文件上工作并遇到这样的问题
“抛出‘std::runtime_error’实例后终止调用what():zlib解压缩期间出现异常:(-5)”
我只是想知道是否有其他人能够从所述文件类型生成这些图块,如果可以,您能否提供有关如何执行此操作的低级详细指南,因为我是矢量图块的新手,并且在某些情况下感到困惑。
对于任何感兴趣的人,我使用此代码来运行 docker:
docker run tilemaker tilemaker --input=sud-latest.osm.pbf --output=sud.mbtiles
Run Code Online (Sandbox Code Playgroud)
我必须将tilemaker放置两次,否则它会说它无法打开.osm.pbf,否则