Thanks Martin! I'm going to reference this thread in TIKA-605 and we can proceed there, and keep both lists informed.
Thanks! Cheers, Chris On 12/17/12 10:17 AM, "Martin Desruisseaux" <[email protected]> wrote: >Hello all > >Various Envelope implementations has been committed. On Apache SIS, the >main implementation is GeneralEnvelope (already merged on all SIS >branches): > >https://builds.apache.org/job/sis-jdk7/site/apidocs/org/apache/sis/geometr >y/GeneralEnvelope.html > >The GeneralEnvelope class is an implementation of the Envelope interface >defined in GeoAPI on the basis of ISO 19107. This implementation is >"general" because it accepts an arbitrary Coordinate Reference System >(not necessarily geographic) of arbitrary dimension. This class supports >"wraparound" axes, the most common case being longitudes crossing the >anti-meridian, but other kind of axes could also have "wraparound" >property (e.g. dates in climatology). The GeoAPI CoordinateSystemAxis >interface derived from ISO 19111 contains the information needed. Every >add(...), contains(...) and intersects(...) methods in GeneralEnvelope >should works correctly with wraparound axes. > >The geometry package provides also an Envelope2D implementation as a >subclass of java.awt.Rectangle2D. This class is provided for Java2D >interoperability, but as the name implies is restricted to >two-dimensional coordinates. All its methods have been overwritten for >supporting wraparound axes too. > >I also committed a very simple implementation in the public domain for >demonstration purpose: > >http://www.geoapi.org/geoapi-examples/apidocs/org/opengis/example/geometry >/SimpleEnvelope.html > >For Tika, one approach that Joe or other may consider could be: > > 1. Add a dependency to GeoAPI 3.0.0 (official release only, no >milestone). > 2. Copy/modify the SimpleEnvelope example in a Tika's > *package-privated* class under Apache 2 license. > 3. Make sure that the public API expose only the Envelope interface, > never the SimpleEnvelope implementation. > 4. Only if experience shows that Tika needs a more powerful geospatial > engine, delete the SimpleEnvelope implementation and use > GeneralEnvelope instead. Code using the Envelope interface should > not be affected. > > > Martin >
