Mapbox 矢量切片 (MVT) 对于较低缩放级别的点图层不可见

问题描述 投票:0回答:1

我正在使用此 POSTGIS 查询来生成 MVT 图块并可视化大点图层数据。当放大时,这些图块开始在视觉上出现,但会导致在下一个缩放级别可见的图块数量发生巨大变化。 这导致数据不准确的报告。即使该边界框中有数百万个数据,较低缩放级别的图块也不会返回任何数据。 第一张图片是当我尝试查看我的地图时放大一级 第二张图片是当我将缩放级别向下移动一个缩放级别时

我的查询看起来像这样

      ST_AsMVT(tile, 'table', 4096, 'geom')
    FROM (
      SELECT
        ST_AsMVTGeom(
            ST_Transform(ST_CurveToLine("geometry"), 3857),
            ST_TileEnvelope($1::integer, $2::integer, $3::integer),
            4096, 64, true
        ) AS geom
        , "ogc_fid"
      FROM
        table
      WHERE
        "geometry" && ST_Transform(ST_TileEnvelope($1::integer, $2::integer, $3::integer, margin => 0.015625), 4326)
    ) AS tile

postgis large-data vector-tiles mvt
1个回答
0
投票

tile_extent 
增加到
4096000
并将
buffer
大小减小到
0
帮助我获得了所需的输出。与此同时,我还删除了瓷砖信封的边距。 所以更新后的代码看起来像

    FROM (
      SELECT
        ST_AsMVTGeom(
            ST_Transform(ST_CurveToLine("geometry"), 3857),
            ST_TileEnvelope($1::integer, $2::integer, $3::integer),
            4096000, 0,false
        ) AS geom
        , "ogc_fid"
      FROM
        table
      WHERE
        "geometry" && ST_Transform(ST_TileEnvelope($1::integer, $2::integer, $3::integer), 4326)
    ) AS tile

© www.soinside.com 2019 - 2024. All rights reserved.