Permíteme explicarte un párrafo de contexto antes de llegar a lo divertido: En un video anterior<\/A> incluí un ejemplo de cómo capturar una restricción espacial del mapa o escena activa de ArcGIS Pro y enviarla a un espacio de trabajo ETL. El ejemplo trabajaba con un servicio WFS; estos tienen un parámetro de caja delimitadora que puede restringir las entidades recuperadas. Los servicios WFS también soportan operadores espaciales más complejos que pueden usarse con operandos geométricos arbitrarios suministrados como fragmentos GML. Sin embargo, a menos que sepas cómo armar todo el XML requerido para las solicitudes WFS, estarás como yo, aterrorizado de intentarlo. ArcGIS Pro 2.3 solo soporta una restricción de caja delimitadora en servicios WFS.<\/P><\/P>Las restricciones espaciales son mucho más fáciles con feature services. Este blog te mostrará lo sencillo que es.<\/P><\/P>El geoprocesamiento básico ha soportado feature services como parámetros de entrada durante varias versiones, ¿por qué molestarse en usar Spatial ETL contra feature services? Bueno, si tu feature service va a salir en otro formato, o estás usando algunas transformaciones que indican Data Interoperability, o tu feature service es muy grande y no quieres usar selecciones para subconfigurarlo. Acabo de ayudar a un cliente que necesitaba manejar dinámicamente una restricción espacial a mitad del ETL con un transformador FeatureReader (más sobre eso abajo). Hay muchos casos de uso.<\/P><\/P>Data Interoperability se trata de enfoques sin código, pero haré una pequeña desviación hacia los parámetros de consulta REST API de feature service para que entiendas qué sucede. A continuación hay una captura de pantalla de la vista HTML de un endpoint Query del feature service<\/A>. Observa que hay un parámetro Input Geometry<\/STRONG> (suministrado como JSON) y puedes configurar cómo se usa, en mi caso es un Polygon<\/STRONG> para el cual quiero solo entidades que satisfagan la restricción Intersects<\/STRONG>.<\/P><\/P><\/P><\/P>Entonces, el truco para aplicar restricciones espaciales a feature services es simplemente suministrar la geometría!<\/P><\/P>En la descarga del blog (Pro 2.3+) encontrarás la herramienta de ejemplo usada, pero el enfoque es muy simple, solo aplícalo tú mismo en tus propios modelos. Haz clic para ampliar este gráfico y ver el mapa que usé, el conjunto de entidades en el mapa y tabla de contenidos y el modelo ejecutado como herramienta. El conjunto de entidades está impulsando automáticamente la geometría del análisis.<\/P><\/P><\/P><\/P>La herramienta usada es el Modelo llamado SpatiallyConstrainedGP<\/STRONG> que tiene un parámetro de entrada del tipo Feature Set. En tiempo de ejecución suministras un valor eligiendo una capa o clase de entidad o creando una entidad manualmente editando en el mapa.<\/P><\/P><\/P><\/P>SpatiallyConstrainedGP<\/STRONG> envuelve la herramienta ETL SpatiallyConstrainedETL <\/>\STRONG> así, hay una herramienta modelo Calculate Value<\/>\STRONG> entre el conjunto de entidades de entrada y la herramienta ETL:<\/P><\/P><\/P><\/P>Todo lo que hace Calculate Value<\/>\STRONG> es convertir el conjunto de entidades de entrada en una cadena JSON con un fragmento Python:<\/P><\/P><\/P><\/P>Luego el JSON se suministra al parámetro publicado Input Geometry de la herramienta ETL (¡recuerda el endpoint Query!) y...<\/P><\/P><\/P><\/P>...la herramienta ETL hace su trabajo, considerando solo las entidades que intersectan mi conjunto de entidades...<\/P><\/P>
<\/P>
Las restricciones espaciales son mucho más fáciles con feature services. Este blog te mostrará lo sencillo que es.<\/P>
El geoprocesamiento básico ha soportado feature services como parámetros de entrada durante varias versiones, ¿por qué molestarse en usar Spatial ETL contra feature services? Bueno, si tu feature service va a salir en otro formato, o estás usando algunas transformaciones que indican Data Interoperability, o tu feature service es muy grande y no quieres usar selecciones para subconfigurarlo. Acabo de ayudar a un cliente que necesitaba manejar dinámicamente una restricción espacial a mitad del ETL con un transformador FeatureReader (más sobre eso abajo). Hay muchos casos de uso.<\/P>
Data Interoperability se trata de enfoques sin código, pero haré una pequeña desviación hacia los parámetros de consulta REST API de feature service para que entiendas qué sucede. A continuación hay una captura de pantalla de la vista HTML de un
..que es hacer una hoja de cálculo resumiendo algunos totales del área parcelaria por caso de un atributo:
Así que eso es todo, solo toma JSON del mapa cuando necesites suministrar a un lector feature service un parámetro Input Geometry. Si estás usando un transformador FeatureReader para leer un feature service, el flujo es un poco diferente, necesitarás convertir el JSON en una entidad FME real con un GeometryReplacer (la codificación geométrica es Esri JSON) y suministrarlo como la restricción iniciadora Spatial Filter del FeatureReader, así:
Ahora puedes aplicar restricciones espaciales impulsadas por el mapa a tu ETL!<\/>BODY<\/>HTML>
Los miembros registrados pueden publicar, seguir actualizaciones y más. ¿Nuevo aquí? Regístrate gratis.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.