Sounds good to me. +1

On Jul 29, 2024 at 16:12:09, Suryaa Charan Shivakumar <sshiv...@ucr.edu>
wrote:

> Hello AsterixDB Dev Community,
>
> I hope this message finds you well. I am excited to share a proposal aimed
> at advancing our geometric processing capabilities in AsterixDB. The
> proposal, identified with JIRA epic *ASTERIXDB-3412*, is targeted for the
> 9.10.0 release and involves transitioning from the current
> com.esri.core.geometry.ogc.OGCGeometry to the Java Topology Suite (JTS)
> library.
>
> Key Motivations:
>
>    1. Enhanced Compatibility & Maintainability: Transitioning to JTS
>    offers a more robust support for geometric operations, allowing
>    extensibility and custom implementation over spatial functions.
>    2. Potential Performance Improvements: JTS is expected to provide not
>    only compatibility but also performance enhancements over the existing
>    geometry library.
>
> Proposed Changes Include:
>
>    1.  Comprehensive Research & Documentation of current OGCGeometry use
>    and dependencies.
>    2.  Thorough Evaluation of JTS Library to ensure it meets our needs
>    and integrates well with the existing codebase.
>    3. Implementation and Testing across the codebase to ensure seamless
>    functionality and performance.
>    4. Updates and Revisions in Documentation to reflect the new changes.
>    5. Performance Benchmarking to confirm and enhance the benefits of JTS
>    integration.
>
> Known Limitations and Considerations:
>
>    1. CRS and Dimensionality Support: Address JTS’s native limitations on
>    CRS and higher-dimensional (3d,4d) geometries through custom
>    implementations or additional libraries.
>       1. JTS does not consider or support CRS while doing geometric
>       operations. However, CRS is important to ensure precision and 
> correctness.
>       We may have to evaluate the integration of CRS functionalities through
>       libraries like GeoTools, minimizing dependencies while ensuring robust
>       support for varied CRS applications.
>       2. Issues with JTS while handling 3D or 4D geometry,
>       Does not have some function implementations for Z, eg. Finding min
>       z or max z coordinate in a given geometry. Solution - To implement this 
> is
>       fairly easy. Other known documented issues in JTS w.r.t dimensions are
>       listed below,
>       https://github.com/locationtech/jts/issues/733
>       
> <https://urldefense.com/v3/__https://github.com/locationtech/jts/issues/733__;!!CzAuKJ42GuquVTTmVmPViYEvSg!PiGdnbM37SsJM5MdFI4o05dsJmQQjNbeKfB04azc7-SO85bhaS0Vj3T6RwCeRXOYOajJFvWWw1duH8tT$>
>       https://locationtech.github.io/jts/jts-faq.html#B4
>       
> <https://urldefense.com/v3/__https://locationtech.github.io/jts/jts-faq.html*B4__;Iw!!CzAuKJ42GuquVTTmVmPViYEvSg!PiGdnbM37SsJM5MdFI4o05dsJmQQjNbeKfB04azc7-SO85bhaS0Vj3T6RwCeRXOYOajJFvWWwx1gF13X$>
>       2.  Dependency Management: Carefully manage new dependencies to
>    prevent over-complexity in the system architecture.
>
> We invite you to review the detailed proposal, provide your insights, and
> discuss any potential impacts or improvements. Your feedback is invaluable
> as we refine and move forward with this initiative.
>
> Thank you for your continued support and collaboration.
>
> Best,
> Suryaa Charan
>

Reply via email to