ArcMap 10.7.1 - Oracle 18c SDE.ST_GEOMETRY
Tengo una polilínea FC que tiene curvas reales .
Y tengo un script ArcPy que actualiza los valores M de los vértices en las líneas:
import arcpy
connection = "Database Connections\my_conn.sde"
feature_class = connection + "\my_owner.my_fc"
spatial_reference = arcpy.Describe(feature_class).spatialReference
with arcpy.da.Editor(connection) as edit_session:
with arcpy.da.UpdateCursor(feature_class, "SHAPE@") as cursor:
for row in cursor:
geometry = row[0].densify("ANGLE", 10000, 0.174533)
parts = arcpy.Array()
for part in geometry:
points = arcpy.Array()
for point in part:
point.M = geometry.measureOnLine(point)
points.append(point)
parts.append(points)
row[0] = arcpy.Polyline(parts, spatial_reference)
cursor.updateRow(row)
El script reconstruye y sustituye la geometría de las líneas. Por lo tanto, lamentablemente elimina las curvas verdaderas de las formas.
Antes de ejecutar el script:
Después de ejecutar el script:
Pregunta:
Con ArcPy, ¿hay alguna forma de editar vértices sin eliminar las curvas verdaderas del SHAPE?
Por ejemplo, ¿hay alguna forma de hacer algo así?
UpdateVertex (shape, partNum, vertexNum, [x, y, z, m])
Relacionado:
Curvas verdaderas = Maldad verdadera
Idea: ArcPy - Editar vértices sin eliminar curvas verdaderas