Aron,

I'm looking at the following comment in your code. I understand the concept
of boundary-defined rings, but I'm a little confused by "adds them as
interior LinearRings to other interior rings present in that Polygon."

 *  In ArcSDE polygon-holes touching an exterior/interior boundary in a
single point is formed
 *  by a self-closing "loop" in that exterior/interior boundary. This is not
SFS/JTS-valid.

 *  This converter removes such boundary-defined "rings" from the outer and
interior rings of
 *  a JTS Polygon, and adds them as interior LinearRings to other interior
rings present
 *  in that Polygon.

This sounds like an important special case, but I've never encountered it.
Can you give an example to make it clearer?

best regards,
Larry Becker

On Fri, Feb 13, 2009 at 3:14 AM, Aron Olsen
<[email protected]>wrote:

>  Hi there,
>
>
>
> If anyone is in need of it:
>
>
>
> Attached you will find a SpatialOp-like class, that converts ESRI-holes to
> SFS-holes.
>
> Please do whatever with it as you like. Currently it is in Java 5 coding
> style.
>
>
>
> /Aron.
>
>
>  ------------------------------
>
> *From:* [email protected] [mailto:
> [email protected]] *On Behalf Of *Alvaro Zabala
> *Sent:* 12 February 2009 14:04
> *To:* JTS Topology Suite Development
> *Subject:* Re: [jts-devel] PolygonRectifier?
>
>
>
> 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