Martin Desruisseaux <[EMAIL PROTECTED]> wrote on 03/05/2006 12:29:40 AM:
> I already though about it (and missed time, like usual). I would be > very glad if someone else could > begin to create this geometry module! If I end up specifying Geometry for use within the Coverage module, it's going to consist of "points-and-as-little-else-as-I-can-get-away-with". :) But it'll be a start. > As Dave point out, the geooxygen project may worth a look. But I > don't know much about them. > My proposal (what I would have liked to do if I had time to start > coding this geometry module) is to > adapt JTS. More specifically, create the following package: > > org.geotools.geometry.jts Agreed. > Wrapping degree code would not have much interest for Geotools, > since we don't use Degree geometry > objects (by the way, I believe that Degree's API on the geometry > part come from the early GeoAPI > days, before the packages settle down). Wrapping JTS code (instead > of adapting it) would provides a > transition path between JTS-dependent code and GeoAPI-dependent > code. This transition path is likely > to be needed. This would seem to apply to all non-JTS code. I've looked at some of the suggestions so far. None of them implement GeoAPI. One of them bears only a superficial resemblance to 19107 (e.g., the classes have the right names, but most of the method names are "custom") Worse, none of the suggestions so far seems like a very active project. That alone scares me off. ;) > A limitation of JTS wrappers is that they would work only for > geometries in a 2D cartesian space. We > should make that clear in the documentation. However, it would be a > valuable start. It would give us > more time for looking alternative implementation in the future > (geooxygene?), if we wish. Out of curiousity, does JTS work in a lat/lon space? Mentally, I can't picture it working with axes that aren't length units. BTW- This should make our lives easier. ISO 19107 / OGC Abstract Spec Topic 1: "There are 39 comformance classes for application schemas that instantiate geometric or topological objects. They are differentiated on the basis of three criteria. The first two criteria determine the types defined in this schema that shall be implemented by an application schema that conforms to a given conformance option. The third criterion determines the elements of those types that shall be implemented. The first criterion is level of data complexity. Four levels are identified: Geometric primitives, GeometricComplexes, Topological complexes, Topological complexes with geometric realization. The second criterion is dimensionality. There are four levels for simple geometry: (0), (0 & 1), (0, 1, & 2), and (0, 1, 2, & 3) dimensional objects. However, [0 dimensional is useless, so is omitted]. The third criterion is level of functional complexity. There are three levels: data types only, simple operations, complete operations." JTS probably covers ("2D, Complete Operations, geometric primitives" and at least "2D, simple operations, geometric complexes.") I have to look closer to see exactly what each one entails. The point is that we can express our "conformance level" in the terms laid out by the standard. With 39 levels to pick from, one of them should probably do the trick. > So my vote would be: Adapters around "official" JTS objects (not a > rewrite of JTS). I don't mean to sound flattering, but I'm not nearly smart enough to do that. I'm only smart enough to swipe the code. ------------------------------------------------------- This SF.Net email is sponsored by xPML, a groundbreaking scripting language that extends applications into web and mobile media. Attend the live webcast and join the prime developer group breaking into this new coding territory! http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 _______________________________________________ Geotools-devel mailing list Geotools-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geotools-devel