问题标签 [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.

0 投票
1 回答
316 浏览

python - 使用 mapbox-tile-copy 将 geojson 文件转换为矢量切片的问题

因此,我尝试按照以下网址的 mapbox-tile-copy 自述文件中的说明进行操作:https ://github.com/mapbox/mapbox-tile-copy

现在我在geojson文件所在的项目根目录中,并且存在一个名为tester的文件夹,我希望将矢量图块保存在其中。我尝试运行以下命令,这似乎应该可以工作:

但这给出了错误:

我不确定它在这里抱怨什么。我猜 geojson 文件类型是未知的,但 mapbox-tile-copy 明确表示他们支持 geojson 并给出了它的工作示例。可能是geojson文件的结构不正确还是什么?谢谢

0 投票
1 回答
124 浏览

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

https://github.com/locationtech/geotrellis/blob/master/vector/src/main/scala/geotrellis/vector/io/json/FeatureFormats.scala#L41-L49

我的问题是这样的:

我已经完成了vectorpipe代码(https://github.com/geotrellis/vectorpipe),我无法确定数据是否/在哪里以GeoJson的形式存在,我可以覆盖和注入id,也许使用我明确写的writeFeatureJsonWithID()或东西。许多转换是隐式的,但它也可能永远不会显式地以 json 格式存在。

关于如何id将最终 GeoJson 中的字段写入矢量图块的任何想法?

编辑

现在我认为诀窍是找到一种方法来覆盖.unfeature()这里的方法:

https://github.com/locationtech/geotrellis/blob/master/vectortile/src/main/scala/geotrellis/vectortile/Layer.scala

问题是它internal.vector_tile.Tile是私有的,所以我可以在不分叉项目的情况下构建它。

0 投票
1 回答
760 浏览

mapbox-gl-js - GeoServer 矢量瓷砖在 Mapbox GL JS 中显示瓷砖边界问题

我使用 GeoServer 将我的自行车道的矢量瓷砖(基于 GeoServer 矢量瓷砖扩展)提供为 .pbf。数据作为矢量源添加并使用 Mapbox GL JS 进行可视化。此外,我使用 GeoServer 垂直偏移来偏移线(因为我总是有两个方向的自行车道)。

在 Mapbox 中可视化数据时出现问题。尽管使用 GeoServer 上的图层预览可以正确显示线条,但线条在瓷砖边缘处被切割。我将地图放大得越远,线条的剪裁就越少,并且在非常详细的缩放下,线条被正确绘制。

我已经尝试使用足够大的缓冲区并修改图块大小,因为这些是研究问题时的建议。不幸的是,这些设置没有效果。我有另一个用于底图的矢量源层,我没有问题。在我看来,抵消线条可能是一个问题。

在此处输入图像描述

知道我可以尝试什么吗?

0 投票
0 回答
277 浏览

openlayers - PostGIS mapbox 矢量切片和自定义投影

我正在尝试使用 PostGIS(ST_AsMVTGeom,ST_AsMVT)为 OpenLayers(512x512 瓦片网格)生成地图框矢量瓦片。但是对于许多缩放级别,我得到了过于简单的几何图形。

看起来我不能将那些 PostGIS 函数用于自定义投影(自定义平铺网格),这与 web-mercator 不同。有时我使用没有任何众所周知的坐标系统的原始 3D 模型数据。我能做些什么?我使用 C# 作为后端。

0 投票
0 回答
957 浏览

rendering - 如何从头开始渲染 .mvt 或 .vector.pbf 文件中的数据?

我注册了 Mapbox 矢量切片服务,我注意到它们以 .mvt 和 .vector.pbf 格式提供地图数据。

我试图用普通的文本编辑器打开这些文件并阅读它们,以查看结构并找到一种方法来使用 javascript/html 绘图功能绘制地图的某些部分。但是,文件数据对我来说似乎不可读。

如何解析这些文件,以及如何使用它们的内容绘制简单的地图?(我在这里阅读了 .MVT 规范https://docs.mapbox.com/vector-tiles/specification,但我找不到任何解决方案)

请注意,我想从头开始,而不使用 mapbox-js 或 Leaflet 库。

0 投票
0 回答
300 浏览

leaflet - 如何在 Leaflet 中删除矢量瓷砖瓷砖边界

我使用传单加载 vt 瓦片,数据几何类型是多边形。我发现加载时,这将在瓦片之间显示一条线。那么如何去除这个边界线呢? 瓦片边界

也许这是Geoserver的问题,我曾经发布过pbf vt。

0 投票
1 回答
146 浏览

polygon - 使用边界线将多边形几何切割为矢量切片

就像我在How to remove vector tiles tile bounding in Leaflet中所说的以及在https://github.com/Leaflet/Leaflet.VectorGrid/issues/120中所说的那样。但我想知道如何解决这个问题。我正在使用 geoserver 2.15 来切割矢量切片。

0 投票
0 回答
377 浏览

node.js - 如何在 openlayers 中正确添加矢量切片?

我的 openlayer 在错误的位置显示矢量图块。我正在使用 Node.js 并在 openlayer 中添加 geojson 格式的矢量切片,但是 URL 中返回的切片 xyz 不正确,我该怎么办?

我添加了 tilegrid 但似乎没有什么区别。

这是我的代码:

0 投票
0 回答
282 浏览

vector - Mapnik 矢量平铺样式

我正在尝试使用 Mapnik 构建自己的矢量切片服务器。现在,我使用 Tilemill 创建了一个 XML 样式并将其导出以包含在 Mapnik 节点服务器中。

下面是服务器的代码来渲染.mvt瓷砖。

我还创建了一个带有leaflet.vectorgrid用于渲染矢量图块的插件的传单地图。该http://localhost:8080/tiles/{z}/{x}/{y}.mvt请求返回瓷砖,但没有任何样式。只有蓝线,如下面的屏幕截图所示。

在此处输入图像描述

我发现我可以使用 Vector grid 插件来设置瓷砖的样式。但我想知道是否可以从服务器预渲染样式。在 Tilemill 我创建了一种样式,但似乎 Mapnik 没有在.mvt响应中包含这种样式。

是否可以预渲染地图样式?希望有人能帮忙!

0 投票
1 回答
687 浏览

openlayers - OpenLayers 6 - 添加第二个矢量切片图层会导致基础图层标签消失

我正在使用 OpenLayers 6 将两个 MVT 平铺源显示为两层。基础图层具有来自本地服务的 MVT 源,为 OpenMapTilesmbtile文件提供服务,使用文件osm-bright提供的样式。第二个来源是来自 Tegola 服务的 MVT 层。

仅显示基础图层时,会正确渲染基础地图标签。添加第二个图层后,基本地图标签将不再显示。

这是一个错误,还是需要应用其他一些设置?