CÓMO
En ArcGIS Pro, las entidades de punto que contienen campos de fecha son importantes para realizar un seguimiento de los patrones a lo largo del tiempo. A veces, estos puntos contienen una duración de fecha especificada y ya no son válidos para mostrarse en el mapa. Esto es importante para evitar confusiones y mejorar la claridad de los datos, ya que los puntos no válidos pueden crear confusión, lo que conlleva una interpretación incorrecta de los datos.
En este artículo se describe el flujo de trabajo para eliminar puntos no válidos mediante ArcPy en ArcGIS Pro.
Note: This workflow requires a full script to run in the ArcGIS Pro Python window. All the indents are to be kept as portrayed in the code block.
import arcpy
import datetime
arcpy.env.workspace = r"<pathToPointFc>"
feature_class = "<featureClassName>"
date_field = "<dateFieldName>"
#If using the Date field type
threshold_date = datetime.datetime(YYYY, MM, DD)
#If using the Date Only field type
threshold_date = datetime.date(YYYY, MM, DD)
try:
edit = arcpy.da.Editor(arcpy.env.workspace)
edit.startEditing(False, True)
edit.startOperation()
with arcpy.da.UpdateCursor(feature_class, ["OID@", date_field]) as cursor:
for row in cursor:
date_value = row[1]
# Check if date is not None and if it's expired
if date_value:
if date_value < threshold_date:
print(f"Deleting feature with OID {row[0]} and date {date_value}")
cursor.deleteRow()
else:
print(f"Skipping feature with OID {row[0]} because date field is None")
edit.stopOperation()
edit.stopEditing(True)
print("Points removed successfully.")
except Exception as e:
print(e)
edit.stopEditing(False)
El siguiente bloque de código demuestra el script completo.
import arcpy
import datetime
arcpy.env.workspace = r"C:\Users\Documents\ArcGIS\Projects\MyProject40\MyProject40.gdb"
feature_class = "Pointsss"
date_field = "Date"
threshold_date = datetime.datetime(2023, 1, 1)
try:
edit = arcpy.da.Editor(arcpy.env.workspace)
edit.startEditing(False, True)
edit.startOperation()
with arcpy.da.UpdateCursor(feature_class, ["OID@", date_field]) as cursor:
for row in cursor:
date_value = row[1]
if date_value:
if date_value < threshold_date:
print(f"Deleting feature with OID {row[0]} and date {date_value}")
cursor.deleteRow()
else:
print(f"Skipping feature with OID {row[0]} because date field is None")
edit.stopOperation()
edit.stopEditing(True)
print("Points removed successfully.")
except Exception as e:
print(e)
edit.stopEditing(False)
La siguiente imagen muestra los puntos caducados eliminados con ArcPy. Actualice el mapa para aplicar los cambios.

Id. de artículo: 000032387
Obtener ayuda de expertos en ArcGIS
Empieza a chatear ahora