Use WFS services layers

You can use Open Geospatial Consortium, Inc. (OGC), Web Feature Service (WFS) services that are available on the web when using AllSource. The WFS client support in ArcGIS allows you to access these services over the Internet and add a WFS layer to your maps.

The OGC Web Feature Service is an open specification for serving geographic features over the web that returns actual features with geometry and attributes. For more information regarding OGC WFS specifications, see the OGC website at www.opengeospatial.org/standards.

Note:

This version of the WFS client only supports the Geography Markup Language (GML) simple features profile.

View WFS layers in the Contents pane

After creating a WFS server connection, a WFS service connection is shown in the Server folder in the Catalog pane. You can add the entire WFS service to a map by selecting all layers in the WFS connection, or you can add the WFS layers individually. When you add a WFS layer to the map, the layer is added to the Contents pane.

You may also view a WFS item in your active portal by dragging and dropping the item onto the map.

WFS layer properties

When you add a WFS layer to a map, it gets added with some default layer properties set. These default settings may not be the correct settings for your WFS layer so you may change them. To view or modify these properties, right-click the WFS layer in the Contents pane and click Properties.

Read-only properties of your WFS layer

Some properties of the WFS layer are provided to give more information about the WFS server connection properties. These properties are located on the Source tab of the Layer Properties dialog.

Here are some of the WFS layer properties that you will find on the Source tab:

The WFS layer data source properties such as the URL, WFS version, and WFS mode.
  1. Data Type—If you are connected to a WFS layer, this property will tell you that the data type is a WFS Service Feature Class.
  2. Url—This is the URL for the WFS service.
  3. Feature Class—In WFS terminology, this is the WFS typename. In this example, the typename is Continent.
  4. WFS Version—The version of WFS that you are connected to. In this example, the version is 2.0.0.
  5. WFS Mode—This is the connection mode you are using. In this example, the connection mode is snapshot.

Modify WFS layer properties

There are a number of WFS layer properties that you can modify if needed:

WFS layer properties such as the connection mode, axis order, or maximum number of features returned.
  1. Connection mode—This property allows you to choose which connection mode to use for your layer. By default, the connection mode is snapshot.

    Connection ModeDescription

    Snapshot

    This mode is compatible with most WFS services. When using this mode, a temporary copy of your WFS data is downloaded and used like a cache of features. Instead of sending complicated filter requests to the WFS service and waiting for a response from the server, you work with a copy of the data locally. When you close your ArcGIS Pro 3.1 session, the temporary copy of the data is removed.

    A drawback to this approach is that you will not see any new edits that have been added to the WFS service during your ArcGIS Pro 3.1 session. To see updates to the WFS service, you must close and reopen ArcGIS Pro 3.1. Using this mode, you may notice that the first time you open the layer in the map, it is slow. This is because the data is being copied from the server.

    On Demand

    This mode is less compatible with most WFS services. When using this mode, you do not copy data locally and instead connect to the live WFS service. This mode sends a request to the service as you pan and zoom around the map or make queries on your data. Layers may open faster since the data is not being downloaded, and you will see edits to the WFS service as they are added.

    A drawback to this mode is that it is not compatible with WFS services that cannot handle complex filter requests. In order to work with this layer in AllSource and perform queries and analysis on the data, the server needs to support advanced filter requests.

  2. Axis Order—This property allows you to switch the x,y axis order for your layer, or switch the x,y axis order for the requests being sent to the server.

    Axis OrderDescription

    Swap x/y coordinates

    This property allows you to swap the x,y coordinates for the display of your layer.

    • Checked—Swap the x,y coordinates for the layer.
    • Unchecked—Do not swap the x,y coordinates for the layer. This is the default.

    Swap x/y filter request

    This property allows you to swap the x,y coordinates for spatial filter requests sent to the server. If you need to swap the x,y coordinates for your layer to display correctly, you will likely need to swap the x,y filter requests to ensure that the results of spatial queries are correct.

    • Checked—Swap the x,y coordinates for the filter requests.
    • Unchecked—Do not swap the x,y coordinates for the filter requests. This is the default.

    Note:

    In previous versions of AllSource, the default for the axis order properties was to swap x,y coordinates and filter requests. In AllSource 2.1, when a new WFS server connection is created, the default is to not swap x,y coordinates and filter requests. This does not effect any existing WFS layers or connections.

  3. Set the maximum features returned—This property allows you to limit the number of features that are added to the map. If you have millions of records in your WFS layer, working with this layer could be slow. To avoid performance issues, the default value is set to 3000 features.
    Note:

    For this value to be honored, the WFS service must support COUNT in version 2.0.0, or MAXFEATURES in previous versions.

Modify WFS server connection properties

There are a number of WFS server connection properties that you can modify if needed. Modifying a server connection property allows you to set a WFS property at the server connection level (which affects all layers in the service) instead of per layer. The following steps explain how to add, remove, or modify a WFS server connection property:

  1. Select the WFS server connection in the Catalog pane.
  2. Right-click the connection and select Properties. This will open the WFS Server Connection Properties dialog box.
  3. To update the WFS service URL, type a new URL in the Server URL text box.
  4. To update the WFS version that the service is connected to, select a different version from the Version drop-down list.
  5. To update a custom request parameter, you can modify the parameter name or value. You can also add new rows or delete rows as needed. The SWAPXY and SWAPXYFILTER properties are displayed in the grid by default.

    Read more about custom request parameters

  6. To update the authentication used, enter a new user name and password and choose how to save your credentials.
  7. When you have finished updating the properties, click OK and the server connection will refresh to reflect the modifications made.

    Any layers that were previously added to the map from the server connection will not be affected by these changes. You must re-add the layer to the map to see the changes.

Work with WFS layers from the web

Once a WFS layer is added to AllSource, it behaves as a read-only feature layer from a database. You can query features, change symbology, or run analysis on the layer.

Troubleshooting

Not all WFS services are implemented in exactly the same way. This section addresses some of the common issues with adding a WFS layer to AllSource.

ProblemSolution

My features do not display on the map, or they are not where I expect them to be.

You may need to change an axis order property for your layer. The client assumes that the axis order of every service is x,y by default. If the axis order of your service is not in that order, try changing the setting for Swap x/y coordinates.

Adding my WFS layer to the map takes a long time.

If you are adding multiple layers at once, try adding one layer at a time.

Set the maximum features returned to a lower value.

Use the BBOX custom request parameter to specify a smaller geographic area.

I receive an error when adding my WFS layer to the map.

You may receive an error message when adding your service to the map if the client does not support the type of features in the WFS service, or if the server does not support a request that the client is sending. The error message may help determine what the issue is. For example:

  • GetCapabilities request returns an XML parser error. This is a problem with the response from the server.
  • The geometry type is not supported error. The WFS AllSource client does not support complex data types.
  • The request has timed out error. If the server is too slow to respond, the request may time out.

I am unable to add a WFS server connection.

Make sure you include the necessary credentials to access the data in your WFS service. This may include a username and password or entering custom request parameter values.

Verify the service is not down by checking the GetCapabilities response in a browser.

Using On Demand mode, I am seeing strange behavior or queries are not returning expected results.

Try using snapshot mode instead. If you wish to continue using the on demand mode, try changing some of the other WFS properties. If modifying the different layer properties does not solve your problem and your service does work in snapshot mode, please contact Esri Support with feedback.

On Demand mode sends POST requests to the WFS service, often with complex filters. You can try using a web debugger tool to try to capture the POST request that is being sent to the server through the client and verify that the service supports the filter being sent.

Limitations

There are some known limitations for the WFS client in AllSource:

  • WFS with transactions is not yet supported. The layer behaves as a read-only data source.
  • Sharing the WFS layer as a web map from AllSource is not yet supported.
  • An imported .mxd file with WFS layers that were created using the ArcGIS Data Interoperability extension is not supported.
  • WFS server connections that are created for version 1.0.0 only support using the snapshot connection mode.
  • ArcGIS Desktop-based WFS services at version 10.5 or earlier require using snapshot mode.