[GIS] Identifying true curves/arcs in ArcMap

arcmaparcpydensityenterprise-geodatabaseoracle-dbms

The only good way of creating circles in ArcMap is using true arc, (compound curves) but I need to convert those to vertex (densifying) because of a compatibility problem. I need info for geodatabase and SDO_geometry (arcsde)

and yes there is a way. I use:

UPDATE layer1 a SET arctype = 'compound' WHERE has_compound_curves(a.shape) <> 0;

and then using ET Geotools to densify layer by layer.

But there should be easier way of doing this straightforward in Oracle or ArcMap, and I just want to densify the features that have true arc. I don't want any unnecessary vertices on straight lines and so on.

How can I identify true arcs in ArcMap, and how can I densify them as fast and easy as possible?

Same for Oracle SQL.

Best Answer

I was asked this question today ("How do I identify if a featureclass has curves) and was given some arcpy code suggestions. Modify the following code as you see fit (a flag variable instead of a message for example)

geometries = arcpy.CopyFeatures_management("inputFeatures", arcpy.Geometry())
import json
for g in geometries:
    j = json.loads(g.JSON)
    if 'curve' in j: print "You have true curves!"
    else: print "No curves here"

No curves here
No curves here
You have true curves!
You have true curves!
No curves here
You have true curves!
No curves here
No curves here
You have true curves!
You have true curves!
You have true curves!
You have true curves!
You have true curves!