petern48 opened a new issue, #224:
URL: https://github.com/apache/sedona-db/issues/224

   Many functions involve complex algorithms, so we use a library like as 
[geos](https://github.com/georust/geos) to implement the logic for us. Most of 
these should be pretty straight forward and easy to implement, since it's just 
calling a library function. These implementations should go in the 
`rust/sedona-geos/` directory. Most of the geos geometry methods are shown in 
this [geometry.rs](https://github.com/georust/geos/blob/master/src/geometry.rs) 
file (e.g `is_valid()` can be used to implement Sedona's ST_IsValid). This 
issue lists functions that we can leverage the `geos` library to implement the 
logic. All of these functions have a method in `geos` that we can use to 
implement these functions directly.
   
   - [ ] ST_IsValid
   - [ ] ST_IsValidReason
   - [ ] ST_IsRing
   - [ ] ST_IsSimple
   - [ ] ST_UnaryUnion
   - [ ] ST_ConvexHull
   - [ ] ST_ConcaveHull
   - [ ] ST_Boundary
   - [ ] ST_Simplify
   - [ ] ST_Snap
   - [ ] ST_MakeValid
   - [ ] ST_MinimumClearance
   - [ ] ST_MinimumClearanceLine
   - [ ] ST_GeometryN
   - [ ] ST_Polygonize
   
   ... (there's more, but I'll keep the list short for now)
   <!--- This is was created from me manually going reading down the the 
geometry.rs file I linked. --->
   
   Here is an example commit: 
https://github.com/apache/sedona-db/commit/ddcc2dfe2a32dbc3c42b34791ba52e93ab4210cd.
 It simply calls the `get_centroid()` method and returns the result as WKB.
   
   
https://github.com/apache/sedona-db/blob/df8f7205a0a99bd75195933084ae4216781f067c/c/sedona-geos/src/st_centroid.rs#L74-L76


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