Esri ArcGIS Portal Feature Service Reader/Writer

Licensing options for this format begin with FME Professional Edition.

The Esri ArcGIS Portal Feature Service Reader/Writer plug-in enables FME to read and write vector features from a Feature Service hosted on an ArcGIS Portal.

For more information, see Esri GeoServices REST Specification.

Overview

ArcGIS Portal is a platform for sharing and publishing geospatial data to the public, or privately within an organization.

ArcGIS Portal supports many different kinds of data. FME’s ArcGIS Portal Feature Service Reader/Writer only exposes Feature Services available under an ArcGIS Portal user’s account.

In FME, an ArcGIS Portal Feature Service is a required format parameter, and a layer or table within a Feature Service is a feature type.

A table is effectively a layer without geometry. To remain concise, this document will mainly refer to layers; however, comments are also applicable to tables.

Duplicate Layer Names

ArcGIS Portal allows for duplicate layer names within a Feature Service.

The ArcGIS Portal Feature Service Reader resolves ambiguity by appending the layer ID to the end of feature types if multiple layers share the same name. If a layer ID is present in the feature type, the ID takes precedence over the name.

Authentication

The ArcGIS Portal Feature Service Reader/Writer uses the supplied username and password to obtain an access token. The access token is used to authenticate all subsequent requests during a translation.

The host specified as the dataset is the host that has the generateToken REST API endpoint. The host must be an ArcGIS Portal instance with /sharing/generateToken as an endpoint. To read directly from a Feature Service without authentication, or with a manually-supplied token, use the Esri ArcGIS Server Feature Service Reader.

Some Feature Services may require anonymous access, and reject the access token used for listing Feature Services. In this scenario, the reader/writer will re-attempt the request without an access token.

Reader Overview

The ArcGIS Portal Feature Service Reader reads features from the layers in a Feature Service. ArcGIS Portal returns features in JSON format, which is converted into an FME feature.

Each layer contains features of a single geometry type.

Although Feature Services may support Z-values and measures, the ArcGIS Portal Feature Service Reader cannot yet read such values.

Writer Overview

The ArcGIS Portal Feature Service Writer uses the ArcGIS REST API to create Feature Services and write features.

When writing to an existing Feature Service, it is strongly recommended that you select Writer > Import Feature Types in order to obtain the schema for all layers in the Feature Service.

INSERT, UPDATE, and DELETE operations are all batched into one or more request(s) per feature type. If the operation for any single feature fails, then all other write operations in that batch are automatically rolled back if supported by the server. If ArcGIS Portal returns an error for any write operation, the ArcGIS Portal Feature Service Writer will pass the error messages to the log and then stop.

If the destination Feature Service layer supports Z or M values, the ArcGIS Portal Feature Service Writer can write them. However, it is currently not possible to create Feature Service layers with Z or M support.

Feature Service Creation

If the Feature Service directive refers to a Feature Service that does not exist, and the writer mode for all feature types is INSERT, then the ArcGIS Portal Feature Service Writer will create the Feature Service.

The mechanics of this operation differ significantly from writing to an existing Feature Service:

  • All features are written to a File Geodatabase.
  • The File Geodatabase is compressed into a ZIP file and uploaded as a File Geodatabase Item.
  • The Item is published as a Feature Service.

The uploaded File Geodatabase Item remains after the Feature Service is published from it. The Feature Service has no dependency on the File Geodatabase Item, so it is safe to delete it.

Object (Feature) IDs

When a Feature Service is created, ArcGIS Portal will add to all layers a new field that serves as the primary key. This is called the Object ID field. Typically, ArcGIS Portal will name this field OBJECTID, but it is possible for layers to have a different name for its Object ID field. Note that the value of this field is always assigned by ArcGIS Portal: values provided for this attribute during INSERTs are ignored by the server.

When in UPDATE or DELETE mode, a value must be provided for the attribute that corresponds to the Object ID field. If the attribute is not present, the writer will output an error message that specifies the name of the required attribute.

Layer Creation

Layers can only be created as part of creating a Feature Service. Creating new layers in an existing Feature Service is not supported at this time. Feature types that do not correspond to a layer in an existing Feature Service will result in an error.