You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@sis.apache.org by Nicholas Knize <nk...@gmail.com> on 2015/04/06 14:36:29 UTC

Proposed Geo3D package

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

Re: Proposed Geo3D package

Posted by "Mattmann, Chris A (3980)" <ch...@jpl.nasa.gov>.
What Martin said :)

I’d be very interested in this collaboration happening Nicholas
thank you for reaching out and to the Lucene community for wanting
to integrate. 

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Chris Mattmann, Ph.D.
Chief Architect
Instrument Software and Science Data Systems Section (398)
NASA Jet Propulsion Laboratory Pasadena, CA 91109 USA
Office: 168-519, Mailstop: 168-527
Email: chris.a.mattmann@nasa.gov
WWW:  http://sunset.usc.edu/~mattmann/
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Adjunct Associate Professor, Computer Science Department
University of Southern California, Los Angeles, CA 90089 USA
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++






-----Original Message-----
From: Martin Desruisseaux <ma...@geomatys.com>
Organization: Geomatys
Reply-To: "dev@sis.apache.org" <de...@sis.apache.org>
Date: Monday, April 6, 2015 at 9:58 AM
To: "dev@sis.apache.org" <de...@sis.apache.org>
Subject: Re: Proposed Geo3D package

>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/Gene
>ralEnvelope.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.
>


Re: Proposed Geo3D package

Posted by Martin Desruisseaux <ma...@geomatys.com>.
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.


Re: Proposed Geo3D package

Posted by Nicholas Knize <nk...@gmail.com>.
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.

On Mon, Apr 6, 2015 at 10:29 AM, Martin Desruisseaux <
martin.desruisseaux@geomatys.com> wrote:

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

Re: Proposed Geo3D package

Posted by Martin Desruisseaux <ma...@geomatys.com>.
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
>