Hi All,
Over the last few days, I have started to develop new calcite spatial functions 
based upon locationtech libraries - jts-core and proj4j - basically replacing 
the esri-geometry-api.

JTS is the Gold Standard and there are far more examples/templates out there 
from an algo implementation perspective.
It is still early days yet - lots to do - but I have placed a project on GitHub 
- jonrmayer/geofunctions - which contains all the code to date.

| 
| 
| 
|  |  |

 |

 |
| 
|  | 
jonrmayer/geofunctions

Contribute to jonrmayer/geofunctions development by creating an account on 
GitHub.
 |

 |

 |



 It is intended to be a like-for-like replacement of the existing 
calcite-core/runtime/GeoFunctions.java file.
With some minor edits to calcite-master pom /calcite-core pom - it is feasible 
to drop this in as a replacement - adding the calcite imports etc to the top of 
the file.
Tests however will be a problem - eg. spatial.iq will no longer be relevant. 
ESRI outputs geometries to JSON whereas JTS outputs WKT - this will need to be 
rewritten.
My current plan is to focus on implementing as many functions as possible with 
basic tests and then to improve on the (very) basic Maven testing before 
letting anyone know that I am reasonably happy.
I should imagine that spatial.iq will have to wait a fair while - I will need 
it to test Geometry Collections for eg ST_DWithin/ST_Collect etc and hope that 
the maven test are enough from a confidence perspective.
A bit of background:- I have 10+ years in the GIS/spatial arena but only 1.5 
years with Java ( very junior ) I know PostGIS/H2GIS/Oracle/SQlServer/OGR/NTS 
etc. - biased towards the former. I know what I am looking for re: results. My 
recent focus has been developing Spatial Data Flows within Apache Nifi - hence 
the interest in Calcite.
I would like to contribute to the project but I don't believe that I could ever 
become a "Contributor" - I would mess it up.

I can build Calcite within my very narrow (Nifi) world view but do struggle 
with a full build. I need the help of a master if there is an appetite to 
integrate this.
I think I have managed to extend the current spatial function coverage - I have 
added a "Status Report" to the project - jonrmayer/geofunctions. I copied this 
from Calcite Documentation and it is a bit of a shorthand. I have 
removed/replaced/added various funtions but it provides a good overview.

| 
| 
| 
|  |  |

 |

 |
| 
|  | 
jonrmayer/geofunctions

Contribute to jonrmayer/geofunctions development by creating an account on 
GitHub.
 |

 |

 |



Regards,
Jonathan Mayer












Reply via email to