Aquí están mis datos de materia, los datos parcelarios del Estado de New Jersey (~3.5 millones de entidades, 4.4 GB con 45 campos), con agradecimientos al equipo técnico de NJ por su ayuda para armar esta muestra.
Pronto explicaré por qué una parcela está resaltada...

Primero, con referencia al título de la publicación, esta discusión no está ligada a ArcGIS Online, puede que estés trabajando con ArcGIS Enterprise e implementes este flujo de trabajo, así que acompáñame. El desafío de mantener una capa de entidades alojada de big data es común.
El problema que intentamos resolver aquí es aplicar una actualización de datos a un servicio en vivo cuando la transacción de actualización es muy grande, en nuestro caso decenas de miles de ediciones parcelarias se escriben varias veces al año, las entidades pueden ser ricas en puntos y el esquema es amplio. Si sobrescribes el servicio usando la interfaz de usuario principal de ArcGIS Pro consume una sesión por mucho tiempo, así que pongamos en marcha una automatización más eficiente usando ArcGIS Data Interoperability y escribamos solo la transacción delta.
Para ser específicos, el modo de escritura changeset recomendado para transacciones grandes es upsert. Esto requiere que el servicio de entidades destino tenga un campo clave con restricción única, lo cual tienen los datos materia. Los upserts se envían en fragmentos de 10 MB en lugar de conjuntos de entidades con el recuento máximo de filas soportado por el servicio (2000 para datos poligonales).
Mantener servicios de entidades alojados aplicando una transacción delta como ediciones es un camino bien recorrido, la detección de cambios en ArcGIS Data Interoperability es ideal para esto. Sin embargo, hay algunas cosas a notar aquí:
- Los datos entrantes para la actualización están en formato file geodatabase
- El espacio de trabajo destino es un servicio de entidades alojado
- Los conjuntos de datos no están co-localizados
Esto implica algunos problemas:
- Transmitir localmente los datos del layer alojado para calcular el changeset tomaría mucho tiempo
- Los campos de geometría, fecha y numéricos necesitan tener su precisión acordada para una detección correcta del cambio
- Diferencias sutiles en valores requieren manejo cuidadoso
Los problemas con la concordancia de precisión pueden resolverse con configuración del herramienta ETL, pero para evitar el problema completamente el enfoque que tomaremos es descargar el servicio de entidades destino como su propio file geodatabase, así que las diferencias dependientes del almacenamiento en precisión no son un factor. Luego el changeset puede calcularse fácilmente localmente entre dos clases de entidad file geodatabase y escribir el delta eficientemente.
Aquí es donde entra la parcela resaltada en el mapa. Las parcelas pueden tener geometría compleja, los límites pueden tener múltiples segmentos, y los segmentos pueden ser curvas verdaderas. Aunque almacenar curvas verdaderas en capas alojadas está soportado, editarlas está restringido. Aquí algunas propiedades relevantes de mi servicio destino:
{"allowGeometryUpdates" : true,
"supportsTrueCurve" : true,
"supportedCurveTypes" : ["esriGeometryCircularArc"],
"allowTrueCurvesUpdates" : true,
"onlyAllowTrueCurveUpdatesByTrueCurveClients" : true}Lo que puedes deducir es que aunque algo de edición de curvas verdaderas es teóricamente posible, cualquier curva del tipo esriGeometryEllipticArc no está soportada para edición, y adivina qué, un agujero circular tipo dona en una parcela tiene geometría elíptica. Además, nuestro cliente herramienta ETL no es conocido como cliente de curvas verdaderas.
Si usas una versión de ArcGIS Data Interoperability que no soporta el escritor Esri ArcGIS Feature Service necesitarás usar las herramientas administrativas del servicio para establecer onlyAllowTrueCurveUpdatesByTrueCurveClients a false.
Una forma simple para manejar curvas verdaderas es convertirlas en polilíneas al hacer comparaciones geométricas o al escribirlas al servicio usando el transformador ArcStroker, con control sobre la desviación máxima respecto a la curva verdadera. Esto reemplaza cualquier segmento arco con polilíneas, temporalmente para comparación geométrica y permanentemente para cualquier parcela escrita que haya sido actualizada o sea nueva.
Aquí hay un par de vistas del espacio de trabajo que hace todo el trabajo, primero la vista Main...

...luego el transformador personalizado looping verde pálido que espera a que termine la exportación file geodatabase...

La exportación file geodatabase toma un tiempo variable según lo ocupado que esté ArcGIS Online. Ejecuté la herramienta a una hora programada que resultó ser las 3AM UTC, tomó 23 minutos la exportación. He visto 10 minutos o una hora, pero también he visto fallos al probar en horas ocupadas para ArcGIS Online. Se recomienda programar la herramienta fuera de horas pico en Norteamérica y Europa , así que usé las 3AM UTC.
Para aplicar "codificación defensiva", justo antes y dentro del transformador looping que espera la finalización del trabajo exportación, hay un par de transformadores Emailer que envían detalles del sometimiento del trabajo y detalles del fallo del trabajo si ocurre. El soporte Esri necesitará ambos detalles para diagnosticar el comportamiento del servicio ante errores, por favor abre un caso soporte si experimentas problemas.
Aquí hay un ejemplo del cuerpo del correo electrónico con detalles del trabajo:
Servicio de entidades:
https://services.arcgis.com/FQD0rKU8X5sAQfh8/arcgis/rest/services/NJParcels/FeatureServer
Tarea exportación servicio entidades:
9f77069e-e212-46bb-8696-b7ce4f54c882::FQD0rKU8X5sAQfh8
del ítem servicio:
4480efce4518473096613597d461e55f
a ítem exportación:
1fc913da28174608b9a65859bcc8b9b0
iniciado a hora local:
2026-01-26T07:03:23.5436242-08:00
Tipo es archivo y Tamaño es 4823392256
Aquí está cómo luce un mensaje por fallo en exportación (la traducción terminará):
Tarea exportación servicio entidades ha fallado con estado failed
Error ocurrió a hora local 2026-01-26T09:05:01.0944432-08:00
ID tarea fue 9f77069e-e212-46bb-8696-b7ce4f54c882::FQD0rKU8X5sAQfh8
Status request response fue
{"status": "failed","statusMessage": "failed","itemId": "4480efce4518473096613597d461e55f"}
El espacio de trabajo está en la descarga del blog, necesitarás editarlo con tus credenciales ArcGIS Online, detalles del servicio entidad y parámetros del transformador Emailer.
¡Por favor comenta en este foro tus experiencias y preguntas!