Hello Nicholas
Thanks you for pointing us to LUCENE-6196, I was not aware of it.
After reading LUCENE-6196 threads and browsing quickly through the
source code, I got the feeling that your proposal - to temporarily add
Geo3D into Lucene-spatial and progressively see which classes could find
a home in SIS - is a good approach. For the reason mentioned in
LUCENE-6196 (code is tuned for the search problem), but also because a
different conceptual model may be considered.
We are strongly interested to a 3D geometric package, and we indeed plan
to provide one. But this long term project may happen too slowly for
Lucene-spatial. The reason is that we try to put a strong emphasis on
international standards, both from ISO (International Organization for
Standardisation) and from OGC (Open Geospatial Consortium). Those
organisations have an international standard for 3D geospatial
geometries, which is ISO 19107 (Geographic information — Spatial
schema). ISO 19107 is also the model behind the GML (Geographic Markup
Language) format. Unfortunately ISO 19107 is reputed very complex. We
know at least 2 Ph.D students who made their thesis about implementing
ISO 19107 [1], but we have not yet been able to make their work operational.
Fortunately, ISO 19107 authors are aware of the standard complexity and
are working on a new versions which brings great simplifications. This
new revision is not yet completed, but is quite advanced. I think that
we should be able to start an experimental implementation soon if we
have volunteer time. One possible approach that I would like to propose
would be to pick Geo3D classes one-by-one and see how they can be
retrofitted in the ISO 19107 model. One a class has been ported into SIS
in an ISO 19107 way, Lucene-spatial may consider replacing their old
class by the new one if they wish. Would that make sense?
Maybe the above proposal would imply one issue that Lucene-spatial
developers will want to debate: if the above approach was taken, it
would imply a dependency from Lucene-spatial to SIS, which may be a
large dependency (expect ~2 Mb for the "coordinate by referencing" +
"geometry" + "metadata" parts). Whether it would be worst the cost
depends on the amount of functionalities of interest to Lucene-spatial.
If Lucene-spatial used only the Geo3D objects ported to the ISO 19107
model, that may be an overkill. But if Lucene-spatial is interested in
map projections, including parsing projection definitions from Well
Known Text (WKT) or fetching them from the industry-standard EPSG
database, or in reading geometries from file formats (Shapefile, GML),
then I think SIS would be worth.
Martin
[1] http://w1.cirrelt.ca/~jena/files/DiplThesisJena07.pdf
Le 06/04/15 14:36, Nicholas Knize a écrit :
> There is a proposed contribution for a 3D planar geometry package to be
> added to Lucene-spatial. See the description and package here:
> https://issues.apache.org/jira/browse/LUCENE-6196
>
> Its quite a nice contribution that has stalled due to some back and forth
> on whether this belongs in Lucene or a Computational Geometry project.
> Since its primary function is 3D planar Geometry (in Spherical or Euclidean
> lat/lon space), and the SIS .geometry package has no 3D functionality, it
> seems like a natural fit for SIS.
>
> I thought I'd reach out to the group to gauge interest in the
> contribution. After speaking with other Lucene contributors it seems
> temporarily adding it to Lucene-spatial until it can find a permanent home
> in its natural habitat provides the best value to the Geo community.
>
> Interested in thoughts.
>
> - Nick
>