Szakacs, Balazs ha scritto:
> Dear Group
> 
> Please commit to me if this bug or not.
> 
> I'm trying to insert a very simple polygon with hole in multipolygon
> environment. The hole touches the exterior with one single point.
> 
> +----------+----------+
> |         / \         |
> |        /   \        |
> |       /     \       |
> |      +-------+      |
> |       Inner ring    |
> |                     |
> +---------------------+
>   Outer ring
> 
> The insert transaction (see below) can be tested with geoserver sample
> requests client.
> 
> In this case after a warning ("Topology Error building polygon") I get
> an error message too.
> 
> The reason is in SubHandlerPolygon.java in Line 217.
> 
> /**
>      * Returns the completed OGC Polygon.
>      *
>      * @param geometryFactory Geometry factory to be used in Polygon
> creation.
>      *
>      * @return Completed OGC Polygon.
>      */
>     public Geometry create(GeometryFactory geometryFactory) {
>         for (int i = 0; i < innerBoundaries.size(); i++) {
>             LinearRing hole = (LinearRing) innerBoundaries.get(i);
> 
>             if (hole.crosses(outerBoundary)) {
>                 LOGGER.warning("Topology Error building polygon");
> 
>                 return null;
>             }
>         }
>         return geometryFactory.createPolygon(outerBoundary,
>             (LinearRing[]) innerBoundaries.toArray(new LinearRing[0]));
>     }
> 
> In this case result of "if (hole.crosses(outerBoundary))" is FALSE !!
> 
> I think this is wrong and neither conforms to OGC Simple Feature spec.
> nor JTS Tech Spec.
> 
> Please let me know if can you commit this as bug or I'm wrong.

It's not a bug. It's a clear example of invalid polygon according to
the OGC simple feature specification, page 2-9, figure 2.5.
See http://cgns-dev.nrcan.gc.ca/cgns_web/docs/sld-071-r0.pdf
That thing must be represented as a single ring touching itself in a 
single point afaik (but I'm not sure, you have to try out).

Hope this helps
Andrea Aime

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Geotools-gt2-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-gt2-users

Reply via email to