#4962 closed enhancement (fixed)
Adding a linestring to the topology can load topology multiple times
Reported by: | strk | Owned by: | strk |
---|---|---|---|
Priority: | medium | Milestone: | PostGIS 3.2.0 |
Component: | topology | Version: | master |
Keywords: | Cc: |
Description
I think this is happening starting on the change which implemented cb_getFaceContainingPoint as a wrapper to a plPGSQL rather than C: the loadTopology is loaded multiple times because the plpgsql function will possibly call other C implemented functions GetRingEdges which re-loads the topology again in the same session.
It would be useful to do everything internally to avoid the duplicated topology loading, which should improve speed and possibly also avoid other unwanted effects of such mislayered behaviour
Attachments (1)
Change History (7)
comment:1 by , 3 years ago
comment:3 by , 3 years ago
I'm reopening this because the choice of using lw_segment_side to determine the side the query point falls on the closest edge was WRONG and produces invalid results. I'll have to add a regress test for this case and find another solution.
by , 3 years ago
Attachment: | wrongResult.png added |
---|
comment:4 by , 3 years ago
comment:5 by , 3 years ago
Regress test pushed to https://gitlab.com/postgis/postgis/-/merge_requests/55
WIP merge request: https://gitlab.com/postgis/postgis/-/merge_requests/52