I think you are mixing up rendering systems (Java2D) with topology
packages.  These have different goals and different data requirements.

Larry Becker

On Thu, Feb 12, 2009 at 7:04 AM, Alvaro Zabala <[email protected]> wrote:

> The problem is that OpenJUMP uses JTS as geometry model, and JTS is a
> restrictive geometry model, based in SFS OGC specification.
> This specification says "polygons shells must not have self-intersections",
> so when JTS finds this kind of geometry launchs an exception
> (TopologyException).
>
> Other projects, like gvSIG, Geotools, etc. use a less restrictive geometry
> model: Java2D, for rendering geometries. So when the persistence driver
> reads a self-intersecting polygon shell, it doesnt create a JTS polygon, it
> creates a Java2D GeneralPath, geometry model which allows self-intersecting
> polygons.
>
> In my opinion, one of the points where JTS could improve in this subject is
> not to "short-cuit" validation in isValid() geometry method. This method,
> when find an error, launchs an exception, so you need many iterations to
> correct a geometry at all.
>
> I have developed a Quality Assurance library for gvSIG project: libTopology
> [1], to ensure topological correctness with a rule based model. Im planning
> to port this library to GeoAPI (in medium term, not before the final of 2009
> for overworking :(  ), to allow geometry validations. I have desglosed all
> isValid validations in multiple steps [2]. This, of course, is only a proof
> of concepts.
>
> [1] libTopology.
> http://subversion.gvsig.org/gvSIG/trunk/libraries/libTopology/
> [2] Decompsing isValid().
> http://subversion.gvsig.org/gvSIG/trunk/libraries/libTopology/src/org/gvsig/topology/topologyrules/JtsValidRule.java
> 2009/2/12 Tuure Laurinolli <[email protected]>
>
> Sunburned Surveyor wrote:
>>
>>> Tuure,
>>>
>>> You wrote: "...OpenJUMP doesn't deal with some oddly broken
>>> geometries..."
>>>
>>> What are you trying to do with these geometries and how are they broken?
>>>
>>
>> With OpenJUMP I was trying to see if the invalid geometries were important
>> enough to be salvaged, or if I could just drop them. This was part of
>> preprocessing to get a Shape reader to accept them for conversion into a
>> proprietary format. The converter read even the invalid geometries in fine,
>> but at later stages of conversion there were problems - thus I had to find
>> and either drop or fix invalid geometries in the early stages of conversion.
>>
>> Usually the problematic geometries had self-intersections and duplicate
>> points, but some were stranger and had e.g. those inverted rings I mentioned
>> before.
>>
>> _______________________________________________
>> jts-devel mailing list
>> [email protected]
>> http://lists.refractions.net/mailman/listinfo/jts-devel
>>
>
>
>
> --
> Alvaro Zabala Ordóñez
> azabala[en]gmail[punto]com
> alvaro.zabala[en]juntadeandalucia[punto]es
> Tlf: 954 995 572
> Gabinete de Normalización y Calidad
> Servicio de Coordinación y Desarrollo de Sistemas Horizontales.
> D.G. de Innovación y Administraciones Públicas.
> Consejería de Innovación, Ciencia y Empresa, Junta de Andalucía
>
>
>
> _______________________________________________
> jts-devel mailing list
> [email protected]
> http://lists.refractions.net/mailman/listinfo/jts-devel
>
>


-- 
http://amusingprogrammer.blogspot.com/
_______________________________________________
jts-devel mailing list
[email protected]
http://lists.refractions.net/mailman/listinfo/jts-devel

Reply via email to