Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

ArcGIS supports building polygons within the flex component that contain self-intersecting rings, as well as rings that touch at multiple points (breaking the "arbitrary" rules here: http://workshops.opengeo.org/postgis-intro/validity.html ).

This causes incompatibility when passing these shapes to PostGIS. The article above mentions buffering to fix some of these issues, but this seems to only fix some cases, and often ends up with a different shape polygon than was intended (eg, only half of the poly).

Is there a way to convert these to monotonic polygons within flex so that this problem is eliminated? Or a Java API to do the same?

Or is there some other approach entirely to solving this problem?

share|improve this question
add comment

1 Answer 1

Use the Simplify method of the Geometry service:

http://resources.esri.com/help/9.3/arcgisserver/apis/flex/apiref/com/esri/ags/tasks/GeometryService.html#simplify()

share|improve this answer
    
The simplify method does appear to do exactly what I need, provided that I have access to a ArcGIS server running the GeometryService. Is there a third-party implementation (eg, pure Java) implementation of the same algorithm? –  jsight Nov 29 '10 at 18:24
    
Apparently there are some ways to do this in PostGIS: linfiniti.com/2010/07/cleaning-geometries-inside-postgis I'm not that familair with PostGIS but ther are several other articles that talk about this. –  MichaelK Nov 29 '10 at 23:41
    
Unfortunately, those don't seem to do the same thing... running them often results in polygons that don't match what was drawn in arcgis at all. So far, the GeometryService (which may not be available) is the only service that I have found to do this reliably. –  jsight Dec 1 '10 at 17:21
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.