Esri ArcGIS Portal Feature Service Reader/Writer
FME can read and write vector features from a Feature Service hosted on an ArcGIS Portal.
For more information, see Esri GeoServices REST Specification.
Esri ArcGIS Portal Feature Service Product and System Requirements
Format |
Product |
Operating System |
||||
---|---|---|---|---|---|---|
Reader/Writer |
FME Form |
FME Flow |
FME Flow Hosted |
Windows 64-bit |
Linux |
Mac |
Reader |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
Writer |
Yes |
Yes |
Yes |
Yes |
Yes |
Yes |
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 provides multiple authentication options.
Organizations using SAML or federated login should authenticate by setting up an OAuth 2.0 Web Service. FME includes an Esri ArcGIS Portal Web Service template with setup instructions. (From FME Workbench, open FME Options > Web Connections and click the Manage Services button. Navigate to the Esri ArcGIS Portal template.)
To read directly from a Feature Service without authentication, or with a manually-supplied token, use the Esri ArcGIS Server Feature Service Reader/Writer.
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 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 reader cannot yet read such values.
For layers with attachment support, the reader can also download the attachments associated with each feature.
Writer Overview
The 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.
Although the reader can read attachments, the writer currently cannot write them. Format attributes related to attachments are ignored.
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.
After a Feature Service is created, layers on the Feature Service will be created when the first features for the corresponding feature type are uploaded.
In versions prior to FME 2024.0:
- 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 is deleted after the Feature Service is published from 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. Alternatively, a Global ID field may be used as the primary key for write operations, instead of Object ID. This field may be necessary to use some ArcGIS features, such as Feature Service Sync.
When in the feature operation is set to Update or Delete, 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.