jiayuasu opened a new pull request, #3289: URL: https://github.com/apache/sedona/pull/3289
## 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 #3288. ## What changes were proposed in this PR? This PR implements `GeoDataFrame.from_dict` for small, in-memory dictionaries. It: - delegates dictionary parsing, orientation, and column selection to the installed GeoPandas version; - preserves active geometry selection, CRS metadata, arbitrary index and row order, empty inputs, and multiple geometry columns; - handles Spark 3 geometry-type inference when geometry-valued columns begin with missing values, including inactive object-typed geometry columns; - shares the local GeoPandas conversion path with `GeoDataFrame.from_features`; and - documents driver materialization, Spark schema constraints, and distributed alternatives for large datasets. ## How was this patch tested? - Spark 3.4.0 / Python 3.8.13 / GeoPandas 0.13.2 / Shapely 1.8.5.post1: 9 focused tests passed. - Spark 4.1.1 / Python 3.11.13 / GeoPandas 1.1.4 / Shapely 2.1.2: 9 focused tests passed. - All commit hooks and `git diff --check` passed. The tests cover default and index-oriented dictionaries, implicit and explicit geometry selection, CRS preservation, leading null geometries, arbitrary row order, temporary-column name collisions, multiple geometry dtypes, inactive object-typed geometry columns, empty inputs, and the existing `from_features` conversion path. ## Did this PR include necessary documentation updates? - Yes, I am adding a new API. I am using the [current SNAPSHOT version number](https://github.com/apache/sedona/blob/99239524f17389fc4ae9548ea88756f8ea538bb9/pom.xml#L29) in `vX.Y.Z` format. The method documentation marks the API as added in `2.0.0`, and the release notes are updated. -- 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]
