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

leaflet - 如何在常规 OSM 地图上覆盖卫星 mbtiles?

我正在使用klokantech tileserver gl来提供 OSM 地图。这些地图由使用 Vue 和 vue-leaflet 开发的前端使用。OSM 世界 mbtiles 文件与 klokan 的默认配置完美配合。

该系统的一个要求演变是以卫星图像的形式将数据添加到地图中。选择的解决方案(可能是一个糟糕的解决方案)是添加另一组包含卫星视图的 mbtiles(这里是一个示例)。

这个新文件将提前制作并使用 USB 密钥或类似设备传输到机器。需要注意的是,我无法在机器上访问互联网。

我想将这些卫星视图(如果可用)覆盖在我已经存在的 OSM 地图上。我尝试使用 klokan 为他们提供服务,但无法弄清楚这样做的必要配置。任何帮助将不胜感激。

干杯

0 投票
0 回答
52 浏览

mapbox - Mapbox gl native 没有渲染所有样式源,导致地图数据丢失

我们正在使用 tileserver-gl 3.0.0。我们有大约 30 个 MBTiles,并且 tileserver-gl 2.3.1 没有任何问题。我们最近升级到 tileserver-gl 3.0.0。但是当我们注意到地图数据间歇性丢失时,即缺少地图源之一。

当我们进行调试时,mapbox-gl-native 本身并没有发送源数据调用。

任何人都可以知道类似的问题,或者我们如何确定为什么 mapbox-gl-native 没有调用样式源?

tileserver-gl -3.0.0 mapbox-gl-native -5.0.2

任何帮助将不胜感激。

注意:tileserver-gl 或 mapbox-gl-native 没有抛出错误日志。

0 投票
0 回答
231 浏览

javascript - 在本地显示 mbtiles 文件

我有自定义生成的 mbtiles 文件(矢量化,而不是光栅化),我需要在本地并排显示两个这样的文件(以便直观地检查两个地图中的差异)。我尝试了几种方法,例如使用传单(作为仅显示单个 mbtiles 文件的启动器):

正如显示离线 OSM 映射文件中所建议的那样。建议:一个带有 Js.library 的 MB Tiles 文件。但是地图根本没有显示。据我了解,这是因为我有一个矢量文件而不是光栅文件,所以没有实际的 png。

其他答案表明我必须使用诸如 tileserver-gl 之类的服务器来提供地图,但所有此类服务一次只能提供一个文件。是否有某种“简单”的方法来实现我正在寻找的行为,而不涉及尝试重写 tileserver-gl?

0 投票
1 回答
136 浏览

nginx - 在 centOS 中使用 ssl 保护 tileserver-gl

我有sudo docker run -d --restart unless-stopped -it -v $(pwd):/data -p 81:80 maptiler/tileserver-gl跑步。我可以访问http://mypage.com:81就好了。但是,我想访问https://mypage.com:81。我有一个有效的证书,但它无法使用https协议。下面是我的nginx.conf文件。

0 投票
1 回答
166 浏览

docker - Ubuntu 20.04 上的安全 Tileserver-GL

我通过 Docker(在端口 10001 上)使用 Tileserver-GL,并通过 NGINX 的反向代理传递它。我让它工作,这样我就可以在a.cube-kokomo.com访问 tileserver-GL 的主页,但是页面上的所有链接都给我一个 404 错误。我正在使用 CertBot 来管理 SSL 证书。我的目标是能够通过安全网站 (HTTPS) 提供磁贴。

0 投票
1 回答
32 浏览

json - TileServer 的 GetCapabilities 查询返回格式错误的 JSON

我已经安装了 TileServer.php。当我导航到它时,我可以看到我的图块(所以它正在工作)。

我的问题是当我查询 getCapabilities 文件时,生成的 json 文件格式错误。

json 在 json 响应的开头以部分查询字符串为前缀。

这是完整的查询字符串:

http://<=my ip=>/tileserver/index.html?service= wmts&request =getcapabilities&version=1.0.0

我收到的实际 Json 响应

(注意wmts&request以其他有效的 json 为前缀)

====JSON================================

wmts&request ([{"name":"190322","type":"overlay","description":"190322","version":"1.1","format":"png","bounds":[174.92249449474565 ,-36.991878207885335,174.93635413927785,-36.98244705946717],"maxzoom":22,"minzoom":14,"basename":"1313_190322","profile":"mercator","scale":1,"tiles": .. .

====================================================

我已经尝试删除部分查询字符串来测试结果,奇怪的是它再次抓住了查询字符串的一部分。

这是我测试的完整查询字符串:

http://<=my ip=>/tileserver/index.html?request= getcapabilities&version =1.0.0

(我收到的实际 Json 响应)

====JSON================================

getcapabilities&version ([{"name":"190322","type":"overlay","description":"190322","version":"1.1","format":"png","bounds":[174.92249449474565 ,-36.991878207885335,174.93635413927785,-36.98244705946717],"maxzoom":22,"minzoom":14,"basename":"1313_190322","profile":"mercator","scale":1,"tiles": .. .

==================================================== =====

我想我可以解析出来,但我想找到这个问题的原因。

我正在使用 ASP.Net 5.0。

这里大致是我的代码:

编辑

哎呀!原来我以完全错误的方式从 TileServer 请求 getCapabilities 文件。

我将把它留在这里,以防将来对某人有所帮助。

这是正确的 URL:http://<= my url =>/tileserver/1.0.0/WMTSCapabilities.xml/wmts

0 投票
1 回答
84 浏览

tileserver-gl - 如何确定缩放高度以从 WMTS 服务器请求平铺

我正在设置一个 WMTS 客户端来使用来自 tileserver.php 的图块。

要请求图块,我需要将标识符/图层、缩放高度、列和行传递给 WMTS RESTful 服务器,它将返回图块。

例如 http://my ip.com/tileserver/tileserver.php?/index.json?/identifier/{z}/{x}/{y}.png

在我的测试环境中,我可以手动选择缩放级别,我的测试代码将正确计算 col(x) 和 row(y)。然后我可以使用这些信息来请求图像。

这一切都按预期工作。

但是,现在我需要锻炼如何以编程方式确定缩放高度(z)。例如,当用户放大或缩小某个区域时,我将需要锻炼适当的缩放级别,进而以接近用户期望的缩放级别从瓦片服务器请求图像。

我假设,要锻炼正确的缩放级别:

  1. 确定用户的当前边界框(这将是 cad 程序中的模型空间)。我将使用边界框来获取它们所在位置的线性宽度/高度(在 CAD 中)。

  2. 使用显示器的屏幕像素大小来锻炼每米像素?我是否朝着正确的方向前进?

谁能帮我弄清楚如何做到这一点?

0 投票
1 回答
28 浏览

mapbox - 在 NW.js 桌面程序中实现 tileserver-gl?

有什么方法可以让 tileserver-gl 在桌面程序中工作,所以当程序启动时,tile server 从它开始

0 投票
0 回答
24 浏览

javascript - Nw.js program with tileserver-gl

i have already setup tileserver-gl-light to work with my nw.js program i need to change it to tileserver-gl because the light version dose not work with the raster data only vector any idea how to do that ?

0 投票
1 回答
324 浏览

javascript - 如何在不引发 CORB 错误的情况下将 TileServer-GL 地图切片提供给 Openlayers

我需要离线运行 OpenLayers 实例。我正在尝试加载从此处下载的地图图像图块。我正在运行文档中指定的 TilerServer-GL docker 映像。我有一个简单的文件来显示OpenLayers QuickStart 文档index.html中指定的 OpenLayers 地图。我对他们提供的唯一更改是更改 Tile Layer 源,如下所示:.html

OSM()使用QuickStart 文档中指定的源时,此地图会按预期加载。它还加载了我找到的其他在线资源。但是,当我按照我在上面的代码中指出的那样给它提供对本地 TileServer-GL 实例的引用时,我收到以下 CORB 错误:

如何安全地访问 TileServer-GL 提供的瓦片数据?我不想禁用浏览器安全功能作为解决方法。

注意:我知道 TileServer 正在从浏览器获取请求,因为 TileServer 控制台会实时记录请求。例如: GET /data/openmaptiles_satellite_lowres/ 200 899 - 0.704 ms

操作系统:ubuntu 20.04 LTS

节点版本:v16.5.0

OpenLayers 版本:6.6.1

编辑:

重现步骤:

  1. 将OpenLayers QuickStart中的简单入门 html 复制到名为index.html.
  2. 将 TileLayer 源代码替换为我在上面发布的代码
  3. 下载一些mbtiles,例如,这些
  4. 将 .mbtiles 文件移动到与index.html
  5. 安装 docker(如果需要)
  6. docker pull maptiler/tileserver-gl
  7. index.html在与run相同的目录中docker run --rm -it -v $(pwd):/data -p 8080:80 maptiler/tileserver-gl (注意:如果您在 Windows 上,则需要使用${pwd},而不是$(pwd)。如果您的文件夹名称中包含空格字符,Docker 可能会引发警告。)
  8. 在浏览器中加载 index.html(IE 不算)。

多田!你(几乎)有一个工作的离线地图应用程序!