问题标签 [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 投票
0 回答
417 浏览

c# - GMap.NET 有自己的矢量地图瓦片服务器

我正在寻找一种将矢量地图图块与 Gmap.net 一起使用的方法,以便可以轻松地对它们进行样式设置和离线存储。有一个很棒的项目,用于 WinForms 的 VectorTileRenderer ( https://github.com/AliFlux/VectorTileRenderer ),它支持 Mapbox/Openmaptiles 矢量切片规范。他们提供了使用 MBTiles 文件作为 GMap.net 提供程序的演示:

是否可以使用矢量切片服务器(例如 Mapbox Vector Tiles API)作为提供者?我对此非常陌生,但我认为 GMap.net 处理给定 URL 结构的图块的检索。Mapbox 的一个是:/v4/{tileset_id}/{zoom}/{x}/{y}{@2x}.{format}. 不过,我不确定如何将 URL 与 VectorTilesRenderer 一起使用。

0 投票
0 回答
490 浏览

openlayers - 开放层。矢量瓷砖,边缘的样式特征

我正在将简单样式应用于 VectorTile 图层。特征加载并以所述样式显示。

我面临的问题是落入瓦片边缘(或接近)的特征似乎在瓦片限制处被“切割”。

在此处输入图像描述

我尝试declutter: true在定义中使用该选项ol.layer.VectoTile,这有帮助,但某些功能消失了(好像它正在进行一些聚类),对于我的用例,即使图标出现在顶部,我也需要查看所有功能另一个。

在此处输入图像描述

我不太明白为什么会发生这种情况,因为样式是在客户端而不是在服务器上完成的。

有没有办法可以使用 VectorTiles 完成这项工作?

我正在使用的代码:


更多信息:源数据存储在带有 PostGIS 扩展的 PostgreSQL 数据库中。GeoServer 生成矢量切片并通过 TMS 服务交付它们


编辑:我发现问题是因为图层的默认样式是自定义样式,它使用外部图像作为图标:

将默认样式设置为默认“点”解决了这个问题。但我不知道为什么在使用 Vector Tiles 时它不会使用默认的服务器样式,而是客户端提供的样式 有人能解释一下为什么 GeoServer 会发生这种情况吗?

0 投票
1 回答
1572 浏览

leaflet - 如何在 Leaflet 中为磁贴请求添加自定义授权标头

我正在使用Leaflet.VectorGrid插件在传单地图上加载 pbf 矢量图块。我检索矢量切片的 API 需要传递授权标头。在 Mapbox GL js 中,这可以通过使用transformRequest选项来解决。例子:

如何在 Leaflet 中做类似的事情来绕过我收到的 401 授权消息?

对于插件中的参考矢量图层构造函数:

0 投票
0 回答
650 浏览

leaflet - Unimplemented Type 4 error when styling leaflet vector tiles

I am trying to style the vector tiles on leaflet using vector grid plugin. The vector tiles are coming from my own server.

However when I try to specify the style using vector grid plugin, I get an error unimplemented type 4

How could I get rid of this error? Any plugin links or documentation will be really helpful!

Thanks

0 投票
0 回答
239 浏览

leaflet - 在反应中将 Geojson 图层添加到传单地图后,矢量切片图层交互性丢失

Leaflet.VectorTileLayer 包装用于在 react-leaflet 中使用。叠加层中有很多这些瓦片层,还有一些其他层使用 react-leaflet 的 GeoJSON 组件导入直接 json 数据。一切正常,但是,如果我先加载 geojson 图层,我就会失去矢量切片图层的交互性。图层加载正常但不可点击或其他样式选项未在地图中呈现。在不加载 geojson 层的情况下,它们正在工作。

代码中的简单用法:

矢量瓦片实现来自@willfalconer 的存储库

0 投票
1 回答
197 浏览

express - 如何在示例示例中从 ClusterBuster 矢量切片服务器接收切片数据?

概括

似乎这些家伙在ClusterBuster矢量切片服务器上的内置过滤、集群和缓存方面做得很好。我对这个看起来很有前途的项目感到非常兴奋,我很想尝试一下!

我正在开发一个项目,通过它们的集成从矢量切片服务器在 Google 地图上绘制Deck.gl图层 ( MVTLayer ) 。我想尝试集成并从 ClusterBuster 服务器提供一些保存在 PostGIS 中的聚类点。

预期结果:

  • 我想从 ClusterBuster 矢量切片服务器接收切片数据,就像他们提供的示例示例一样。

实际结果:

  • 提供的示例示例不起作用(地图上、Mapbox 上和带有 Deck.gl 的 Google 地图上都没有显示点)。

我的尝试

我尝试构建和运行提供的示例,但不知何故,我无法做到这一点。

我运行了提供的快速服务器clusterbuster/example/express.ts,并尝试使用提供的 mapbox 示例clusterbuster/example/mapbox.html(使用我的 mapbox 令牌)进行前端,但 mapbox 地图上没有出现任何内容(也没有使用我的 Deck.gl 示例出现在 Google 地图上)。

如中所述,clusterbuster/example/readme.md我创建了一个.env带有 PostGIS 连接设置的文件。

运行以下命令后:

我得到这个输出:

请求似乎没问题,返回状态 200,但来自 ClusterBuster 服务器的图块数据未定义,地图上没有任何内容(您的 Mapbox 或我的 Google 地图)。此外,奇怪的是所有平铺响应似乎都具有相同的大小 216 B。 _img

数据在 PostGIS 数据库中导入正常。 _img2

结果是undefinedexpress.ts使用 VSCode Javascript 调试终端调试服务器文件并使用命令启动它之后ts-node .\example\express.ts

在 Chrome 网络选项卡中,在任何子选项卡的预览或响应中,我都看不到任何数据。 _img 1-2

我还尝试在成功功能中将结果图块记录在快速服务器中,

下面是输出,我得到undefined在此处输入图像描述

任何帮助或建议都非常感谢!先感谢您!

0 投票
1 回答
87 浏览

mapbox - 基于多边形瓦片源创建点源

我的目标是在多边形的中心放置标签。

目前正在通过矢量切片源添加多边形。

为了使标签以多边形为中心,似乎我必须添加一个点源,该点源具有表示多边形质心的几何形状。(基于这个答案)

当通过矢量瓦片获取几何图形时,是否可以动态创建这个点源,或者它必须是另一个矢量源,一个专门用于质心点的矢量源?

0 投票
1 回答
357 浏览

openlayers - Openlayers Pbf 矢量切片性能不佳

所以,我在平移/放大和缩小直到渲染图块时使用 pbf 矢量图块时遇到性能问题(例如,如果您在渲染图块之前尝试放大和平移,屏幕将很快冻结),渲染完成后一切运行顺利. 可能需要注意的是,我正在为 android/IOS 实现离线地图功能,并且我已经在我的设备上存储了 pbf 切片。所以这就是我目前正在做的事情:

我尝试过使用 renderOrder、renderBuffer、renderMode、declutter 选项,但没有帮助。此外,我在这里您可以看到,在缩放/平移地图时出现口吃,而且不流畅。任何帮助将不胜感激

0 投票
1 回答
138 浏览

dockerfile - GeoServer is not recognizing the copied gwc-layers files

I want to generate a docker image for GeoServer adding my gwc-layers of the GeoServer instance I'm running locally. For that, I copied the data_dir from my local GeoServer and created the following Dockerfile:

The files I have defined in the gwc-layers folder look like this:

Note that all the layers have the MVT tile image format defined through application/vnd.mapbox-vector-tile.

However, after building the Docker image and run it, all my workspace, datastore, layers are listed correctly, but none of the layers has the option application/vnd.mapbox-vector-tile checked.

enter image description here

It seems the files inside gwc-layers are being modified or ignored/regenerated.

0 投票
2 回答
124 浏览

javascript - 如何访问使用 supertiler 库创建的群集矢量源的 clusterProperties?

我正在使用supertiler库将 1000 万点的 GeoJson 转换为 MapBox 切片 (.mbtiles)。

然后,我使用他们的 Uploads API 将 .mbtiles 文件上传到 Mapbox,以便我可以将数据作为矢量源添加到我的应用程序中。

当我控制台记录集群的属性时,我看不到任何集群属性,而只有以下内容:

如何访问属性“a”、“b”、“c”等?

最终目标是实现这样的目标

提前致谢。