Forgive me, if my comments are somewhat confusing. The isolated ERSI holes, are not added to the other inner rings. All isolated ESRI holes are added as interior rings to the polygon being processed.
Prior to writing the converter I did some interactive experiments with ArcSDE. I found out, that ArcSDE actually accepts ESRI-loops sitting on the outer side on an interior ring in a JTS polygon. ArcSDE will even accept multiple loops sitting on the outside of the exterior ring in a JTS polygon. Such a polygon would need to be converted to a JTS multipolygon, if it going to be SFS/JTS valid. The converter will not perform such a conversion, as I think it is an error, to have such polygons in the first place. /Aron. -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Simon Greener Sent: 14 February 2009 06:00 To: [email protected] Subject: [jts-devel] ArcSDE polygons and holes Larry, > 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? ESRI's ArcSDE existed before ESRI did and also before the OGC SFS standard existed. In the original SDBE polygons were allowed to have inversions and exversions. An inversion is where the interior boundary touch a vertex of the outer boundary. An inversion touching a vertex of the outer shell is considered part of the outer shell. SDBE also allowed exverted polygons (a form of a bow tie). I have attached some images to help make this clearer. (I have been intending on writing a blog article on this for a few years - including how to handle them in Oracle - and have not gotten around to it. Perhaps it is about time I did. regards Simon -- SpatialDB Advice and Design, Solutions Architecture and Programming, Oracle Database 10g Administrator Certified Associate; Oracle Database 10g SQL Certified Professional Oracle Spatial, SQL Server, PostGIS, MySQL, ArcSDE, Manifold GIS, FME, Radius Topology and Studio Specialist. 39 Cliff View Drive, Allens Rivulet, 7150, Tasmania, Australia. Website: www.spatialdbadvisor.com Email: [email protected] Voice: +613 9016 3910 Mobile: +61 418 396391 Skype: sggreener Longitude: 147.20515 (147° 12' 18" E) Latitude: -43.01530 (43° 00' 55" S) NAC:W80CK 7SWP3 _______________________________________________ jts-devel mailing list [email protected] http://lists.refractions.net/mailman/listinfo/jts-devel
