问题标签 [tileserver-gl]

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 投票
2 回答
211 浏览

mapbox - Mapbox - 无效的瓷砖顺序

我正在自己的瓷砖服务器上工作。我在以正确的顺序显示瓷砖时遇到了奇怪的问题。瓷砖是使用 OSM 数据创建的。当我使用 tileserver-gl-light 作为切片服务器时,一切似乎都很好,但是当我尝试通过我自己的服务器提供切片时,它们在缩放后没有以正确的顺序出现。我使用相同的页面来渲染地图,所以我认为问题与服务器有关。瓷砖看起来像这样(放大 1):

在此处输入图像描述

我很感激任何帮助。最好的问候, 马雷克

0 投票
2 回答
2712 浏览

node.js - /usr/bin/env 'node' 权限被拒绝

我安装了 Node V10.19.0 和 tileserver-gl

我在我的主目录中创建了一个名为 tileserver.sh 的 bash 文件

其中包含此代码:

当我执行它工作正常,并监听端口 8080,我在 /etc/systemd/system/tileserver.service 中创建了这个文件的服务并启用

它显示了这个错误:

如何解决此问题和错误

0 投票
1 回答
1015 浏览

docker - 使用带有自定义配置和样式文件的 Kubernetes for TileServer-GL

如何使用 Kubernetes 向 tileserver-glconfig.json添加自定义和自定义样式?/styles/custom.json到目前为止,这是我的 kubernetes 清单文件。Tileserver-gl 启动并运行良好,但我没有看到我定义的自定义主题。看起来我的自定义 config.json 文件没有被应用。是使用正确configMapvolumeMounts方法吗?

0 投票
1 回答
1482 浏览

google-maps - 如何使用 TileServer-GL 或 OpenMapTiles 服务器将多个 .pbf 文件而不是 .mbtiles 作为矢量切片提供到使用 Deck.GL MVTLayer 的 Google 地图中?

概括

我有 .geojson 文件并希望将它们(使用tippecanoe / geobuf / other)转换为 .mbtiles 或 .pbf 文件,以将它们作为来自服务器(TileServer-GL / OpenMapTiles / 其他矢量瓷砖服务器)的矢量瓷砖提供给谷歌地图Deck.GLMVTLayer

预期成绩:

  1. 能够从 TileServer-GL .pbf 文件而不是 .mbtiles 文件提供服务。
  2. 能够从 TileServer-GL 提供来自文件夹的多个 .mbtiles(或 .pbf)文件,而无需使用特定的 .mbtiles 文件显式启动它。

实际结果:

  1. 如下所示,我正在使用带有 Deck.GL MVTLayer与矢量平铺集成的谷歌地图,以提供来自 TileServer-GL 的特定 .mbtiles 文件,作为形状或点的集合。
  2. 什么都没管。

我的尝试

我从 Docker 运行 TileServer-GL,从包含数据文件的文件夹:

在 Docker 中,我通过 tippecanoe 将 .geojson 文件转换为 .mbtiles 文件。但是,对于更大的文件,转换似乎需要一些时间。我在 aprox 中获得了一个 890 MB 的 .mbtiles 文件。45 MB .geojson 文件 60 分钟,包含 57k 个功能。

我设法通过 geobuf (json2geobuf) 更快地将 .geojson 文件直接转换为 .pbf 文件。我在 aprox 中获得了一个 32 MB 的 .pbf 文件。45 MB .geojson 文件 37 秒,包含 57k 个特征。

但是,我似乎无法直接从 TileServer-GL 或 OpenMapTiles-Server 提供 .pbf 文件。


我试过了

但是 TileServer-GL 没有启动,我得到了

我还尝试在本地创建 config.json 文件后重新运行

配置文件

但是 TileServer-GL 没有启动,我得到了

在 OpenMapTiles 服务器上,我什至找不到如何指定输入文件(参考):


我的问题

  1. 如何使用 TileServer-GL 或 OpenMapTiles 服务器直接提供 .pbf 文件而不是 .mbtiles 文件?
  2. 如何使用 TileServer-GL 从文件夹中提供所有文件 (.mbtiles),而无需使用特定的 .mbtiles 文件显式启动它docker ... maptiler/tileserver-gl --mbtiles some-file.mbtiles

0 投票
0 回答
87 浏览

docker - 无法像在 Windows 控制台上运行一样在 bat 文件中运行命令

我正在尝试运行具有 mapserver/tileserver 的 docker 容器。使用 cmd 运行命令时,该命令会找到要运行的正确映射,但是当使用 bat 文件运行相同的命令时,它会转到默认映射并运行该映射。如何将自己的地图设为默认地图?

这是我在 bat 文件中的命令。

感谢您的帮助。

0 投票
2 回答
507 浏览

qt - 在 qt 地图中使用 tileserver-gl 主机

我已经设置了一个本地切片服务器以与我的应用程序一起使用,但是当我创建 QML Map 对象并指定插件以使用自定义主机时,应用程序不使用本地切片。在地图对象上循环supportedMapTypes和设置activeMapType属性将显示一些图块,但它们似乎是一些默认图块集,而不是来自我本地图块服务器的图块。

我知道磁贴服务器运行正常,因为我可以通过导航在浏览器中访问它,localhost:8080并且可以使用访问任意磁贴http://localhost:8080/data/openmaptiles_satellite_lowres/{z}/{y}/{x}.jpg

更新

我正在尝试覆盖 TomasL 下面建议的默认提供程序存储库文件,但应用程序似乎没有使用指定的插件参数。

Mapper.qml 中的地图组件

ProvidersPlugin.qml

./供应商/卫星

使用上面的代码,我的应用程序仍然尝试访问默认服务器otile1.mqcdn.com

0 投票
1 回答
141 浏览

openstreetmap - 在 klokantech/tileserver-gl 上添加自定义标记

从(https://hub.docker.com/r/klokantech/tileserver-gl)我能够docker run --rm -it -v $(pwd):/data -p 8080:80 klokantech/tileserver-gl成功运行并在本地主机上提供地图。但是,当我单击地图本身时,我想添加自定义标记。我怎样才能做到这一点?

0 投票
1 回答
364 浏览

gis - 如何使用 Mapbox GL JS 显示自定义样式的矢量图块?

我正在计划开发地图服务,我想在自定义“基础层”顶部显示一个标记列表,其中包含使用 TileServer-GL 渲染的矢量切片。我了解 TileServer-GL 基于 .mbtiles 图块集和样式渲染矢量图块,并使用例如 Maputnik 制作的 .json 样式文件。当将其显示到交互式地图中时,例如使用 Mapbox GL JS,我知道您可以将 TileServer-GL 提供的图块指定为第三方源(https://docs.mapbox.com/mapbox- gl-js/example/third-party/),但似乎您需要一层一层添加,并指定每一层的样式。但我认为瓷砖服务器已经这样做了!我有什么误解吗?

谢谢你的帮助

0 投票
0 回答
20 浏览

map-projections - tileserver-gl:在其他 CRS 中服务和渲染

2016 年2017 年的 FOSS4G 演示中,提到 tileserver-gl 能够在自定义 CRS 中呈现。

使用 docker 图像示例,WMTS 端点还报告有可用的 WGS84 平铺矩阵集。

但是,我无法在文档中找到如何配置自定义 CRS 输出的任何内容。

这仍然是受支持的功能吗?提前抱歉,以防我错过了这个。

0 投票
0 回答
30 浏览

php - 使用 php 文件将来自 **L.tileLayer()** 函数的 GET 请求转发到 localhost

这是我将获取请求发送到磁贴服务器的 javascript 部分:

现在我想使用 PHP 来转发这些请求,如下所示:

我怎么能做到这一点,因为似乎请求没有被转发到下面的controller/request.php文件: