Skip To Content

Tutorial: publicar un servicio de WFS T

Complejidad: PrincipianteRequisitos de datos: Usar sus propios datosObjetivo: Publicar un servicio de WFS-T con ArcGIS Server y utilizarlo en un navegador Web.

Este tutorial muestra cómo publicar un servicio de entidades web (WFS) con transacciones (WFS-T) en ArcGIS Server utilizando ArcMap. WFS es una especificación publicada por el Open Geospatial Consortium, Inc. (OGC) para proporcionar entidades geográficas en Internet. Un servicio de WFS con transacciones (WFS-T) permite a los clientes WFS aplicar ediciones (inserciones, borrados y actualizaciones) a los datos en la base de datos de origen a través del servicio de WFS.

Cuando un servicio de mapas o de geodatos se publica con funciones WFS, los clientes WFS compatibles con OGC, incluida ArcGIS Data Interoperability extension for Desktop de ArcGIS Desktop, pueden acceder a los datos. Estos clientes WFS también pueden ver los últimos cambios realizados en los datos. Si es la primera vez que usa los servicios WFS y desea obtener más información sobre ellos antes de realizar este tutorial, consulte Servicios WFS.

Los servicios WFS son compatibles con las entidades simples procedentes de fuentes Esri, tales como shapefiles y geodatabases. Sin embargo, si va a habilitar transacciones en el servicio (WFS-T), todos los datos que desee editar deben estar almacenados en una geodatabase corporativa o de grupo de trabajo. Este tutorial muestra el flujo de trabajo que se debe utilizar cuando se trabaja específicamente con datos versionados.

Antes de comenzar con este tutorial

Si acaba de instalar ArcGIS Server, debe completar algunos pasos preparatorios para poder conectarse al servidor y publicar servicios:

Nota:

Este tutorial utiliza ejemplos para WFS 1.1.0; sin embargo, estos pasos también valen para WFS 2.0.0. WFS 1.0.0 no admite transacciones.

Decidir entre un servicio de geodatos o un servicio de mapas

Con el servicio WFS, tiene la opción de publicar un servicio de geodatos o un servicio de mapas. Existen algunas diferencias que debe tener en cuenta cuando seleccione el tipo de servicio que va a crear. Las siguientes secciones resumen las funcionalidades disponibles en los servicios de mapas y geodatos para ayudarle a identificar el tipo de servicio que mejor se ajusta a sus requisitos.

Servicio de geodatos

Un servicio de geodatos WFS permite acceder a una geodatabase corporativa, de archivos o de grupo de trabajo a través de Internet o con cualquier cliente WFS compatible con OGC. Cuando se crea un servicio WFS a partir de un servicio de geodatos, es importante tener en cuenta que todas las clases de entidad de la geodatabase quedarán expuestas en el servicio.

Los servicios de geodatos son útiles para las situaciones en que necesita acceder a geodatabases en ubicaciones remotas. Por ejemplo, supongamos que una compañía desee configurar geodatabases corporativas para administrar los datos de sus oficinas de Los Ángeles y Nueva York. Una vez creadas, cada oficina puede publicar sus geodatabases corporativas en Internet mediante un servicio de geodatos.

Servicio de mapas

Un servicio de mapas WFS representa un documento de mapa que ha puesto a disposición de otros usuarios a través de Internet o de cualquier cliente WFS compatible con OGC. Los servicios de mapas con la funcionalidad WFS le proporcionan un gran control de los datos que se publican a través del servicio. En esta sección se presentan algunas razones comunes por las que puede ser conveniente configurar un servicio de mapas:

  • A diferencia de un servicio de geodatos, un servicio de mapas puede incluir datos procedentes de diversos orígenes, incluidos los datos procedentes de diferentes geodatabases y shapefiles.
  • Puede seleccionar las clases de entidad que va a exponer a través del servicio de mapas.
  • Puede cambiar el nombre de las clases de entidad en el documento de mapa de manera que el servicio no exponga los nombres reales en la fuente de datos.

También hay algunas limitaciones asociadas con los servicios de mapas de WFS. Tenga en cuenta lo siguiente cuando publique un servicio WFS desde un documento de mapa:

  • El documento de mapa es una especificación de las capas que estarán disponibles en el servicio WFS. La simbología, definiciones de consulta y alias de campo definidos en el nivel de capa no se transferirán al servicio WFS, ya que el objetivo del servicio es exponer las entidades de los datos. Para exponer las propiedades visuales del mapa mediante especificaciones OGC, utilice un servicio WMS.
  • Dos o más capas del mapa no pueden hacer referencia a la misma clase de entidad.
  • Dos o más capas del mapa no pueden tener el mismo nombre.
  • Dado que WFS sólo trabaja con entidades, cualquier capa ráster del mapa quedará excluida del servicio.
  • Las tablas no espaciales no se exponen.
  • Si desea que el servicio WFS admita transacciones de edición (WFS-T), los datos de origen de todas las capas del mapa deben provenir del mismo espacio de trabajo, por ejemplo, la misma geodatabase corporativa.

Preparar los datos para un servicio WFS-T

Antes de crear un servicio WFS con acceso de lectura y escritura de datos, se requieren algunos requisitos iniciales para configurar los datos:

  • Se deben cargar en una geodatabase corporativa o de grupo de trabajo.
  • Si desea trabajar con datos versionados, deben estar registrados como versionados.
  • La versión deberá estar específicamente adaptada para que los editores de WFS puedan trabajar con ella. Si todavía no existe, deberá crearla.
  • Se deben otorgar permisos a los editores de WFS específicos en el archivo de conexión de base de datos (.sde) que se va a editar.

Siga los siguientes pasos para preparar los datos de un servicio WFS-T con datos versionados:

  1. En ArcCatalog o en la ventana Catálogo en ArcGIS Desktop, cargue los datos que desee publicar en una geodatabase corporativa o de grupo de trabajo. Para obtener más información sobre la carga de datos, consulte Cargar datos en ArcCatalog.
  2. Registre los datos como versionados, para ello haga clic con el botón derecho del ratón sobre el dataset y seleccione Registrar datos como versionados en el menú contextual. Para más información, consulte Registrar datos como versionados.
  3. Ahora que los datos están versionados, debe dedicar específicamente una versión para que los usuarios de WFS la puedan editar. Si no existe dicha versión, haga clic con el botón derecho del ratón en la conexión de base de datos y elija Administración > Administrar geodatabase.
  4. En la ventana de conexión, haga clic en la pestaña Versiones .
  5. Haga clic con el botón derecho del ratón en la versión de la geodatabase de la que desea crear una versión secundaria y haga clic en Nuevo.
  6. Introduzca un Nombre para la nueva versión. Si otros usuarios, además del creador, van a editar datos, debe configurarse la opción de Permiso en Público.
Nota:

Si está creando un servicio de mapas, siga en la sección Servicios de mapas que se muestra a continuación. Si está creando un servicio de geodatos, siga en la sección Servicios de geodatos que se muestra a continuación.

Para servicios de mapas

Para garantizar que el servicio de mapas publica los datos adecuados cuando se crea, el documento de mapa se debe actualizar de modo que haga referencia a la nueva versión de WFS que se ha creado.

  1. Abra el documento de mapa en ArcMap.
  2. En la tabla de contenido de ArcMap, haga clic en Lista por fuente Mostrar por fuente.
  3. Haga clic con el botón derecho del ratón en la conexión de la geodatabase y, a continuación, seleccione Cambiar versión.
  4. En el cuadro de diálogo Cambiar versión, seleccione la versión adaptada para los usuarios de WFS y haga clic en Aceptar.
  5. Guarde los cambios en el documento de mapa.

Para servicios de geodatos

Para garantizar que el servicio de geodatos publica los datos apropiados cuando se crea, las propiedades de conexión de la geodatabase se deben actualizar de modo que hagan referencia a la nueva versión de WFS que se ha creado.

  1. En ArcCatalog o en la ventana Catálogo en ArcGIS Desktop, haga clic con el botón derecho del ratón en la conexión a la geodatabase y elija Administración > Administrar geodatabase.
  2. En el cuadro de diálogo Administración , haga clic en Versiones.
  3. Seleccione la versión adaptada para los usuarios de WFS y haga clic en Aceptar.

Publicar un servicio WFS-T con ArcGIS Server

Para comenzar a publicar un servicio WFS-T, siga estos pasos:

  1. Siga las instrucciones de la tabla siguiente en función del tipo de servicio que desee publicar:

    OpciónDescripción

    Para publicar un servicio de mapas WFS-T...

    ...abra el documento de mapa en ArcMap, elija Archivo > Compartir como > Servicio y haga clic en Siguiente.

    Para publicar un servicio de geodatos WFS-T...

    ...navegue hasta la geodatabase corporativa, de archivos o de grupo de trabajo en ArcCatalog o en la ventana Catálogo, haga clic en ella con el botón derecho y elija Compartir como servicio de geodatos.

  2. En la ventana Compartir como servicio, elija Publicar un servicio y haga clic en Siguiente.

    Aparece el cuadro de diálogo Publicar un servicio.

  3. En el cuadro de diálogo Publicar un servicio, haga clic en Conectar a ArcGIS ServerAgregar ArcGIS Server para crear una nueva conexión al servidor.

    Aparece la ventana Agregar ArcGIS Server.

  4. En la ventana Agregar ArcGIS Server, elija Publicar los servicios SIG y haga clic en Siguiente.
  5. Para la dirección URL del servidor, escriba la URL del sitio de ArcGIS Server al que desea conectarse. Por ejemplo, http://gisserver.domain.com:6080/arcgis.
  6. Desde la lista desplegableTipo de servidor, elijaArcGIS Server.
  7. Durante el proceso de publicación, se crea un archivo de definición del servicio que se almacena temporalmente y de manera local en el disco. Cuando finaliza el proceso de publicación, se carga la definición del servicio en el servidor y se elimina el archivo local. Para los fines de este tutorial, acepte la carpeta provisional predeterminada y continúe.
  8. Si el administrador del servidor ha habilitado la seguridad del sitio, introduzca su Nombre de usuario y su Contraseña, y haga clic en Finalizar.
  9. Opcionalmente, en la ventana Publicar un servicio, escriba un nuevo nombre para el servicio. El nombre no puede tener más de 120 caracteres de longitud y solo puede contener caracteres alfanuméricos y guiones bajos. Haga clic en Siguiente.
  10. De manera predeterminada, los servicios se publican en la carpeta raíz (root) de ArcGIS Server. Los servicios se pueden organizar en subcarpetas dentro de la carpeta raíz. Elija la carpeta donde desea publicar el servicio o cree una nueva carpeta que incluirá el servicio. Haga clic en Continuar.
  11. Se muestra el Editor del servicio. Utilizará el Editor del servicio para elegir lo qué los usuarios pueden hacer con su servicio WFS-T y tomar control preciso de cómo expondrá el servidor su servicio de imágenes. Haga clic en la pestaña Capacidades.
  12. De forma predeterminada, la representación cartográfica y KML están habilitados. Seleccione WFS.
  13. En el panel izquierdo de la Editor del servicio, haga clic en WFS. Utilice este panel para elegir cómo configurar las propiedades del servicio WFS. Al proporcionar las propiedades del servicio WFS, los clientes pueden obtener una mejor comprensión del publicador del servicio.
    • El campoURL muestra la URL que utilizan los clientes para acceder al servicio WFS. La dirección URL tendrá el siguiente formato: http://gisserver.domain.com:6080/arcgis/services/folder/service/MapServer/WFSServer.
      Sugerencia:

      Copie y guarde la URL del servicio WFS. La necesitará para realizar los pasos adicionales de este tutorial.

    • Si desea publicar un servicio WFS con archivos de recursos generados por el sistema, utilice la opción predeterminada Introducir propiedades del servicio a continuación. Los campos de Nombre, Tesela y OnlineResource se completan automáticamente y no se deben modificar. Opcionalmente, puede completar las propiedades adicionales utilizando los campos de la lista. Para más información, consulte lasPropiedades disponibles del servicio WFS.
    • Si desea configurar un servicio WFS para que utilice archivos de recursos externos, seleccione Utilizar archivos de recursos externos. Para utilizar esta opción, debe haber creado un archivo de recursos de WFS. Para más información, consulte Utilizar archivos de recursos externos con servicios WFS.
  14. En la parte inferior del panel WFS, haga clic en la casilla de verificación Habilitar transacciones. Esto permitirá que los usuarios de WFS editen y apliquen cambios a los datos en la base de datos de origen.
  15. Haga clic en AnalizarAnalizar. Esto examina el documento de mapa o geodatabase para ver si se puede publicar en el servidor.
    Sugerencia:

    Para contar con más área de visualización al configurar el servicio WFS-T, haga clic en el botón Contraer Contraer situado en la parte superior del Editor del servicio.

  16. Corrija los erroresError en la ventana Preparar; debe hacerlo antes de publicar. Si lo desea, puede arreglar las advertencias y mensajes informativos para mejorar aún más el rendimiento y apariencia del servicio WFS-T. Para obtener más información acerca de cómo resolver estos problemas, consulte Analizar tu recurso SIG.
    Nota:

    Puede registrar las carpetas y geodatabases en el sitio de ArcGIS Server para asegurarse de que el servidor pueda reconocer y utilizar los datos. Si continúa con los pasos siguientes, todos los datos a los que haga referencia el recurso SIG y que procedan de una carpeta o una geodatabase no registrada se copiarán en el servidor al publicar. Esta es una medida de precaución para asegurar que el servidor pueda acceder a todos los datos que utiliza el servicio. Para obtener instrucciones completas sobre el registro de una carpeta o una geodatabase en el sitio de ArcGIS Server, consulte Registrar datos en ArcGIS Server usando ArcGIS Desktop.

  17. De forma opcional, en el Editor de servicio, haga clic en Vista previaVista previa. Esto puede darle una idea de cómo el servicio WFS-T será cuando se visualizan en la web. Consulte Vista previa de mapa para más información.
  18. Después de solucionar los errores del documento de mapa o la geodatabase, haga clic en Publicar Publicar.

Utilizar el servicio WFS

Una vez que haya publicado un servicio WFS, cualquier cliente que admita el servicio WFS 1.1.0 y el perfil de entidades simples de GML, incluidos los navegadores web, podrá usarlo. Un navegador web es uno de los clientes más sencillos de un servicio WFS. Puede solicitar información a través de HTTP y las respuestas o excepciones se devuelven a través del navegador.

Siga estos pasos para acceder a los servicios WFS mediante un navegador web:

  1. Abra un navegador web.
  2. Lleve a cabo las solicitudes de GetCapabilities, DescribeFeatureType y GetFeature como se indica en las siguientes secciones.

GetCapabilities

Esta solicitud le devolverá todo tipo de entidades y funcionalidades disponibles a través del servicio en formato GML. Para utilizar la operación GetCapabilities, copie y pegue la URL del servicio WFS en la barra de direcciones y agregue ?request=getcapabilitiesal final de la URL.

Ejemplo de dirección URL: http://gisserver.domain.com:6080/arcgis/services/wfs_services/enterprise_wfs/GeoDataServer/WFSServer?service=WFS&request=GetCapabilities

El siguiente gráfico es un ejemplo de una funcionalidad devuelta en la operación GetCapabilities:

Funcionalidad devuelta en la operación GetCapabilities

GetCapabilities también devuelve una lista de todas las tablas y clases de entidad disponibles:

Clases de entidad y tablas disponibles devueltas en la operación GetCapabilities

DescribeFeatureType

Esta solicitud describe la información del campo sobre una o más entidades en el servicio de WFS. Incluye los nombres de campo, los tipos de campo, los valores de campo máximo y mínimo permitidos y cualquier otra restricción establecida en un campo de las clases de entidad o tablas.

Para utilizar la operación DescribeFeatureType, copie y pegue la dirección URL del WFS en la barra de direcciones y agregue ?SERVICE=WFS&REQUEST=DescribeFeatureType&VERSION=1.1.0 al final de la dirección URL. Esto devolverá toda la información del campo de cada una de las tablas y tipos de entidad disponibles en el servicio de entidades.

Ejemplo de dirección URL: http://gisserver.domain.com:6080/arcgis/services/wfs_services/enterprise_wfs/MapServer/WFSServer?SERVICE=WFS&REQUEST=DescribeFeatureType&VERSION=1.1.0

Clases de entidad, información del campo y tablas devueltas en la operación DescribeFeatureType

Agregar filtros

También puede especificar una única tabla o clase de entidad de la que desee obtener información de campo incorporando la siguiente solicitud al final de la dirección URL con el nombre de la tabla o el tipo de entidad: ?SERVICE=WFS&REQUEST=DescribeFeatureType&TypeName=<escribir aquí tipo de entidad>&VERSION=1.1.0.

Para más información acerca de los diferentes filtros disponibles con los servicios WFS, consulte Comunicación con un servicio WMS en un navegador web.

En el siguiente ejemplo, la solicitud DescribeFeatureType se utiliza para identificar la información del campo para el tipo de entidad denominado continente:

Ejemplo de dirección URL: http://gisserver.domain.com:6080/arcgis/services/wfs_services/enterprise_wfs/GeoDataServer/WFSServer?SERVICE=WFS&REQUEST=DescribeFeatureType&typeName=Continent&VERSION=1.1.0

La clase de entidad Continente y su información del campo correspondiente devueltas en la operación filtrada DescribeFeatureType

GetFeature

Esta solicitud devuelve información sobre tipos de entidad específicos disponibles a través del servicio WFS.

Para utilizar la operación GetFeature en un navegador web, copie y pegue la dirección URL del WFS en la barra de direcciones y agregue ?request=getFeature&typename=<enter feature type here> al final de la dirección URL. Esto devolverá toda la información sobre atributos y geometría de cada entidad o fila en el tipo de entidad.

Ejemplo de dirección URL: http://gisserver.domain.com:6080/arcgis/services/wfs_services/enterprise_wfs/MapServer/WFSServer?service=WFS&request=getfeature&typename=cities

Información sobre atributos y geometría de la clase de entidad de ciudades devuelta en la operación GetFeature

Agregar filtros

También puede agregar filtros en la solicitud para delimitar los resultados que se devuelven. Por ejemplo, puede solicitar todas las ciudades comprendidas en un rango especificado de coordenadas. En el ejemplo siguiente, dos ciudades están situadas en un rango especificado de coordenadas. Para obtener más información acerca de los diferentes filtros disponibles con los servicios WFS, consulte el tema Comunicación con un servicio WMS en un navegador web.

Ejemplo de dirección URL: http://gisserver.domain.com:6080/arcgis/services/wfs_services/enterprise_wfs/MapServer/WFSServer?service=WFS&request=GetFeature&typeName=cities&BBOX=46.90,-76.21,42.12,-72.88

Ciudades dentro del rango especificado de coordenadas devueltas en la operación filtrada GetFeature

Utilizar la extensión Data Interoperability para conectarse a un servicio WFS

La extensión ArcGIS Data Interoperability extension permite leer y escribir datos en formatos de datos distintos del de ArcGIS. Puede utilizar la herramienta Conexión de interoperabilidad situada en ArcCatalog o en la ventana Catálogo en ArcGIS Desktop para conectarse directamente a formatos de datos externos de Esri, incluidos los servicios WFS. Una vez realizada la conexión, la fuente de datos aparecerá en la entrada Conexión de interoperabilidad del árbol de Catálogo. Una conexión es como cualquier otro dataset que puede agregar a la tabla de contenidos o utilizar con herramientas de geoprocesamiento.

Gestionar cambios realizados a través de un servicio WFS-T con datos versionados

Es importante crear un flujo de trabajo eficiente para gestionar los cambios realizados a través de un servicio WFS-T. Suponiendo que haya seguido el método recomendado de crear una versión de WFS independiente para que los editores de WFS-T trabajen con ella, el sistema que ha configurado debe tener un aspecto similar al del diagrama que se muestra a continuación:

Sistema de edición de WFS-T común
Edición Web con un servicio WFS-T con datos versionados.

En este ejemplo, los editores de WFS-T y los editores de ArcMap utilizan versiones de manera que cada grupo tenga su propia vista aislada de la geodatabase con la que trabajar. Los editores de ArcMap editan directamente la versión predeterminada a través de ArcMap. Los editores de WFS-T acceden al servicio de WFS a través de la Internet. Esto permite que los editores de WFS-T realicen ediciones en la versión de WFS que se creó como versión secundaria de la predeterminada. Para obtener más información acerca de las versiones, consulte Recorrido rápido por las versiones en el sistema de ayuda del escritorio.

Para mantener sincronizadas las dos versiones, se puede ejecutar con frecuencia un proceso para actualizar la versión de WFS con los cambios de la versión predeterminada y para actualizar la versión predeterminada con los cambios de la versión de WFS. Se trata de un proceso de dos pasos en el flujo de trabajo de edición para cualquier sistema versionado denominado conciliar y enviar. Este proceso se puede automatizar o puede administrarlo un editor (dependiendo del permiso que posea), o puede hacerlo también un administrador de base de datos. Para obtener más información acerca del proceso de conciliar y enviar, consulte Recorrido rápido por el proceso de edición de versiones.

Cuando se ejecuta, la operación de conciliación recupera las actualizaciones de la versión predeterminada y las aplica en la sesión de edición actual de la versión de WFS. Se pueden producir conflictos si se han realizado cambios de las mismas entidades en ambas versiones. En este caso, puede configurar la resolución de conflictos tanto para que sea automática como para resolver manualmente cada conflicto mediante el cuadro de diálogo de resolución de conflictos.

Después de gestionar todos los conflictos, se puede ejecutar la operación de envío. Este proceso fusiona los cambios de la versión de WFS con la versión predeterminada.

El proceso completo de conciliar y enviar se resume en el diagrama siguiente. Aquí, la versión de WFS extrae las actualizaciones de la versión predeterminada durante la conciliación. Después de incorporar los cambios, la versión WFS envía las actualizaciones a la versión predeterminada mediante la operación de envío. En este punto, la versión predeterminada y la WFS tienen el mismo contenido.

Proceso de conciliar y enviar
Proceso de conciliación y envío para la versión predeterminada y la WFS.

Después de finalizar el proceso de conciliar y enviar, ambas versiones están actualizadas con la representación más actualizada de las entidades, y los editores de WFS pueden continuar realizando cambios.

Debe tener en cuenta que si se produce un bloqueo importante mientras se ejecutan la conciliación y el envío, el sistema no considerará correcto el proceso. Se trata de una forma de protección que se aplica para evitar conflictos entre las entidades bloqueadas por clientes WFS-T y las entidades que se cambiaron mediante el proceso de conciliación y publicación. Igualmente, ejecutar conciliar y enviar bloqueará la versión WFS-T para evitar que los editores de WFS-T realicen bloqueos y peticiones de transacción durante el proceso de conciliación y envío.

Para dar cabida a esta protección, se recomienda que el proceso de conciliación y envío se ejecute en momentos definidos que todos los editores de WFS-T conozcan con antelación. Con ello, los cambios que realizan los editores se enviarán a la base de datos. También es posible que los administradores tengan que quitar los bloqueos manualmente de la tabla de bloqueos antes del proceso de conciliación y publicación.

Para obtener más información acerca del esquema de bloqueos en WFS-T, consulte Servicios WFS.