0

概括

似乎这些家伙在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 连接设置的文件。

运行以下命令后:

yarn
yarn start

我得到这个输出:

C:\zFVStuff\Google Maps - Deck.gl\_Servers\ClusterBuster\clusterbuster-master> yarn start
yarn run v1.22.4
$ yarn build && ts-node example/express.ts
$ rollup --config rollup.config.js

./lib/index.ts → dist/index.d.ts...
created dist/index.d.ts in 5.7s

./lib/index.ts → dist/index.js...
created dist/index.js in 5.1s
attempting to create supporting SQL functions
failure in creating First SQL function
failure in creating TileBBox SQL function
failure in creating TileDoubleBBox SQL function
Example app listening on port 3005!

send3663284b-0e58-4587-af82-b35604a99303: 4.964ms
3663284b-0e58-4587-af82-b35604a99303: 817.819ms
sendd0bdd671-1f47-4b40-84ba-2fed6adfd045: 3.451ms
d0bdd671-1f47-4b40-84ba-2fed6adfd045: 1276.588ms
sendcd36f672-4c4b-4a95-b772-7584e6eb8c55: 1.349ms
cd36f672-4c4b-4a95-b772-7584e6eb8c55: 1754.146ms

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

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

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

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

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

server({ 
   ...//excluded for visibility 
}).then(result => {
   ...//excluded for visibility 

   console.log(result)

   res.status(200).send(result);
})

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

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

4

1 回答 1

0

在 TileServer 配置中启用调试(使用debug: true)后,我注意到 2 个错误:

SELECT ST_AsMVT(tile, 'points', 4096, 'geom') AS mvt FROM tile
{
  e: error: password authentication failed for user "userXYZ"
...
SELECT ST_AsMVT(tile, 'points', 4096, 'geom') AS mvt FROM tile
{
  e: Error: read ECONNRESET
      at TCP.onStreamRead (internal/stream_base_commons.js:205:27) {
...

最初我从 clusterbuster 的根目录运行 withts-node .\example\express.ts或 with yarn start(下面使用相同的,它尝试连接我的用户而不是.env配置文件)

ts-node express.ts从文件夹运行后,example它考虑了用户而不是我的用户的.env配置文件。postgres现在来自服务器的图块数据返回正常,示例按预期工作。

非常感谢帮助我的贡献者cosmin-petrescu。整个线程可以在 github 上看到。

于 2020-09-23T18:09:15.580 回答