如何从MapServer热力图的MapCache种子过程中移除边缘

huangapple go评论47阅读模式
英文:

how to remove edges from MapCache seeding process of MapServer heatmap

问题

我正在尝试在基于MapServer的点图层上创建热力图。配置似乎在MapServer端正常工作(图1),但在MapCache中存在问题。

与MapCache有关的问题是在请求WMTS时出现了边缘问题。在切换到下一个瓦片时没有平滑过渡(图2)。我认为这与用于生成地图过程中使用的网格有关(我使用了WebMercator)。如果有人能给我关于如何消除这些边缘的建议,我将不胜感激。

如何从MapServer热力图的MapCache种子过程中移除边缘

如何从MapServer热力图的MapCache种子过程中移除边缘

可能很重要的地图服务器配置部分:

PROCESSING "RANGE_COLORSPACE=HSL"
PROCESSING "KERNELDENSITY_RADIUS=%radius%"
PROCESSING "KERNELDENSITY_COMPUTE_BORDERS=ON"
PROCESSING "KERNELDENSITY_NORMALIZATION=auto"
OFFSITE 0 0 0

SCALETOKEN
    NAME "%radius%"
    VALUES
        "0" "50"
        "25000000" "15"
    END
END
英文:

I am trying to prepare heatmap on a MapServer-based a point layer. The configuration seems to work on MapServer side (fig 1) but there is an issue with MapCache.
The problem with MapCache is concerning edges that appears when requesting WMTS. There is no smooth transition to the next tile (fig 2). I think that this is somehow related to the grid used in seeding map process (I used WebMercator). Will appreciate if anyone can give me suggestion on how to eliminate those edges ?

如何从MapServer热力图的MapCache种子过程中移除边缘

如何从MapServer热力图的MapCache种子过程中移除边缘

part of layer mapserver config that might be important:

PROCESSING "RANGE_COLORSPACE=HSL" 
PROCESSING "KERNELDENSITY_RADIUS=%radius%"  
PROCESSING "KERNELDENSITY_COMPUTE_BORDERS=ON"
PROCESSING "KERNELDENSITY_NORMALIZATION=auto"
OFFSITE 0 0 0

SCALETOKEN
    NAME "%radius%"
    VALUES
        "0" "50"
        "25000000" "15"
    END 
END 

答案1

得分: 0

在第2.7段中,MapServer热力图的RFC https://mapserver.org/sq/development/rfc/ms-rfc-108.html 描述了可应用平铺。为了正常工作,必须将kerneldensity_normalization设置为数字值。

根据这个,而不是:

PROCESSING "KERNELDENSITY_NORMALIZATION=AUTO

设置:

PROCESSING "KERNELDENSITY_NORMALIZATION=1

或任何其他数字值。

更新:
请注意,此RFC已过时。

英文:

In paragraph 2.7. the rfc of mapserver heatmap https://mapserver.org/sq/development/rfc/ms-rfc-108.html
describes that the tiling can be applied.
In order to work properly the kerneldensity_normalizastion have to be set as numeric value.

According to this insted of:

PROCESSING "KERNELDENSITY_NORMALIZATION=AUTO

set:

PROCESSING "KERNELDENSITY_NORMALIZATION=1

or any other numeric value.

update:
be aware that this RFC is outdated

huangapple
  • 本文由 发表于 2023年2月8日 22:57:02
  • 转载请务必保留本文链接:https://go.coder-hub.com/75387580.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定