问题标签 [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 回答
609 浏览

mapbox - ol-mapbox-style apply() 函数不适用于 OpenLayers 中的自定义投影

我在 OpenLayers 中的 crs ETRS89/UTM 区域 32N (EPSG:25832) 中使用矢量图块,它在默认样式下正常工作。

但我的问题是,如果我通过使用 olm-mapbox-style 库以 Mapbox 样式的形式应用 Maputnik 的 style.json,它将被忽略。相同的 style.json 适用于“EPSG:3857”。

我猜它与视图有关,因为 olms 通过更新样式来使用 map.getView().getZoom() 函数。

我该如何解决这个问题?任何想法?非常感谢。

0 投票
1 回答
138 浏览

node.js - MapboxGL 客户端的矢量瓷砖不返回属性

我正在尝试在 Node.js 中设置一个 Web 服务器,该服务器提供要在使用 MapboxGL JS 的浏览器中显示的矢量图块。矢量切片的数据存储在 PostGIS 数据库中。

这是我的数据库方案:CREATE TABLE IF NOT EXISTS earthquakes( table_id SERIAL, properties jsonb not null, geom geometry(GeometryZ,4326), primary key (table_id));

地震在 geojson 中有属性,我将每个特征存储在数据库中。

例如,地震具有以下属性:"properties": { "id": "ak16994521", "mag": 2.3, "time": 1507425650893, "felt": null, "tsunami": 0 }. 你可以在这里看到所有的 geojson 。

我当前的设置似乎朝着正确的方向发展,因为我可以看到矢量图块正在加载并显示在浏览器中,并且渲染结果是正确的。

但是,当我单击一个功能时,只返回 table_id 并且不返回每个功能的属性。

怎么能发属性???

0 投票
1 回答
322 浏览

postgis - 为什么 MapboxGL 客户端的服务器矢量图块渲染不正确

我正在尝试在 Node.js 中设置一个 Web 服务器,该服务器提供要在使用 MapboxGL JS 的浏览器中显示的矢量图块。矢量切片的数据存储在 PostGIS 数据库中。

我收到一个 geojson 文件并处理它,用下一句创建一个数据库:CREATE TABLE IF NOT EXISTS countries ( table_id SERIAL, properties jsonb not null, geom geometry(GeometryZ,4326), primary key (table_id));

我当前的设置似乎朝着正确的方向发展,因为我可以看到矢量图块正在加载并显示在浏览器中。但是渲染的结果不正确(这是我地图的一部分的截图):

在此处输入图像描述

什么是渲染不正确???

这是代码:

我遵循使用这个网站的想法:

0 投票
2 回答
524 浏览

mapbox-gl-js - 在 MapboxGL 上显示的 mvt 矢量图块

我关注 了 https://medium.com/@mrgrantanderson/https-medium-com-serving-vector-tiles-from-django-38c705f6

将 mvt 切片从 geoDjango 提供给 mapbox。

使用运行查询

因为我的模型项目是 ESPG:3857

Vectors 似乎没有加载到地图上,api 请求工作正常。我也尝试过从 Geoserver 提供矢量文件,但也没有运气。

这是我的 JS 文件

0 投票
0 回答
269 浏览

leaflet - 如何将 800k 点作为 MVT 处理

我有一个包含大约 800k 点的表,其中包含存储在 PostGIS 上并使用 ST_AsMVTGeom 提供的水深测量的信息,它连接到使用 Leaflet 开发的 Web 应用程序,但是在某个级别(0-5)一个单一的矢量瓦片包含所有数据使查询非常慢(需要几分钟)。我想知道是否存在(whitin PostGIS)一种根据缩放级别简化行输出的方法。

我正在使用以下查询来创建图块:

解释分析的结果:

0 投票
1 回答
139 浏览

dictionary - d3-geo-voronoi d3-tile 多边形填充问题

我正在尝试使用 d3-geo-voronoi 来使用 d3-tile 显示矢量平铺数据。我最初尝试显示数据,填充设置为“无”,这非常令人兴奋! 没有颜色填充的 Voronoi 平铺贴图

然而,当我尝试填充多边形时,一些图块被扭曲了。 带有颜色填充的 Voronoi 平铺图

我一直无法弄清楚为什么会这样。我检查了 dom 中的 svg,一切看起来都正确。svg 在没有多边形的情况下是正确的,它们只是没有被正确渲染,可能它们被掩盖了。下面是我使用的代码:

在这个例子中,我用不同的颜色值填充了多边形。但是,如果我使用单一颜色值,则会出现完全相同的失真。如果我重新加载所有数据,失真也总是在同一个地方。

0 投票
1 回答
733 浏览

postgis - Mapbox GL 聚类与 Vector Tile 源

我正在检查我们是否可以从 Vector tile 源在 mapbox 端进行聚类,我尝试在后端(POSTGIS)进行聚类,但是大数据表(1M 记录)花费了太多时间。

或者我应该寻找任何其他解决方案。

0 投票
2 回答
1975 浏览

leaflet - 在 Leaflet 中设置 Vectorgrid 层的样式

我正在尝试为leafletJS地图设置地图图层的样式并具有以下代码,但它似乎根本没有颜色:

它只是呈现标准蓝色,我不确定我做错了什么,任何建议都会很棒。

0 投票
3 回答
1984 浏览

geojson - 如何向 MapBox 显示一个巨大的 GeoJSON 文件?

我是 MapBox GL Js 的新手,我想通过 https 调用一个大的 GeoJSON 文件并将其显示到地图上。我认为调用矢量平铺是最好的方法,我发现一些教程展示了如何将您的 GeoJSON 数据转换为矢量平铺但在服务器端或将其上传到 MapBox 样式,但我的 GeoJSON 文件经常更改。所以我发现这个解决方案是一个名为 geojson-vt 的新 JavaScript 库,它描述了如何以疯狂的速度将巨大的 GeoJSON 文件快速转换为矢量切片(客户端),这似乎是我正在寻找的,但是! ,如何将其集成到 MapBox GL JS 中以调用图层?

阻止如何使用 Mapbox GL JS 添加图层,结果如下: var tileIndex = geojsonvt(MyGeoJSON); var tile = tileIndex.getTile(z, x, y);

......或者我只是没有得到它!请有人帮助或可以为我的问题提出其他解决方案。

0 投票
1 回答
482 浏览

geojson - 为什么较低缩放级别的矢量图块中的点与源数据不匹配?

我正在从创建到缩放级别 11 的图块中从缩放级别 8 查询原始矢量图块。然后我将这些图块中的点特征转换为 geojson。转换后的要素几何与缩放级别 11 的切片几何不匹配,或者缩放级别 11 的切片转换为 geojson。我用两个不同的程序(tegola 和 geojson-vt)创建了瓷砖。我正在使用 vt2geojson 转换图块。我试图确定在转换过程的哪个阶段正在操纵几何图形 - 切片创建、切片转换回 geojson 或在 mapbox gl js 中。据我所知,坐标在创建或转换过程中没有被修剪,但我不是 100% 肯定的。我得到了在较低缩放级别下简化线和多边形的原因,但我看不出有任何理由来操纵点几何。

在此处输入图像描述.

从图像中可以看出,在原始图块的最大缩放级别之后,这些点开始分开。一种解决方法是简单地过滤矢量切片以仅显示生成的 geojson 特征中的特征,因为属性仍然完好无损,或者将坐标存储在属性中,但这并不理想。

底线 - 如果我想查看尽可能接近原始数据的点,我应该使用什么最大平铺缩放级别(即 11、12、13、14),以及在什么阶段处理几何图形?