You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pinot.apache.org by GitBox <gi...@apache.org> on 2020/07/09 19:53:22 UTC

[GitHub] [incubator-pinot] Jackie-Jiang commented on pull request #5654: [Part 1] Add geo support

Jackie-Jiang commented on pull request #5654:
URL: https://github.com/apache/incubator-pinot/pull/5654#issuecomment-656319848


   > > High level question, why are we using JTS library to handle both geometry as well as geography? Shouldn't we use ESRI for geography?
   > 
   > Good call.
   > There are two reasons, as I found out during prototyping:
   > 
   > * Performance. I found the serialization performance JTS is better than ESRI. This is also confirmed by Presto project, as they are migrating from ESRI to JTS: [prestodb/presto#13604](https://github.com/prestodb/presto/pull/13604)
   > * Simplicity on the dependency. With one less dependency, it's easier to manage the implementation. As in my current way, the geometry to geography conversion is just a simple change of coordinate system (SRID).
   > 
   > The tradeoff of taking this approach is that JTS is a library for Euclidean planar linear geometry, so all the geography-related operations have to be implemented using JTS's primitives. That's why there is some lengthy logic on geography measurement functions. Those implementations are similar to what Presto is doing.
   > 
   > Will update the design doc to reflect this change
   
   For ser-de, we are using the customized serializer, so I don't think there will be performance difference between these 2 libraries?
   For geography operations, we should leverage ESRI for the calculation (or are you planing to implement all geography operations yourself?).
   We need to support both geometry (SRID 0) and geography (SRID 4326) operations:
   - If ESRI supports both geometry and geography operations, we can use only ESRI to do the calculation
   - If not, we should use JTS for geometry and ESRI for geography calculation


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

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@pinot.apache.org
For additional commands, e-mail: commits-help@pinot.apache.org