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

Reply via email to