PostGIS integration
Requires !866 (merged), !910 (merged), !913 (merged), frontend!661 (merged), architecture#14, and architecture!123
Closes #163 (closed)
base-postgis tag
TODO
-
Add PostGIS to the database Dockerfile -
Add PostGIS dependencies to the backend Dockerfiles -
Polygon migration -
Zone deduplication -
Unique constraint -
Unique constraint without MD5 -
ST_IsClosedconstraint -
Integer coordinates constraint -
Drop arkindex.project.polygon -
Update the entire codebase -
Add unit tests -
Update js/helpers/polygon.jsin the frontend -
Mitigate ST_Normalize issue -
Benchmarks -
Update dev setup docs
Possible follow-ups
-
#372 — This still allows "bowtie polygons"; we could use a
ST_IsRingconstraint for that, but it requires extra work due to a lot of existing data not matching this constraint. -
images/consumers.pycould maybe be removed; this would require some benchmarking on theST_Scalefunction #413 (closed) - Create an
arkindex cleanupcommand to remove unused zones, unused images and unused image servers: there are over 17 million useless zones in prod and 10 million in preprod. This would be similar in code complexity to the provideddeduplicate_zonescommand. The transcription simplification would make this command even easier #414 (closed)
Migrating
Migrate normally. If images.0005 fails and complains about duplicated polygons, run arkindex deduplicate_zones, then migrate again.
Edited by Erwan Rouchet