Workspace Templates
map.apps ETL requires a published FME Workspace for every ETL tool. Even though almost all formats can be used, a few basic requirements are necessary for Workspaces to be used in map.apps ETL.
The following templates are provided with map.apps ETL:
Template | Use Case | FME Service | App Configuration |
---|---|---|---|
extent_download.fmw |
|
Data Download Service |
|
map_features_download.fmw |
|
Data Download Service |
|
upload_to_map.fmw |
|
Data Streaming Service |
|
schema_analyzer.fmw |
|
Data Streaming Service |
|
Map Output
If features should be drawn on the map, the output always has to be a JSON document with the following structure:
{
"layers": [
// Multiple individual layers are possible. Each layer has to consist of only one geometry type (point, line, area)
// See EsriJSON Layer for more details
],
//Optional
"errors":[
// multiple error messages are possible
{
// "msg" refers to a key in the i18n configuration (parent key: transformationErrors). If missing in i18n, it will be used as the error message in the gui.
// defaults are: NO_FEATURE_WRITTEN,FILE_COULD_NOT_BE_READ,TOO_MANY_FEATURES
"msg": "FILE_COULD_NOT_BE_READ",
"detail": "corrupt_shape.shp"
}
],
// Optional: This object can contain HTML code (e.g. through FME HTMLReportGenerator Transformer) that will be opened as a new tool windows in map.apps in an iFrame.
"message": ""
}
EsriJSON Layer
{
// EsriJSON representation of a feature. Can be created using an EsriJSON Writer or the CreateEsriJsonLayer Custom Transformer from the map.apps ETL templates
"RecordSet" : {
"geometryType" : "esriGeometryPolygon",
"spatialReference" : {
"wkid" : 3857
},
"features" : [
{
"geometry" : {
"hasZ" : true,
"hasM" : false,
"rings" : [
[
[ 848483.3378490285, 6792708.083335426, 0 ],
[ 848754.450433705, 6792945.754720229, 0 ],
[ 848981.3728614079, 6792589.844807314, 0 ],
[ 849217.8499176458, 6792462.051650667, 0 ],
[ 848834.4704476842, 6792385.61462239, 0 ],
[ 848483.3378490285, 6792708.083335426, 0 ]
]
],
"spatialReference" : {
"wkid" : 3857
}
},
"attributes" : {
"myAttribute1" : "hi",
"myAttribute2": 1
}
}
]
},
// Can be any esri renderer from https://developers.arcgis.com/javascript/latest/api-reference/esri-renderers-Renderer.html
// You can use the Custom Transformer "EsriJsonRenderer" form the map.apps ETL Templates to create renderers.
"renderer" : {
"type" : "simple",
"symbol" : {
"type" : "simple-fill",
"size" : 8,
"color" : [ 0, 112, 191, 0.65 ],
"outline" : {
"width" : 1,
"color" : [ 256, 256, 256, 0.65 ]
}
}
},
// Name will be used as the layer title in the map.apps TOC
"name" : "ETL Area Upload"
}
}
More information about the JSON specification for geometries can be found at: https://developers.arcgis.com/documentation/common-data-types/geometry-objects.htm