pratham76 commented on code in PR #55207: URL: https://github.com/apache/spark/pull/55207#discussion_r3178274676
########## docs/sql-ref-geospatial-types.md: ########## @@ -143,6 +143,66 @@ SELECT ST_Srid(ST_SetSrid(ST_GeomFromWKB(X'0101000000000000000000F03F00000000000 * **Mixed-SRID columns** (`GEOMETRY(ANY)` or `GEOGRAPHY(ANY)`): Values can have different SRIDs. Only valid SRIDs are allowed. * **Storage**: Parquet, Delta, and Iceberg store geometry/geography with a fixed SRID per column; mixed-SRID types are for in-memory/query use. When writing to these formats, a concrete (fixed) SRID is required. +### Supported SRIDs + +Spark includes a pre-built SRID registry that combines coordinate systems from the PROJ database with OGC standard overrides. This registry enables validation and proper handling of coordinate systems for geospatial data. + +**SRID Compatibility Rules:** +- **GEOMETRY** accepts all SRIDs in the registry (geographic + projected + SRID 0) +- **GEOGRAPHY** only accepts geographic SRIDs (latitude/longitude coordinate systems) + +#### PROJ Version by Spark Release + +| Spark Version | PROJ Version | +|---------------|--------------| +| 4.2.0 | 9.7.1 | + +The SRID registry is pinned to the PROJ version shown above and is not synced live with external databases. + +#### OGC Standard Overrides + +Spark applies the following OGC standard overrides to specific SRIDs from the PROJ database: + +| SRID | PROJ CRS Identifier | OGC CRS Identifier | Description | +|------|---------------------|-------------------|-------------| +| 4326 | `EPSG:4326` | `OGC:CRS84` | WGS 84 (longitude/latitude order per OGC standard) | +| 4267 | `EPSG:4267` | `OGC:CRS27` | NAD27 | +| 4269 | `EPSG:4269` | `OGC:CRS83` | NAD83 | + + +#### Commonly Used SRIDs + +| SRID | CRS Identifier | Name | CRS Type | Description | +|------|----------------|------|----------|-------------| +| 0 | `SRID:0` | Unspecified | Cartesian | Coordinates with no defined CRS (default for `ST_GeomFromWKB(wkb)`) | +| 4326 | `OGC:CRS84` | WGS 84 | Geographic | World Geodetic System 1984 (longitude/latitude), GPS coordinates, global data (default for GEOGRAPHY) | +| 4267 | `OGC:CRS27` | NAD27 | Geographic | North American Datum 1927 | +| 4269 | `OGC:CRS83` | NAD83 | Geographic | North American Datum 1983 | +| 3857 | `EPSG:3857` | Web Mercator | Projected | Pseudo-Mercator projection used by web mapping services | + +**Notes:** +* `GEOMETRY(0)` means a fixed SRID of 0 (all rows use SRID 0), not per-row SRIDs. + For per-row SRIDs, use `GEOMETRY(ANY)`. +* `GEOMETRY(ANY)` and `GEOGRAPHY(ANY)` are valid for in-memory and query use, but cannot be + persisted — the [Parquet](https://github.com/apache/parquet-format/blob/master/Geospatial.md) Review Comment: Thanks, addressed -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
