Quantcast

ArcSDE polygons and holes

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

ArcSDE polygons and holes

Simon Greener
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: [hidden email]
  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
[hidden email]
http://lists.refractions.net/mailman/listinfo/jts-devel

BowTie.png (7K) Download Attachment
InvertedPolygon.png (8K) Download Attachment
exverted.png (3K) Download Attachment
DoubleInverted.png (7K) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: ArcSDE polygons and holes

Larry Becker
Thanks Simon.  Your examples help.  Let us know if you write that blog article.

Larry

On Fri, Feb 13, 2009 at 10:59 PM, Simon Greener <[hidden email]> wrote:
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: [hidden email]
 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
[hidden email]
http://lists.refractions.net/mailman/listinfo/jts-devel




--
http://amusingprogrammer.blogspot.com/

_______________________________________________
jts-devel mailing list
[hidden email]
http://lists.refractions.net/mailman/listinfo/jts-devel
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

RE: ArcSDE polygons and holes

Aron Olsen
In reply to this post by Simon Greener
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: [hidden email] [mailto:[hidden email]] On Behalf Of Simon Greener
Sent: 14 February 2009 06:00
To: [hidden email]
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: [hidden email]
  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
[hidden email]
http://lists.refractions.net/mailman/listinfo/jts-devel
Loading...