jiayuasu opened a new pull request, #2647:
URL: https://github.com/apache/sedona/pull/2647

   ## Did you read the Contributor Guide?
   
   - Yes, I have read the [Contributor 
Rules](https://sedona.apache.org/latest/community/rule/) and [Contributor 
Development Guide](https://sedona.apache.org/latest/community/develop/)
   
   ## Is this PR related to a ticket?
   
   - Yes, and the PR name follows the format `[GH-XXX] my subject`. Closes #2610
   
   ## What changes were proposed in this PR?
   
   This PR integrates [proj4sedona](https://github.com/jiayuasu/proj4sedona) 
(v0.0.3) as the default CRS transformation engine for vector geometries in 
Apache Sedona. proj4sedona is a pure Java implementation with no LGPL 
dependencies, replacing GeoTools for vector CRS transformations.
   
   ### New CRS format support
   
   | Format | Example |
   |--------|---------|
   | **EPSG code** | `EPSG:4326`, `EPSG:3857` (also ESRI, IAU, SR-ORG 
authorities)| **EPSG code** | `EPSG:4326`, `EPSG:3857` (also ESRI, IAU, SR* 
(ISO 19162:2019) | `PROJC| **EPSG c`GEOGCRS[...]` |
   | **PROJ strin| **PROJ strin| **PROJ strin| **PROJ strin| **PROJ strin| 
**PRO`{"typ| **PROJ strin| **PROJ strin| **PROJ strin|  sourc| **PROJ strin| 
**PROJ strin| **PROJ strin| **PROJ strin| **PROJ strin| **PRO`{"typ| **PROJ 
strin| **PROJ strin| **PROJ strin|  sourc| **PROJ strin| **PROJ strin| **PROJ 
strin| **P, `| **PROJ strin| **PROJ strin|  trans| **PROJ strin| **PROJ strin| 
**PROJ strin| **PROJ strin| **PROJ strin| **PRnad| **PROJ strin| **PROJ strin| 
**PROJ s+nadgrids=@us_noaa_conus.tif`
   - HTTPS URL: `+nadgrids=https://cdn.proj.org/us_noaa_conus.tif`
   
   ### Configuration
   
   New Spark config `spark.sedona.crs.geotools` controls the CRS engine:
   
   | Value | Behavior |
   |-------|----------|
   | `none` | proj4sedona for all transformations |
   | `raster` **(default)** | proj4sedona for vector, GeoTools for| `raster` 
**(ll` | G| `raster` **(default)** | proj4sedona for vector, GeoTools for| 
`raster` **(ll` | G| `raster` **(default)** | proj4sedona for vector, GeoTools 
for| `raster` **(ll` | G| `raster` **(default)** form` API unchanged** — 2-arg, 
3-arg, and 4-arg overloads preserved. The `lenient` parameter is kept for API 
compatibility (ignored by proj4sedona)
   - **Snowflake fully migrated** — `GeoToolsWrapper` removed; Snowflake uses 
`FunctionsProj4` directly
   - **Driver-side config resolution** — `useGeoTools` boolean resolved on the 
Spark driver and serialized to executors, avoiding executor-side SparkSession 
access
   - Added `proj4sedona` (v0.0.3) dependency to root, common, flink, and 
snowflake POMs
   
   ## How was this patch tested?
   
   - **Unit tests** (`FunctionsProj4- **Unit tests**tes- **Unit tests** 
(`FunctionsProj4- **Unit tests**tes- **Unit tests**emo- **Unit tests*datory- 
**Unit tests** ll, - **Unit tests** (`FunctionsProj4- **Unit testRID- **Unit 
tests** (`FunctionsProj4- **Unit tests**tes- **Unit tests** (`FunctionsProj4- 
**Unit tests**tes- **Unit tests**emo- **Unit tests*datory- **Unit tests** ll, - 
**Unit tests** (`FunctionsProj4- **Unit testRID- **Unit tests** 
(`FunctionsProj4- **Unit tests**tes- **Unit tests** (`FunctionsProj4- **Unit 
tests**tes- **Unit tests**emo- **Unit tests*datory- **Unit tests** ll, - **Unit 
tests** (`FunctionsProj4- **Unit tes data for OSGB36↔ETRS89 accuracy validation)
   - **Updated existing tests**: Flink, Snowflake, Spark, and - **Updated 
existing tests**: Flink, Snowflake, Spark, and - **Updated existing tests**: 
Flink, Snowflake, Spark, and - **Updated existing tests**: Flink, SnowflHO- 
**Updated existing tests**: Flink, Snowflake, Spark, and - **Updated existing 
tessql- **Updated existing tests**ring all CRS formats, grid files, coordinate 
order, and SRID usage with SQL examples
   - Updated `ST_Transform` entries in Spark, Flink, and Snowflake function docs
   - Added `spark.sedona.crs.geotools` parameter to `docs/api/sql/Parameter.md`
   - Added navigation entry in `mkdocs.yml`


-- 
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]

Reply via email to