Indeed, SIS does not yet have a spatial relations like [1]. The current
roadmap is to finish the "coordinate by referencing" (ISO 19111) module
before to address the geometries (ISO 19107) and coverage (ISO 19123)
ones. So at this time, Geo3D would be ahead of SIS regarding geometries.
I think there is some spatial relations in the new ISO 19107 draft, so
this may be a good example of thing provided in Geo3D at first, then
retrofitted to ISO 19107 model.
I guess that the only currently available geometric object which may be
of interest to Lucene-spatial would be GeneralEnvelope [2]. But it is
just a n-dimensional bounding box - it does not contains any formulas
for spherical coordinate system. Its main interest is that it deals with
the anti-meridian problem, and map projections take in account the
curvature of the lines when computing a new envelope.
As a side note, in addition to JTS and S4J, there is another geometry
library which is developed by ESRI and distributed under Apache 2
licence [3]. This is the library that SIS is currently using in its
Shapefile module. I think that the ESRI's library and JTS are close to
each other in terms of functionalities (basically 2.5D geometries), but
the ESRI's one has a more compatible licence. We may develop a geometry
module in SIS anyway, but it would make sense only if we try to address
3D geometries from the ground. In the meantime, I think that the ESRI's
library allow us to do a fair amount of work.
Thanks for getting in touch! I'm looking ahead for a Lucene-SIS
collaboration :-)
Martin
[1] http://en.wikipedia.org/wiki/DE-9IM
[2]
https://builds.apache.org/job/sis-dev/javadoc/org/apache/sis/geometry/GeneralEnvelope.html
[3] https://github.com/Esri/geometry-api-java
Le 06/04/15 18:11, Nicholas Knize a écrit :
> Thank you for taking the time to write such a clear response Martin. Its
> quite nice to see an Apache project doing due diligence on complying with
> the geo standards. The current lucene-spatial module and dependencies are
> lacking in this area so there is mutual interest in leveraging the SIS
> sister project to fill many of these gaps. It keeps lucene free from
> overlapping capabilities and clear to focus on the search mission.
>
> I'm finishing up some compressed QuadTree improvements for Lucene spatial
> and will be shifting my focus to experimenting with what initial spatial
> geometry capabilities can be replaced by SIS that's currently provided by
> JTS and S4J. After that investigation is complete I like your proposed
> approach of retrofitting geo3d to the ISO 19107 model and investigating how
> it can be integrated with SIS. I think this exercise alone will expose the
> work needed to bring SIS to lucene while introducing an experimental 3d
> package to the SIS core-referencing module.
>
> One additional question (to you or the group): in quickly browsing the
> source code (primarily the referencing module) I did not find any spatial
> relation implementation (e.g., DE4/9IM). Its highly likely I overlooked,
> but these relations will become important for the spatial search problem.
> If not currently provided this will likely be the first step required to
> bringing SIS to lucene-spatial.