问题标签 [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.
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 一起使用。
openlayers - 开放层。矢量瓷砖,边缘的样式特征
我正在将简单样式应用于 VectorTile 图层。特征加载并以所述样式显示。
我面临的问题是落入瓦片边缘(或接近)的特征似乎在瓦片限制处被“切割”。
我尝试declutter: true
在定义中使用该选项ol.layer.VectoTile
,这有帮助,但某些功能消失了(好像它正在进行一些聚类),对于我的用例,即使图标出现在顶部,我也需要查看所有功能另一个。
我不太明白为什么会发生这种情况,因为样式是在客户端而不是在服务器上完成的。
有没有办法可以使用 VectorTiles 完成这项工作?
我正在使用的代码:
更多信息:源数据存储在带有 PostGIS 扩展的 PostgreSQL 数据库中。GeoServer 生成矢量切片并通过 TMS 服务交付它们
编辑:我发现问题是因为图层的默认样式是自定义样式,它使用外部图像作为图标:
将默认样式设置为默认“点”解决了这个问题。但我不知道为什么在使用 Vector Tiles 时它不会使用默认的服务器样式,而是客户端提供的样式 有人能解释一下为什么 GeoServer 会发生这种情况吗?
leaflet - 如何在 Leaflet 中为磁贴请求添加自定义授权标头
我正在使用Leaflet.VectorGrid插件在传单地图上加载 pbf 矢量图块。我检索矢量切片的 API 需要传递授权标头。在 Mapbox GL js 中,这可以通过使用transformRequest选项来解决。例子:
如何在 Leaflet 中做类似的事情来绕过我收到的 401 授权消息?
对于插件中的参考矢量图层构造函数:
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
leaflet - 在反应中将 Geojson 图层添加到传单地图后,矢量切片图层交互性丢失
Leaflet.VectorTileLayer 包装用于在 react-leaflet 中使用。叠加层中有很多这些瓦片层,还有一些其他层使用 react-leaflet 的 GeoJSON 组件导入直接 json 数据。一切正常,但是,如果我先加载 geojson 图层,我就会失去矢量切片图层的交互性。图层加载正常但不可点击或其他样式选项未在地图中呈现。在不加载 geojson 层的情况下,它们正在工作。
代码中的简单用法:
矢量瓦片实现来自@willfalconer 的存储库
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。
结果是undefined
在express.ts
使用 VSCode Javascript 调试终端调试服务器文件并使用命令启动它之后ts-node .\example\express.ts
。
在 Chrome 网络选项卡中,在任何子选项卡的预览或响应中,我都看不到任何数据。
我还尝试在成功功能中将结果图块记录在快速服务器中,
任何帮助或建议都非常感谢!先感谢您!
mapbox - 基于多边形瓦片源创建点源
我的目标是在多边形的中心放置标签。
目前正在通过矢量切片源添加多边形。
为了使标签以多边形为中心,似乎我必须添加一个点源,该点源具有表示多边形质心的几何形状。(基于这个答案)
当通过矢量瓦片获取几何图形时,是否可以动态创建这个点源,或者它必须是另一个矢量源,一个专门用于质心点的矢量源?
openlayers - Openlayers Pbf 矢量切片性能不佳
所以,我在平移/放大和缩小直到渲染图块时使用 pbf 矢量图块时遇到性能问题(例如,如果您在渲染图块之前尝试放大和平移,屏幕将很快冻结),渲染完成后一切运行顺利. 可能需要注意的是,我正在为 android/IOS 实现离线地图功能,并且我已经在我的设备上存储了 pbf 切片。所以这就是我目前正在做的事情:
我尝试过使用 renderOrder、renderBuffer、renderMode、declutter 选项,但没有帮助。此外,我在这里您可以看到,在缩放/平移地图时出现口吃,而且不流畅。任何帮助将不胜感激
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.
It seems the files inside gwc-layers are being modified or ignored/regenerated.
javascript - 如何访问使用 supertiler 库创建的群集矢量源的 clusterProperties?
我正在使用supertiler库将 1000 万点的 GeoJson 转换为 MapBox 切片 (.mbtiles)。
然后,我使用他们的 Uploads API 将 .mbtiles 文件上传到 Mapbox,以便我可以将数据作为矢量源添加到我的应用程序中。
当我控制台记录集群的属性时,我看不到任何集群属性,而只有以下内容:
如何访问属性“a”、“b”、“c”等?
最终目标是实现这样的目标。
提前致谢。