3

I have a large number of geometries, currently stored in Oracle, some of which contain arc segments.

I need to convert these geometries into LRS (Linear Referencing System) format so I would like to convert all the arcs to straight line segments.

I may have to write something in PL/SQL but, being a lazy sort, I was rather hoping someone had done this before.

Doesn't have to be in PL/SQL, I also have ArcGIS for Desktop, MapInfo, GeoMedia and FME if any of those would do it.

  • 1
    Just discovered ArcStroker in FME which looks like it may do the trick (once I've fixed the other problems with invalid geometries) – kenneedham Jun 20 '14 at 13:29
  • 1
    We use ArcStroker in FME to move CAD to GIS pure arcs to very small lines to preserve the arcs shape. – Mapperz Jun 20 '14 at 14:38
3

In FME, this is as simple as connecting your data to an ArcStroker transformer.

From the help page:

Converts arc features into lines replacing the feature geometry with a series of edges interpolated along the arc boundary. Ellipse features are converted into polygons by interpolating edges along the elliptical boundary.

If the input geometry is a path consisting of arcs and lines, or an area whose boundary is such a path, then any arcs in the path will be stroked, also using the Number of Interpolated Edges given.

enter image description here

There are a few parameters to allow you to determine how the arcs are stroked.

Prior to running it through the ArcStroker, you may want to filter your geometry using a GeometryFilter transformer. You can port the arcs separately, then join them back to your lines later on. Though, this may not be necessary.

  • Not sure why I never found ArcStroker before. I've definitely been through this on previous occasions, but then I always have a problem guessing what Safe have decided to call various transformers. Anyhow, it seems to work a treat of the geometries I've managed to patch up so far. – kenneedham Jun 23 '14 at 10:04
5

In ArcGIS for Desktop, you can use the tool Densify.

Adds vertices along line or polygon features. Also replaces curve segments (Bezier, circular arcs, and elliptical arcs) with line segments.

We're looking for long answers that provide some explanation and context. Don't just give a one-line answer; explain why your answer is right, ideally with citations. Answers that don't include explanations may be removed.

  • Exactly what I needed, thanks! I think this sufficiently answers the question, since the link elaborates on the content. – John Sep 30 '15 at 20:28
0

If you can copy your arcs into a shapefile and then from shapefile back to its original format then you should find that the true curves are now short segments.

I did this recently using the Copy Features tool of ArcGIS Desktop 10.0 to convert a true curve to a polyline of short segments in a file geodatabase.

The storage format is different but the principle remains the same.

0

First, use ogr2ogr and apply -segmentize option (recommended): http://www.gdal.org/ogr2ogr.html

Second, use Spatialite and apply ST_Segementize(): http://www.bostongis.com/PrinterFriendly.aspx?content_name=spatialite_tut01

Third, use PostGIS and apply ST_CurveToLine(): http://www.postgis.org/docs/ST_CurveToLine.html

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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