问题标签 [vector-tiles]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 使用 mapbox-tile-copy 将 geojson 文件转换为矢量切片的问题
因此,我尝试按照以下网址的 mapbox-tile-copy 自述文件中的说明进行操作:https ://github.com/mapbox/mapbox-tile-copy
现在我在geojson文件所在的项目根目录中,并且存在一个名为tester的文件夹,我希望将矢量图块保存在其中。我尝试运行以下命令,这似乎应该可以工作:
但这给出了错误:
我不确定它在这里抱怨什么。我猜 geojson 文件类型是未知的,但 mapbox-tile-copy 明确表示他们支持 geojson 并给出了它的工作示例。可能是geojson文件的结构不正确还是什么?谢谢
scala - scala for mapbox vector tiles - 将“id”字段放入写入矢量切片的功能中
我正在使用 geotrellis vectorpipe 编写 MapBox 矢量图块。
有关基本流程,请参见此处:https ://geotrellis.github.io/vectorpipe/usage.html
通常 GeoJson Features 可以有一个id
字段,以便可以将 Features 汇总到 FeatureCollections 中。我需要使用这个字段,但是vectorpipe(本机)没有这个功能。
这是使用的Feature
类型,您可以看到它只有 1) aGeometry
和 2) 数据对象D
(最终填充properties
到输出中)的空间。没有位置id
。
https://geotrellis.github.io/scaladocs/latest/index.html#geotrellis.vector.Feature
上游有一个名为的方法writeFeatureJsonWithID()
,它可以让您在编写 GeoJson 时将id
字段注入到 a中。Feature
我的问题是这样的:
我已经完成了vectorpipe代码(https://github.com/geotrellis/vectorpipe),我无法确定数据是否/在哪里以GeoJson的形式存在,我可以覆盖和注入id
,也许使用我明确写的writeFeatureJsonWithID()
或东西。许多转换是隐式的,但它也可能永远不会显式地以 json 格式存在。
关于如何id
将最终 GeoJson 中的字段写入矢量图块的任何想法?
编辑
现在我认为诀窍是找到一种方法来覆盖.unfeature()
这里的方法:
问题是它internal.vector_tile.Tile
是私有的,所以我可以在不分叉项目的情况下构建它。
mapbox-gl-js - GeoServer 矢量瓷砖在 Mapbox GL JS 中显示瓷砖边界问题
我使用 GeoServer 将我的自行车道的矢量瓷砖(基于 GeoServer 矢量瓷砖扩展)提供为 .pbf。数据作为矢量源添加并使用 Mapbox GL JS 进行可视化。此外,我使用 GeoServer 垂直偏移来偏移线(因为我总是有两个方向的自行车道)。
在 Mapbox 中可视化数据时出现问题。尽管使用 GeoServer 上的图层预览可以正确显示线条,但线条在瓷砖边缘处被切割。我将地图放大得越远,线条的剪裁就越少,并且在非常详细的缩放下,线条被正确绘制。
我已经尝试使用足够大的缓冲区并修改图块大小,因为这些是研究问题时的建议。不幸的是,这些设置没有效果。我有另一个用于底图的矢量源层,我没有问题。在我看来,抵消线条可能是一个问题。
知道我可以尝试什么吗?
openlayers - PostGIS mapbox 矢量切片和自定义投影
我正在尝试使用 PostGIS(ST_AsMVTGeom,ST_AsMVT)为 OpenLayers(512x512 瓦片网格)生成地图框矢量瓦片。但是对于许多缩放级别,我得到了过于简单的几何图形。
看起来我不能将那些 PostGIS 函数用于自定义投影(自定义平铺网格),这与 web-mercator 不同。有时我使用没有任何众所周知的坐标系统的原始 3D 模型数据。我能做些什么?我使用 C# 作为后端。
rendering - 如何从头开始渲染 .mvt 或 .vector.pbf 文件中的数据?
我注册了 Mapbox 矢量切片服务,我注意到它们以 .mvt 和 .vector.pbf 格式提供地图数据。
我试图用普通的文本编辑器打开这些文件并阅读它们,以查看结构并找到一种方法来使用 javascript/html 绘图功能绘制地图的某些部分。但是,文件数据对我来说似乎不可读。
如何解析这些文件,以及如何使用它们的内容绘制简单的地图?(我在这里阅读了 .MVT 规范https://docs.mapbox.com/vector-tiles/specification,但我找不到任何解决方案)
请注意,我想从头开始,而不使用 mapbox-js 或 Leaflet 库。
polygon - 使用边界线将多边形几何切割为矢量切片
就像我在How to remove vector tiles tile bounding in Leaflet中所说的以及在https://github.com/Leaflet/Leaflet.VectorGrid/issues/120中所说的那样。但我想知道如何解决这个问题。我正在使用 geoserver 2.15 来切割矢量切片。
node.js - 如何在 openlayers 中正确添加矢量切片?
我的 openlayer 在错误的位置显示矢量图块。我正在使用 Node.js 并在 openlayer 中添加 geojson 格式的矢量切片,但是 URL 中返回的切片 xyz 不正确,我该怎么办?
我添加了 tilegrid 但似乎没有什么区别。
这是我的代码:
vector - Mapnik 矢量平铺样式
我正在尝试使用 Mapnik 构建自己的矢量切片服务器。现在,我使用 Tilemill 创建了一个 XML 样式并将其导出以包含在 Mapnik 节点服务器中。
下面是服务器的代码来渲染.mvt
瓷砖。
我还创建了一个带有leaflet.vectorgrid
用于渲染矢量图块的插件的传单地图。该http://localhost:8080/tiles/{z}/{x}/{y}.mvt
请求返回瓷砖,但没有任何样式。只有蓝线,如下面的屏幕截图所示。
我发现我可以使用 Vector grid 插件来设置瓷砖的样式。但我想知道是否可以从服务器预渲染样式。在 Tilemill 我创建了一种样式,但似乎 Mapnik 没有在.mvt
响应中包含这种样式。
是否可以预渲染地图样式?希望有人能帮忙!
openlayers - OpenLayers 6 - 添加第二个矢量切片图层会导致基础图层标签消失
我正在使用 OpenLayers 6 将两个 MVT 平铺源显示为两层。基础图层具有来自本地服务的 MVT 源,为 OpenMapTilesmbtile
文件提供服务,使用文件osm-bright
提供的样式。第二个来源是来自 Tegola 服务的 MVT 层。
仅显示基础图层时,会正确渲染基础地图标签。添加第二个图层后,基本地图标签将不再显示。
这是一个错误,还是需要应用其他一些设置?