Skip to content

[SPARK-55790][Geo][SQL] Build a complete SRS registry using PROJ 9.7.1 data#54571

Open
uros-db wants to merge 3 commits intoapache:masterfrom
uros-db:geo-proj
Open

[SPARK-55790][Geo][SQL] Build a complete SRS registry using PROJ 9.7.1 data#54571
uros-db wants to merge 3 commits intoapache:masterfrom
uros-db:geo-proj

Conversation

@uros-db
Copy link
Contributor

@uros-db uros-db commented Mar 2, 2026

What changes were proposed in this pull request?

Build a more complete Spatial Reference System (SRS) registry in Spark, introducing 10000+ entries sourced from the PROJ library's EPSG and ESRI databases, which will unlock substantially improving the breadth of geospatial type support.

Why are the changes needed?

This will enable Geometry and Geography types to support 10000+ additional SRID/CRS values, both in JVM and Python. Note that currently Geometry and Geography types offer only limited SRID support (a few hardcoded values).

Does this PR introduce any user-facing change?

No.

How was this patch tested?

The script and auto-generated golden files are self-contained.

Was this patch authored or co-authored using generative AI tooling?

Yes, Claude 4.6 Opus.

Copy link
Contributor Author

@uros-db uros-db left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@szehon-ho @cloud-fan Please review.

Copy link
Contributor Author

@uros-db uros-db left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Docker integration failure seems unrelated to these changes.

Copy link
Member

@szehon-ho szehon-ho left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. the pr has two generatedcsv which is very big. just wondering, is there no way to have one generated one, and copy it at build time?
  2. do we plan to run it just manually? I guess proj does not release that frequently that its worth to automate it?

@uros-db
Copy link
Contributor Author

uros-db commented Mar 4, 2026

  1. is there no way to have one generated one, and copy it at build time?

There probably is a way, although I kind of like keeping these CSV files separate for JVM and Python. They are different modules, and geospatial types themselves live separately, so I think it would make sense to generate both in one go.

  1. do we plan to run it just manually? I guess proj does not release that frequently that its worth to automate it?

Yes, I think that we should be able to run this script manually and inspect the diff (e.g. new SRIDs) per version upgrade, and yes - PROJ releases aren't very frequent. We would otherwise need either CMake or SLQLite to fully automate this.

@uros-db uros-db requested a review from szehon-ho March 4, 2026 16:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants