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

   ## 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 #3281.
   Part of #2230.
   
   ## What changes were proposed in this PR?
   
   This PR implements `GeoDataFrame.from_features` for small, in-memory 
GeoJSON-like feature collections.
   
   It:
   
   - delegates feature parsing to the installed GeoPandas version and wraps the 
resulting frame in Sedona;
   - accepts feature iterables and generators, FeatureCollection dictionaries, 
and objects implementing `__geo_interface__`;
   - preserves column selection and ordering, CRS assignment, null geometries, 
uneven or null property sets, and empty inputs with explicit columns;
   - preserves leading-null geometry order on Spark 3, where pandas-on-Spark 
otherwise fails Geometry UDT inference; and
   - documents driver materialization, Spark property-schema constraints, and 
the distributed GeoJSON and GeoParquet alternatives for large datasets.
   
   Malformed inputs continue to use GeoPandas validation and error behavior. 
Property values must be representable by a consistent Spark-inferred schema 
after parsing.
   
   ## How was this patch tested?
   
   - Spark 3.4.0 / Python 3.8 / GeoPandas 0.13.2: 3 focused tests passed.
   - Spark 3.4.0 / Python 3.8 / Shapely 1.8.5.post1: 3 focused tests passed.
   - Spark 4.1.1 / Python 3.11 / GeoPandas 1.1.3: 3 focused tests passed.
   - All commit hooks passed.
   
   The tests cover supported input forms, generators, `__geo_interface__`, 
leading-null geometries, uneven and null properties, column ordering, CRS 
preservation, restored row order, and empty inputs with an explicit geometry 
schema.
   
   ## 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]

Reply via email to