Skip to content

Keep topology AUTO, force only vertex encoding to PLAIN - #55

Merged
trasch merged 1 commit into
mainfrom
fix/mlt-vertex-plain-topology-auto
Aug 20, 2026
Merged

trasch merged 1 commit into
mainfrom
fix/mlt-vertex-plain-topology-auto

Conversation

@trasch

@trasch trasch commented Aug 20, 2026 •

Copy link
Copy Markdown
Contributor

What

Refines the Morton/Hilbert workaround from #54: the root cause is the vertex dictionary path, not the topology streams. Topology AUTO encoding is safe.

Change

Explicitly set geometryTopologyEncodingOption = AUTO to avoid inheriting PLAIN from geometryEncodingOption, preserving topology stream compression.

Root cause (confirmed)

Config Raw Gzipped ring0 Status
Default (morton/hilbert enabled) 68 KB 35.3 KB + broken
Topology PLAIN only (vertex morton) 76 KB 35.3 KB + broken
Full PLAIN (#54 workaround) 122 KB 35.6 KB - correct
Vertex PLAIN + topology AUTO (this PR) 115 KB 35.6 KB - correct
  • Topology-only PLAIN (vertex morton still enabled) → still broken → vertex dictionary is the root cause
  • Vertex PLAIN + topology AUTO → correct → topology AUTO is safe

The Morton/Hilbert vertex dictionary is the root cause of ring vertex
corruption — topology stream AUTO encoding is safe. Explicitly set
geometryTopologyEncodingOption = AUTO to avoid inheriting PLAIN from
geometryEncodingOption, preserving topology compression.

Raw tile size drops from 122 KB (full PLAIN) to 115 KB (vertex PLAIN +
topology AUTO). Gzipped size is unchanged (~35.6 KB).

Verified on real PostGIS-sourced tile z7/x65/y47: oceans 67-ring
MultiPolygon ring0 = [0,2735] sign - (correct).
@trasch trasch self-assigned this Aug 20, 2026
@trasch trasch added the bug Something isn't working label Aug 20, 2026
@trasch
trasch merged commit 9978c9b into main Aug 20, 2026
1 check passed
@trasch
trasch deleted the fix/mlt-vertex-plain-topology-auto branch August 20, 2026 07:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant