NEW: Check our new hosted service COZYROC Cloud ...
ArcGIS Feature Connection
Overview
Configuration is provided for establishing connections with the ArcGIS Feature service. The configuration is used in the REST Connection Manager.
Setup
Press icon to get more information about the connection parameters.
Obtain data
Use REST Source component to get data from service resource.
Insert data
Use REST Destination component to insert data into service resource.
Configuration
Base URL address: https://www.arcgis.com/ArcGIS/rest/services/[folderName/serviceName]/FeatureServer
.
- Premise
-
The authentication uses an authorized token. The token will be refreshed with the following expression:
{{=Date.now() + (response.expires_in - 300) * 1000}}
.The following request parameters will be automatically processed during the authentication process:
-
token:
{{=token.Access}}
-
f:
json
For further information, please check here.
-
token:
- Public
-
The authentication uses a parameters-based authentication.
The following request parameters will be automatically processed during the authentication process:
-
f:
json
-
f:
- ShortText
Data type: DT_WSTR ( length 255 )
- LongText
Data type: DT_WSTR ( length 1000 )
- DateTime
Data type: DT_DBTIMESTAMP The gathered value is processed with
{{=ArcGIS.convertToJS(field.fieldType, value)}}
expression. Before setting, the value is processed with{{=ArcGIS.convertToGIS(field.fieldType, value)}}
expression.- Point
-
Field components:
- Contains the following components: x, y, z, m.
For further information, please check here.
- CircularArc
The gathered value is processed with
{{={ ex: value[0][0], ey: value[0][1], ez: value[0][2], em: value[0][3], ix: value[1][0], iy: value[1][1] } }}
expression. Field components:- Contains the following components: ex, ey, ez, em, ix, iy.
- EllipticArc
The gathered value is processed with
{{={ ex: value[0][0], ey: value[0][1], ez: value[0][2], em: value[0][3], cx: value[1][0], cy: value[1][1], minor: value[2], clockwise: value[3], rotation: value[4], axis: value[5], ratio: value[6] } }}
expression. Field components:- Contains the following components: ex, ey, ez, em, cx, cy, cz, minor, clockwise, rotation, axis, ratio.
- BezierCurve
The gathered value is processed with
{{={ ex: value[0][0], ey: value[0][1], ez: value[0][2], em: value[0][3], c1x: value[1][0], c1y: value[1][1], c2x: value[2][0], c2y: value[2][1] } }}
expression. Field components:- Contains the following components: ex, ey, ez, em, c1x, c1y, c2x, c2y.
- Geometry
-
Field components:
- Contains the following components: x, y, z, m, spatialReference, hasM, hasZ, points, paths, rings, curvePaths, curveRings, xmin, ymin, xmax, ymax, zmin, zmax, mmin, mmax.
For further information, please check here.
- [Read] action
-
The following request parameters will be automatically processed:
-
_includeUserParameters:
{{=parameters}}
-
_includeUserParameters:
- [Create] action
-
The action uses POST method.The following request parameters will be automatically processed:
-
_includeUserParameters:
{{=parameters}}
-
_includeUserParameters:
- [Update] action
-
The action uses POST method.The following request parameters will be automatically processed:
-
_includeUserParameters:
{{=parameters}}
-
_includeUserParameters:
- [Delete] action
-
The action uses POST method.The following request parameters will be automatically processed:
-
_includeUserParameters:
{{=parameters}}
-
_includeUserParameters:
Based on resource template Base.
- [Read] action
-
Endpoint URL address:
/queryDomains
.
The result is extracted from:{{=response.domains}}
.For further information check here.
- type
Template: ShortText.
- name
Template: ShortText.
- fieldType
Template: ShortText.
- range
Template: LongText. A composite field.
- codedValues
Template: LongText. A composite field.
- mergePolicy
Template: ShortText.
- splitPolicy
Template: ShortText.
- [Read] action
-
Endpoint URL address:
{{='/' + resource.external.id + '/' + parameters.featureId}}/attachments
.
The result is extracted from:{{=response.attachmentInfos}}
.For further information check here.
- [Read query] action
-
Endpoint URL address:
/{{=resource.external.id}}/queryAttachments
.
The result is extracted from:{{=_.map( response.attachmentGroups, function(group) { return _.map( group.attachmentInfos, function(item) { return _.extend({ featureId: group.parentObjectId }, item); }); } )}}
.For further information check here.
- [Create] action
-
Endpoint URL address:
{{='/' + resource.external.id + '/' + item.featureId}}/addAttachment
.
The result is extracted from:{{=response.addAttachmentResult}}
.The following request parameters will be automatically processed:
-
attachment:
{{=item.content}}
For further information check here.
-
attachment:
- [Update] action
-
Endpoint URL address:
{{='/' + resource.external.id + '/' + item.featureId}}/updateAttachment
.
The result is extracted from:{{=response.updateAttachmentResult}}
.The following request parameters will be automatically processed:
-
attachmentId:
{{=item.id}}
-
attachment:
{{=item.content}}
For further information check here.
-
attachmentId:
- [Delete] action
-
Endpoint URL address:
{{='/' + resource.external.id + '/' + item.featureId}}/deleteAttachments
.
The result is extracted from:{{=response.deleteAttachmentResults}}
.The following request parameters will be automatically processed:
-
attachmentIds:
{{=_.map(batch, function(item) { return item.id; }).join()}}
For further information check here.
-
attachmentIds:
- id
A key field. Data type: DT_I4
- contentType
Template: ShortText. A read-only field.
- size
Data type: DT_I8 A read-only field.
- name
Template: ShortText.
- featureId
Data type: DT_I4
- content
Data type: DT_IMAGE
- [Read] action
-
Endpoint URL address:
/{{=resource.external.id}}/query
.
The result is extracted from:{{=response.features}}
.
The result is paginated.The following request parameters will be automatically processed:
-
resultOffset:
{{=parameters.iterator}}
-
resultRecordCount:
{{=parameters.batchSize}}
-
outFields:
{{=_.map( _.filter(parameters.fields, function(item) { return _.startsWith(item, 'attributes.'); }), function(item) { return item.substr(item.indexOf('.') + 1); } ).join()}}
-
time:
{{=parameters.get('time') && new Date(parameters.time).getTime()}}
-
historicMoment:
{{=parameters.get('historicMoment') && new Date(parameters.historicMoment).getTime()}}
For further information check here.
-
resultOffset:
- [Read related] action
-
Endpoint URL address:
/{{=resource.external.id}}/queryRelatedRecords
.
The result is extracted from:{{=jsonPath(response, 'relatedRecordGroups[*].relatedRecords')}}
.
The result is paginated.The following request parameters will be automatically processed:
-
resultOffset:
{{=parameters.iterator}}
-
resultRecordCount:
{{=parameters.batchSize}}
-
outFields:
{{=_.map( _.filter(parameters.fields, function(item) { return _.startsWith(item, 'attributes.'); }), function(item) { return item.substr(item.indexOf('.') + 1); } ).join()}}
-
time:
{{=parameters.get('time') && new Date(parameters.time).getTime()}}
-
historicMoment:
{{=parameters.get('historicMoment') && new Date(parameters.historicMoment).getTime()}}
For further information check here.
-
resultOffset:
- [Create] action
-
Endpoint URL address:
{{=resource.external.id}}/addFeatures
.
The result is extracted from:{{=response.addResults}}
.The following request parameters will be automatically processed:
-
features:
{{=batch}}
For further information check here.
-
features:
- [Update] action
-
Endpoint URL address:
/{{=resource.external.id}}/updateFeatures
.
The result is extracted from:{{=response.updateResults}}
.The following request parameters will be automatically processed:
-
features:
{{=batch}}
For further information check here.
-
features:
- [Delete] action
-
Endpoint URL address:
/{{=resource.external.id}}/deleteFeatures
.
The result is extracted from:{{=response.deleteResults}}
.The following request parameters will be automatically processed:
-
objectIds:
{{=_.map(batch, function(item) { return return item.id; }).join()}}
For further information check here.
-
objectIds:
- id
A key field. Data type: DT_I4
- geometry
Template: Geometry.
- [External]
-
The external fields URL address:
/{{=resource.external.id}}
. The external fields list is extracted from:{{=response.fields}}
.- {{=external.name}}
Template: {{=ArcGIS.getDataType(external.type) == 'DT_DBTIMESTAMP' ? 'DateTime' : ''}}. Data type: {{=ArcGIS.getDataType(external.type)}} ( length {{=ArcGIS.getDataType(external.type) == 'DT_WSTR' ? 255 : 0}} ) The gathered value is processed with
{{=item.attributes[field.name]}}
expression.
The external resource list URL address: /
.
The external resource list is extracted from: {{=response.layers.concat(response.tables)}}
.
Based on resource template Base.
The external resource list URL address: /
.
The external resource list is extracted from: {{=response.layers.concat(response.tables)}}
.
Based on resource template Base.
What's New
- Fixed: Various fixes (Thank you, Carl).
- Fixed: Various fixes.
- New: Introduced connection.
Related documentation
COZYROC SSIS+ Components Suite is free for testing in your development environment.
A licensed version can be deployed on-premises, on Azure-SSIS IR and on COZYROC Cloud.