ArcMap 10.7.1 — Oracle 18c SDE.ST_GEOMETRY — Polyline FC
Occasionally, we come across scenarios where we want to select rows in a FC in the attribute table, but there isn't a way to run the query using Select by Attributes — due to limitations in Oracle SQL or SDE.ST_GEOEMTRY functions.
For example:
Select features that have true curves.
While it's not possible to make that selection via SQL, it's relatively easy to find the records via ArcPy:
- ArcMap 10.7.1:
def has_curves(geom): geom_orig = geom geom_densified = geom.densify("ANGLE", 10000, 0.174533) if geom_orig.pointCount != geom_densified.pointCount: return "Y" else: return None
- ArcGIS Pro: hasCurves Geometry property
In order to use Python to find features with curves, I think I would need to create a new HAS_CURVES field in the FC. Or create a parallel table to store the flag field, related to the master table via an ID.
That would work, but there are scenarios where we'd rather just select the rows in the attribute table. Instead of creating temporary data.
Is there a way to select rows using Python? (without creating new a new field or table to store a static flag)