Skip to main content

Supported Layers

Maptaskr supports various layer types for flexible and efficient data visualization. Compatible layers include standard geographic data formats, such as raster, imagery and vector layers. Users can also add custom layers for specific Dataverse datasets, such as accounts or work orders, to suit different needs.

This guide will go through all supported layers and various examples of implementations as well as supported functionality for each one.

Vector Tiles

This layer type supports ArcGIS .pbf format vector tiles, and will load the default styles.

Required Endpoints

Must conform to Slippy Map Tile standards as outlined here: Slippy map tilenames

Must have VectorTileServer within the URL. This is not case-sensitive.

Optionally, you may append /tile/{z}/{y}/{x} to the end of the url. Example: https://exampleurl.com/VectorTileServer/tile/{z}/{y}/{x}

Required Response

The root URL (without the /tile endpoint) should at minimum contain the following information:

Details
{
"currentVersion": 10.81,
"name": "{LayerName}",
"copyrightText": "{Copyright text}",
"capabilities": "TilesOnly,Tilemap",
"type": "indexedVector",
"tileMap": "tilemap",
"defaultStyles": "resources/styles",
"tiles": [
"tile/{z}/{y}/{x}.pbf"
],
"exportTilesAllowed": true,
"initialExtent": {
"xmin": -20037507.0671618,
"ymin": -20037507.0671618,
"xmax": 20037507.0671618,
"ymax": 20037507.0671618,
"spatialReference": {
"wkid": 102100,
"latestWkid": 3857
}
},
"fullExtent": {
"xmin": -20037507.0671618,
"ymin": -20037507.0671618,
"xmax": 20037507.0671618,
"ymax": 20037507.0671618,
"spatialReference": {
"wkid": 102100,
"latestWkid": 3857
}
},
"minScale": 0,
"maxScale": 0,
"tileInfo": {
"rows": 512,
"cols": 512,
"dpi": 96,
"format": "pbf",
"origin": {
"x": -20037508.342787,
"y": 20037508.342787
},
"spatialReference": {
"wkid": 102100,
"latestWkid": 3857
},
"lods": [
{
"level": 0,
"resolution": 78271.516964,
"scale": 295828763.7957775
},
{
"level": 1,
"resolution": 39135.75848199995,
"scale": 147914381.8978885
},
{
"level": 2,
"resolution": 19567.87924100005,
"scale": 73957190.9489445
},
{
"level": 3,
"resolution": 9783.93962049995,
"scale": 36978595.474472
},
{
"level": 4,
"resolution": 4891.96981024998,
"scale": 18489297.737236
},
{
"level": 5,
"resolution": 2445.98490512499,
"scale": 9244648.868618
},
{
"level": 6,
"resolution": 1222.992452562495,
"scale": 4622324.434309
},
{
"level": 7,
"resolution": 611.496226281245,
"scale": 2311162.2171545
},
{
"level": 8,
"resolution": 305.74811314069,
"scale": 1155581.1085775
},
{
"level": 9,
"resolution": 152.874056570279,
"scale": 577790.5542885
},
{
"level": 10,
"resolution": 76.4370282852055,
"scale": 288895.2771445
},
{
"level": 11,
"resolution": 38.2185141425366,
"scale": 144447.638572
},
{
"level": 12,
"resolution": 19.1092570712683,
"scale": 72223.819286
},
{
"level": 13,
"resolution": 9.55462853563415,
"scale": 36111.909643
},
{
"level": 14,
"resolution": 4.777314267817075,
"scale": 18055.9548215
},
{
"level": 15,
"resolution": 2.388657133974685,
"scale": 9027.977411
},
{
"level": 16,
"resolution": 1.19432856698734,
"scale": 4513.9887055
},
{
"level": 17,
"resolution": 0.597164283427525,
"scale": 2256.9943525
},
{
"level": 18,
"resolution": 0.2985821417799085,
"scale": 1128.4971765
},
{
"level": 19,
"resolution": 0.1492910708238085,
"scale": 564.248588
},
{
"level": 20,
"resolution": 0.07464553541190416,
"scale": 282.124294
},
{
"level": 21,
"resolution": 0.03732276770595208,
"scale": 141.062147
},
{
"level": 22,
"resolution": 0.01866138385297604,
"scale": 70.5310735
}
]
},
"maxzoom": 22,
"minLOD": 0,
"maxLOD": 16,
"resourceInfo": {
"styleVersion": 8,
"tileCompression": "gzip",
"cacheInfo": {
"storageInfo": {
"packetSize": 128,
"storageFormat": "compactV2"
}
}
},
"serviceItemId": "{serviceItemId}",
"maxExportTilesCount": 10000
}

Example Postman Collection

Use the following Postman collection to test if your layer is likely to function as expected. This will help you test the endpoints mentioned above, as well as allow you to compare the resulting JSON against the requirements.

VectorTile Requests

Supported Functionality

FunctionalityAvailable/Functional?
Enable in PortalNo
Enable in DataSourceNo
Use as Custom BasemapYes
Use as Default BasemapYes
Feature InteractionNo
SymbologyNo
Use as LayerYes
Authenticated LayerNo
Attribute Table/PopupNo

ArcGIS

This layer type supports ArcGIS Vector Tiles, Raster Tiles, Raster Image and Feature Server layers.

ArcGIS VectorTile

This layer type supports ArcGIS .pbf format vector tiles, and will load the default styles. Using the ArcGIS layer type, you can specify an item ID for a different stylesheet for the layer. The item ID must be hosted on ArcGIS Online, typically this is within the services.arcgis.com domain.

Required Endpoints

Must conform to Slippy Map Tile standards as outlined here: Slippy map tilenames

Must have VectorTileServer within the URL. This is not case-sensitive.

Optionally, you may append /tile/{z}/{y}/{x} to the end of the url. Example: https://exampleurl.com/VectorTileServer/tile/{z}/{y}/{x}

Required Response

The root URL (without the /tile endpoint) should at minimum contain the following information:

Details
{
"currentVersion": 10.81,
"name": "{Layer Name}",
"copyrightText": "{Copyright text}",
"capabilities": "TilesOnly,Tilemap",
"type": "indexedVector",
"tileMap": "tilemap",
"defaultStyles": "resources/styles",
"tiles": [
"tile/{z}/{y}/{x}.pbf"
],
"exportTilesAllowed": true,
"initialExtent": {
"xmin": -20037507.0671618,
"ymin": -20037507.0671618,
"xmax": 20037507.0671618,
"ymax": 20037507.0671618,
"spatialReference": {
"wkid": 102100,
"latestWkid": 3857
}
},
"fullExtent": {
"xmin": -20037507.0671618,
"ymin": -20037507.0671618,
"xmax": 20037507.0671618,
"ymax": 20037507.0671618,
"spatialReference": {
"wkid": 102100,
"latestWkid": 3857
}
},
"minScale": 0,
"maxScale": 0,
"tileInfo": {
"rows": 512,
"cols": 512,
"dpi": 96,
"format": "pbf",
"origin": {
"x": -20037508.342787,
"y": 20037508.342787
},
"spatialReference": {
"wkid": 102100,
"latestWkid": 3857
},
"lods": [
{
"level": 0,
"resolution": 78271.516964,
"scale": 295828763.7957775
},
{
"level": 1,
"resolution": 39135.75848199995,
"scale": 147914381.8978885
},
{
"level": 2,
"resolution": 19567.87924100005,
"scale": 73957190.9489445
},
{
"level": 3,
"resolution": 9783.93962049995,
"scale": 36978595.474472
},
{
"level": 4,
"resolution": 4891.96981024998,
"scale": 18489297.737236
},
{
"level": 5,
"resolution": 2445.98490512499,
"scale": 9244648.868618
},
{
"level": 6,
"resolution": 1222.992452562495,
"scale": 4622324.434309
},
{
"level": 7,
"resolution": 611.496226281245,
"scale": 2311162.2171545
},
{
"level": 8,
"resolution": 305.74811314069,
"scale": 1155581.1085775
},
{
"level": 9,
"resolution": 152.874056570279,
"scale": 577790.5542885
},
{
"level": 10,
"resolution": 76.4370282852055,
"scale": 288895.2771445
},
{
"level": 11,
"resolution": 38.2185141425366,
"scale": 144447.638572
},
{
"level": 12,
"resolution": 19.1092570712683,
"scale": 72223.819286
},
{
"level": 13,
"resolution": 9.55462853563415,
"scale": 36111.909643
},
{
"level": 14,
"resolution": 4.777314267817075,
"scale": 18055.9548215
},
{
"level": 15,
"resolution": 2.388657133974685,
"scale": 9027.977411
},
{
"level": 16,
"resolution": 1.19432856698734,
"scale": 4513.9887055
},
{
"level": 17,
"resolution": 0.597164283427525,
"scale": 2256.9943525
},
{
"level": 18,
"resolution": 0.2985821417799085,
"scale": 1128.4971765
},
{
"level": 19,
"resolution": 0.1492910708238085,
"scale": 564.248588
},
{
"level": 20,
"resolution": 0.07464553541190416,
"scale": 282.124294
},
{
"level": 21,
"resolution": 0.03732276770595208,
"scale": 141.062147
},
{
"level": 22,
"resolution": 0.01866138385297604,
"scale": 70.5310735
}
]
},
"maxzoom": 22,
"minLOD": 0,
"maxLOD": 16,
"resourceInfo": {
"styleVersion": 8,
"tileCompression": "gzip",
"cacheInfo": {
"storageInfo": {
"packetSize": 128,
"storageFormat": "compactV2"
}
}
},
"serviceItemId": "{serviceItemId}",
"maxExportTilesCount": 10000
}

Example Postman Collection

Use the following Postman collection to test if your layer is likely to function as expected. This will help you test the endpoints mentioned above, as well as allow you to compare the resulting JSON against the requirements.

ArcGIS VectorTile Collection

Supported Functionality

FunctionalityAvailable/Functional?
Enable in PortalNo
Enable in DataSourceNo
Use as Custom BasemapYes* 1
Use as Default BasemapYes* 1
Feature InteractionNo
SymbologyNo
Use as LayerYes
Authenticated LayerYes
Attribute Table/PopupNo

ArcGIS FeatureServer

Required Endpoints

Must have FeatureServer in the URL. This is not case-sensitive.

Can provide URL with or without a trailing /.

Ending the URL with FeatureServer or FeatureServer/ will load all available layers within the feature service. Providing a layer specific index at the end of the URL (example: FeatureServer/1 or FeatureServer/1/) will load only the specified layer.

Required Response

Example of a Feature Server response:

Details
{
"currentVersion": 11.2,
"serviceItemId": "{serviceItemId}",
"serviceDescription": "",
"hasVersionedData": false,
"supportsDisconnectedEditing": false,
"hasStaticData": true,
"hasSharedDomains": false,
"maxRecordCount": 2000,
"supportedQueryFormats": "JSON",
"supportsVCSProjection": false,
"supportedExportFormats": "csv,shapefile,sqlite,geoPackage,filegdb,featureCollection,geojson,kml,excel",
"supportedConvertFileFormats": "JSON,PBF",
"supportedConvertContentFormats": "LayerEditCollection",
"capabilities": "Query",
"description": "",
"copyrightText": "",
"spatialReference": {
"wkid": 102100,
"latestWkid": 3857
},
"initialExtent": {
"xmin": 12702474.34026937,
"ymin": -4182250.4078689422,
"xmax": 13598482.33048064,
"ymax": -3203933.795351357,
"spatialReference": {
"wkid": 102100,
"latestWkid": 3857
}
},
"fullExtent": {
"xmin": 12702474.34026937,
"ymin": -4182250.4078689422,
"xmax": 13598482.33048064,
"ymax": -3203933.795351357,
"spatialReference": {
"wkid": 102100,
"latestWkid": 3857
}
},
"allowGeometryUpdates": true,
"supportsTrueCurve": true,
"supportedCurveTypes": [
"esriGeometryCircularArc"
],
"allowTrueCurvesUpdates": true,
"onlyAllowTrueCurveUpdatesByTrueCurveClients": false,
"units": "esriMeters",
"supportsAppend": true,
"supportsSharedDomains": true,
"supportsWebHooks": true,
"supportsTemporalLayers": true,
"layerOverridesEnabled": true,
"size": 280625152,
"syncEnabled": false,
"supportsApplyEditsWithGlobalIds": false,
"supportsReturnDeleteResults": true,
"supportsLayerOverrides": true,
"supportsTilesAndBasicQueriesMode": true,
"supportsQueryContingentValues": true,
"supportedContingentValuesFormats": "JSON, PBF",
"supportsContingentValuesJson": 2,
"advancedEditingCapabilities": {
"supportsSplit": false,
"supportsReturnServiceEditsInSourceSR": false,
"supportsAsyncApplyEdits": true,
"supportsReturnEditResults": true,
"supportsApplyEditsbyUploadID": true,
"supportedApplyEditsUploadIDFormats": "JSON"
},
"editorTrackingInfo": {
"enableEditorTracking": false,
"enableOwnershipAccessControl": false,
"allowOthersToQuery": true,
"allowOthersToUpdate": true,
"allowOthersToDelete": false,
"allowAnonymousToQuery": true,
"allowAnonymousToUpdate": true,
"allowAnonymousToDelete": true
},
"xssPreventionInfo": {
"xssPreventionEnabled": true,
"xssPreventionRule": "InputOnly",
"xssInputRule": "rejectInvalid"
},
"layers": [
{
"id": 1,
"name": "{Layer Name}",
"parentLayerId": -1,
"defaultVisibility": true,
"subLayerIds": null,
"minScale": 18489298,
"maxScale": 0,
"type": "Feature Layer",
"geometryType": "esriGeometryPoint"
},
{
"id": 5,
"name": "{Layer Name}",
"parentLayerId": -1,
"defaultVisibility": true,
"subLayerIds": null,
"minScale": 0,
"maxScale": 4513,
"type": "Feature Layer",
"geometryType": "esriGeometryPolygon"
},
{
"id": 6,
"name": "{Layer name}",
"parentLayerId": -1,
"defaultVisibility": true,
"subLayerIds": null,
"minScale": 0,
"maxScale": 0,
"type": "Feature Layer",
"geometryType": "esriGeometryPolyline"
}
],
"tables": []
}
Details

Example of Layer response:

{
"currentVersion": 11.2,
"id": 0,
"name": "{Layer Name}",
"type": "Feature Layer",
"serviceItemId": "{serviceItemId}",
"cacheMaxAge": 30,
"displayField": "",
"description": "",
"copyrightText": "",
"defaultVisibility": true,
"editingInfo": {
"lastEditDate": 1664935793716,
"schemaLastEditDate": 1664935793716,
"dataLastEditDate": 1664935793716
},
"relationships": [],
"isDataVersioned": false,
"hasContingentValuesDefinition": false,
"supportsAppend": true,
"supportsCalculate": true,
"supportsASyncCalculate": true,
"supportsTruncate": true,
"supportsAttachmentsByUploadId": true,
"supportsAttachmentsResizing": true,
"supportsRollbackOnFailureParameter": true,
"supportsStatistics": true,
"supportsExceedsLimitStatistics": true,
"supportsAdvancedQueries": true,
"supportsValidateSql": true,
"supportsCoordinatesQuantization": true,
"supportsLayerOverrides": true,
"supportsTilesAndBasicQueriesMode": true,
"supportsFieldDescriptionProperty": true,
"supportsQuantizationEditMode": true,
"supportsApplyEditsWithGlobalIds": false,
"supportsReturningQueryGeometry": true,
"advancedQueryCapabilities": {
"supportsPagination": true,
"supportsQueryAttachmentsCountOnly": true,
"supportsPaginationOnAggregatedQueries": true,
"supportsQueryRelatedPagination": true,
"supportsQueryWithDistance": true,
"supportsReturningQueryExtent": true,
"supportsStatistics": true,
"supportsOrderBy": true,
"supportsDistinct": true,
"supportsQueryWithResultType": true,
"supportsSqlExpression": true,
"supportsAdvancedQueryRelated": true,
"supportsCountDistinct": true,
"supportsPercentileStatistics": true,
"supportsSpatialAggregationStatistics": true,
"supportedSpatialAggregationStatistics": [
"EnvelopeAggregate",
"CentroidAggregate",
"ConvexHullAggregate"
],
"supportsLod": true,
"supportsQueryWithLodSR": false,
"supportedLodTypes": [
"geohash"
],
"supportsReturningGeometryCentroid": false,
"supportsReturningGeometryEnvelope": true,
"supportsQueryWithDatumTransformation": true,
"supportsCurrentUserQueries": true,
"supportsHavingClause": true,
"supportsOutFieldSQLExpression": true,
"supportsMaxRecordCountFactor": true,
"supportsTopFeaturesQuery": true,
"supportsDisjointSpatialRel": true,
"supportsQueryWithCacheHint": true,
"supportedOperationsWithCacheHint": [
"query",
"queryTopFilter",
"queryAnalytics",
"queryAttachments",
"queryRelated",
"queryBins"
],
"supportsQueryAnalytic": true,
"supportsQueryBins": true,
"supportsDefaultSR": true,
"supportsFullTextSearch": true
},
"advancedQueryAnalyticCapabilities": {
"supportsLinearRegression": true,
"supportsAsync": true,
"supportsPercentileAnalytic": true
},
"queryBinsCapabilities": {
"supportsAsync": true,
"supportsAutoIntervalBin": true,
"supportsFixedIntervalBin": true,
"supportsFixedBoundariesBin": true,
"supportsDateBin": true,
"supportedStatisticTypes": [
"COUNT",
"SUM",
"AVG",
"VAR",
"STDDEV",
"MIN",
"MAX",
"PERCENTILE_CONT",
"PERCENTILE_DISC",
"CentroidAggregate",
"EnvelopeAggregate",
"ConvexHullAggregate"
]
},
"advancedEditingCapabilities": {
"supportedSqlFormatsInCalculate": [
"standard"
],
"supportsAsyncApplyEdits": true,
"supportsReturnEditResults": true,
"supportsApplyEditsbyUploadID": true,
"supportedApplyEditsUploadIDFormats": "JSON"
},
"infoInEstimates": [
"extent",
"count"
],
"useStandardizedQueries": true,
"geometryType": "esriGeometryPoint",
"minScale": 18489298,
"maxScale": 0,
"extent": {
"xmin": 12708879.833197871,
"ymin": -4160590.8705742983,
"xmax": 13524586.31571443,
"ymax": -3212944.5804466344,
"spatialReference": {
"wkid": 102100,
"latestWkid": 3857
}
},
"drawingInfo": {
"renderer": {
"type": "simple",
"symbol": {
"type": "esriPMS",
"url": "RedSphere.png",
"imageData": "{base64imagedata}",
"contentType": "image/png",
"width": 15,
"height": 15
}
}
},
"allowGeometryUpdates": true,
"hasAttachments": false,
"htmlPopupType": "esriServerHTMLPopupTypeNone",
"hasM": false,
"hasZ": false,
"objectIdField": "OBJECTID",
"uniqueIdField": {
"name": "OBJECTID",
"isSystemMaintained": true
},
"globalIdField": "",
"typeIdField": "",
"fields": [
{
"name": "OBJECTID",
"type": "esriFieldTypeOID",
"alias": "OBJECTID",
"sqlType": "sqlTypeOther",
"nullable": false,
"editable": false,
"domain": null,
"defaultValue": null
},
{
"name": "Name",
"type": "esriFieldTypeString",
"alias": "Name",
"sqlType": "sqlTypeOther",
"length": 50,
"nullable": true,
"editable": true,
"domain": null,
"defaultValue": null
},
{
"name": "OWNER",
"type": "esriFieldTypeString",
"alias": "Owner",
"sqlType": "sqlTypeOther",
"length": 15,
"nullable": true,
"editable": true,
"domain": null,
"defaultValue": null
}
],
"indexes": [
{
"name": "{name}",
"fields": "OBJECTID",
"isAscending": true,
"isUnique": true,
"description": "clustered, unique, primary key",
"indexType": "Attribute"
},
{
"name": "{name}",
"fields": "NAME",
"isAscending": false,
"isUnique": false,
"description": "Name Index",
"indexType": "Spatial"
}
],
"dateFieldsTimeReference": {
"timeZone": "UTC",
"respectsDaylightSaving": false
},
"preferredTimeReference": null,
"types": [],
"templates": [
{
"name": "New Feature",
"description": "",
"drawingTool": "esriFeatureEditToolPoint",
"prototype": {
"attributes": {
"NAME": null,
"OWNER": null
}
}
}
],
"supportedQueryFormats": "JSON, geoJSON, PBF",
"supportedAppendFormats": "sqlite,geoPackage,shapefile,filegdb,featureCollection,geojson,csv,excel,jsonl,featureService,pbf",
"supportedAppendSourceFilterFormats": "sqlite,geoPackage,shapefile,filegdb,featureService",
"supportedExportFormats": "csv,shapefile,sqlite,geoPackage,filegdb,featureCollection,geojson,kml,excel",
"supportedConvertFileFormats": "JSON,PBF",
"supportedConvertContentFormats": "LayerEditCollection,FeatureCollection",
"supportedSpatialRelationships": [
"esriSpatialRelIntersects",
"esriSpatialRelContains",
"esriSpatialRelCrosses",
"esriSpatialRelEnvelopeIntersects",
"esriSpatialRelIndexIntersects",
"esriSpatialRelOverlaps",
"esriSpatialRelTouches",
"esriSpatialRelWithin",
"esriSpatialRelDisjoint",
"esriSpatialRelRelation"
],
"supportedContingentValuesFormats": "JSON, PBF",
"supportedSyncDataOptions": 260,
"hasStaticData": true,
"maxRecordCount": 2000,
"standardMaxRecordCount": 32000,
"standardMaxRecordCountNoGeometry": 32000,
"tileMaxRecordCount": 8000,
"maxRecordCountFactor": 1,
"capabilities": "Query"
}

Layer must have the following:

  • Extent
    • Should contain finite coordinate values
    • Should contain spatialReference object containing the wkid
  • Query capability
    • All available fields must be queryable
    • If any fields are hidden, they must also be hidden from being queryable
    • where=(1=1) query should be enabled and should return data
    • Query must allow features/geometry to be returned
    • Query should allow esriGeometryEnvelope geometry as a filter
  • Drawing Info/Rendering Info of types:
    • simple, with the following symbol types:
      • esriSMS
      • esriSLS
      • esriSFS
      • esriPFS
      • esriPMS
      • esriTS
    • uniqueValue, with the following symbol types:
      • esriSMS
      • esriSLS
      • esriSFS
      • esriPFS
      • esriPMS
      • esriTS
  • Geometry type must be:
    • Polygon
    • Polyline
    • Point
  • If MinScale and MaxScale are defined:
    • Must be in the correct order i.e.
      • if both are provided, MaxScale should be less than MinScale
      • if MinScale is 0, this means the layer will be always visible until it reaches the MaxScale threshold
      • if MaxScale is 0, this means the layer will always be visible after it exceeds the MinScale threshold
      • if both values are 0, this means the layer will always render

Example Postman Collection

Use the following Postman collection to test if your layer is likely to function as expected. This will help you test the endpoints mentioned above, as well as allow you to compare the resulting JSON against the requirements.

ArcGIS FeatureServer Collection

Supported Functionality

FunctionalityAvailable/Functional?
Enable in PortalYes 2
Enable in DataSourceYes
Use as Custom BasemapNo
Use as Default BasemapNo
Feature InteractionYes
SymbologyYes
Use as LayerYes
Authenticated LayerYes
Attribute Table/PopupYes

ArcGIS MapServer

Required Endpoints

Must have MapServer in the URL. This is not case-sensitive.

Can provide URL with or without a trailing /.

Ending the URL with MapServer or MapServer/ will load all available layers within the map service. Providing a layer specific index at the end of the URL (example: MapServer/1 or MapServer/1/) will load only the specified layer.

Required Response

Example of MapServer response:

Details
{
"currentVersion": 10.91,
"cimVersion": "2.9.0",
"serviceDescription": "{service description}",
"mapName": "{Layer name}",
"description": "{description}",
"copyrightText": "{copyright text}",
"supportsDynamicLayers": true,
"layers": [
{
"id": 0,
"name": "{Layer Name}",
"parentLayerId": -1,
"defaultVisibility": false,
"subLayerIds": null,
"minScale": 0,
"maxScale": 0,
"type": "Feature Layer",
"geometryType": "esriGeometryPoint",
"supportsDynamicLegends": true
},
{
"id": 23,
"name": "{Layer Name}",
"parentLayerId": -1,
"defaultVisibility": false,
"subLayerIds": null,
"minScale": 3000000,
"maxScale": 0,
"type": "Feature Layer",
"geometryType": "esriGeometryPolyline",
"supportsDynamicLegends": true
},
{
"id": 3,
"name": "{Layer Name}",
"parentLayerId": -1,
"defaultVisibility": false,
"subLayerIds": null,
"minScale": 0,
"maxScale": 0,
"type": "Feature Layer",
"geometryType": "esriGeometryPolygon",
"supportsDynamicLegends": true
}
],
"tables": [],
"spatialReference": {
"wkid": 7844,
"latestWkid": 7844,
"xyTolerance": 8.983152841195213E-9,
"zTolerance": 0.001,
"mTolerance": 0.001,
"falseX": -400,
"falseY": -400,
"xyUnits": 1.125899906842624E13,
"falseZ": -100000,
"zUnits": 10000,
"falseM": -100000,
"mUnits": 10000
},
"singleFusedMapCache": false,
"initialExtent": {
"xmin": 120.30071413110835,
"ymin": -41.34985133216837,
"xmax": 129.0749765901075,
"ymax": -6.8179234850564185,
"spatialReference": {
"wkid": 7844,
"latestWkid": 7844,
"xyTolerance": 8.983152841195213E-9,
"zTolerance": 0.001,
"mTolerance": 0.001,
"falseX": -400,
"falseY": -400,
"xyUnits": 1.125899906842624E13,
"falseZ": -100000,
"zUnits": 10000,
"falseM": -100000,
"mUnits": 10000
}
},
"fullExtent": {
"xmin": 96.81666666700005,
"ymin": -38.52970731099998,
"xmax": 145.6847087100001,
"ymax": 63.09773122100006,
"spatialReference": {
"wkid": 7844,
"latestWkid": 7844,
"xyTolerance": 8.983152841195213E-9,
"zTolerance": 0.001,
"mTolerance": 0.001,
"falseX": -400,
"falseY": -400,
"xyUnits": 1.125899906842624E13,
"falseZ": -100000,
"zUnits": 10000,
"falseM": -100000,
"mUnits": 10000
}
},
"timeInfo": {
"timeExtent": [
-1539734400000,
4540752000000
],
"timeReference": null,
"timeRelation": "esriTimeRelationOverlaps",
"defaultTimeInterval": 10,
"defaultTimeIntervalUnits": "esriTimeUnitsYears",
"defaultTimeWindow": 0,
"defaultTimeWindowUnits": "esriTimeUnitsYears",
"hasLiveData": false,
"liveModeOffsetDirection": "past"
},
"datesInUnknownTimezone": false,
"minScale": 0,
"maxScale": 0,
"units": "esriDecimalDegrees",
"supportedImageFormatTypes": "PNG32,PNG24,PNG,JPG,DIB,TIFF,EMF,PS,PDF,GIF,SVG,SVGZ,BMP",
"documentInfo": {
"Title": "{Title}",
"Author": "",
"Comments": "{Comments}",
"Subject": "{Subject}",
"Category": "",
"AntialiasingMode": "None",
"TextAntialiasingMode": "Force",
"Version": "2.9.0",
"Keywords": "{Keywords}"
},
"supportsQueryDomains": true,
"capabilities": "Map,Query,Data",
"supportedQueryFormats": "JSON, geoJSON, PBF",
"exportTilesAllowed": false,
"referenceScale": 0.0,
"datumTransformations": [
{
"geoTransforms": [
{
"wkt": "GEOGTRAN[\"GDA94_GDA2020_C+D\",GEOGCS[\"GCS_GDA_1994\",DATUM[\"D_GDA_1994\",SPHEROID[\"GRS_1980\",6378137.0,298.257222101]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],GEOGCS[\"GDA2020\",DATUM[\"GDA2020\",SPHEROID[\"GRS_1980\",6378137.0,298.257222101]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],METHOD[\"NTv2\"],PARAMETER[\"Dataset_australia/GDA94_GDA2020_conformal_and_distortion\",0.0]]",
"transformForward": true,
"name": "GDA94_GDA2020_C+D"
}
]
},
{
"geoTransforms": [
{
"wkt": "GEOGTRAN[\"GDA94_GDA2020_C+D\",GEOGCS[\"GCS_GDA_1994\",DATUM[\"D_GDA_1994\",SPHEROID[\"GRS_1980\",6378137.0,298.257222101]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],GEOGCS[\"GDA2020\",DATUM[\"GDA2020\",SPHEROID[\"GRS_1980\",6378137.0,298.257222101]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],METHOD[\"NTv2\"],PARAMETER[\"Dataset_australia/GDA94_GDA2020_conformal_and_distortion\",0.0]]",
"transformForward": false,
"name": "GDA94_GDA2020_C+D"
}
]
},
{
"geoTransforms": [
{
"wkt": "GEOGTRAN[\"WGS84_To_GDA2020_C+D\",GEOGCS[\"GCS_WGS_1984\",DATUM[\"D_WGS_1984\",SPHEROID[\"WGS_1984\",6378137.0,298.257223563]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],GEOGCS[\"GDA2020\",DATUM[\"GDA2020\",SPHEROID[\"GRS_1980\",6378137.0,298.257222101]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],METHOD[\"NTv2\"],PARAMETER[\"Dataset_australia/GDA94_GDA2020_conformal_and_distortion\",0.0]]",
"transformForward": true,
"name": "WGS84_To_GDA2020_C+D"
}
]
},
{
"geoTransforms": [
{
"wkt": "GEOGTRAN[\"WGS84_To_GDA2020_C+D\",GEOGCS[\"GCS_WGS_1984\",DATUM[\"D_WGS_1984\",SPHEROID[\"WGS_1984\",6378137.0,298.257223563]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],GEOGCS[\"GDA2020\",DATUM[\"GDA2020\",SPHEROID[\"GRS_1980\",6378137.0,298.257222101]],PRIMEM[\"Greenwich\",0.0],UNIT[\"Degree\",0.0174532925199433]],METHOD[\"NTv2\"],PARAMETER[\"Dataset_australia/GDA94_GDA2020_conformal_and_distortion\",0.0]]",
"transformForward": false,
"name": "WGS84_To_GDA2020_C+D"
}
]
}
],
"supportsDatumTransformation": true,
"archivingInfo": {
"supportsHistoricMoment": false
},
"supportsClipping": true,
"supportsSpatialFilter": true,
"supportsTimeRelation": true,
"supportsQueryDataElements": true,
"maxRecordCount": 10000,
"maxImageHeight": 4096,
"maxImageWidth": 4096,
"supportedExtensions": "WMSServer"
}

Example of Layer response:

Details
{
"currentVersion": 10.91,
"cimVersion": "2.9.0",
"id": 0,
"name": "{Layer Name}",
"type": "Feature Layer",
"description": "{Description}",
"geometryType": "esriGeometryPoint",
"sourceSpatialReference": {
"wkid": 7844,
"latestWkid": 7844,
"xyTolerance": 8.983152841195213E-9,
"zTolerance": 0.001,
"mTolerance": 0.001,
"falseX": -400,
"falseY": -400,
"xyUnits": 9.999999999999999E8,
"falseZ": 0,
"zUnits": 1,
"falseM": 0,
"mUnits": 1
},
"copyrightText": "{Copyright text}",
"parentLayer": null,
"subLayers": [],
"minScale": 0,
"maxScale": 0,
"referenceScale": 0.0,
"drawingInfo": {
"renderer": {
"type": "uniqueValue",
"field1": "commodity",
"uniqueValueInfos": [
{
"symbol": {
"type": "esriPMS",
"url": "{itemID url}",
"imageData": "{base64imagedata}",
"contentType": "image/png",
"width": 8,
"height": 8,
"angle": 0,
"xoffset": 0,
"yoffset": 0
},
"value": "{Value}",
"label": "{Label}"
},
{
"symbol": {
"type": "esriPMS",
"url": "{itemID url}",
"imageData": "{base64imagedata}",
"contentType": "image/png",
"width": 8,
"height": 8,
"angle": 0,
"xoffset": 0,
"yoffset": 0
},
"value": "{Value}",
"label": "{Label}"
}
],
"fieldDelimiter": ",",
"authoringInfo": {
"colorRamp": {
"type": "multipart",
"colorRamps": [
{
"type": "algorithmic",
"algorithm": "esriHSVAlgorithm",
"fromColor": [
56,
168,
0,
255
],
"toColor": [
255,
255,
0,
255
]
},
{
"type": "algorithmic",
"algorithm": "esriHSVAlgorithm",
"fromColor": [
255,
255,
0,
255
],
"toColor": [
255,
0,
0,
255
]
}
]
}
}
},
"scaleSymbols": true,
"transparency": 0,
"labelingInfo": null
},
"defaultVisibility": false,
"extent": {
"xmin": 105.69478031900007,
"ymin": -35.11340999999993,
"xmax": 128.99795249600004,
"ymax": -10.421943299999953,
"spatialReference": {
"wkid": 7844,
"latestWkid": 7844,
"xyTolerance": 8.983152841195213E-9,
"zTolerance": 0.001,
"mTolerance": 0.001,
"falseX": -400,
"falseY": -400,
"xyUnits": 1.125899906842624E13,
"falseZ": -100000,
"zUnits": 10000,
"falseM": -100000,
"mUnits": 10000
}
},
"hasAttachments": false,
"htmlPopupType": "esriServerHTMLPopupTypeAsHTMLText",
"displayField": "short_name",
"typeIdField": null,
"subtypeFieldName": null,
"subtypeField": null,
"defaultSubtypeCode": null,
"fields": [
{
"name": "oid",
"type": "esriFieldTypeOID",
"alias": "oid",
"domain": null
},
{
"name": "gid",
"type": "esriFieldTypeInteger",
"alias": "gid",
"domain": null
},
{
"name": "short_name",
"type": "esriFieldTypeString",
"alias": "short_name",
"length": 50,
"domain": null
}
],
"geometryField": {
"name": "{field name}",
"type": "esriFieldTypeGeometry",
"alias": "{alias}"
},
"indexes": [
{
"name": "{name}",
"fields": "oid",
"isAscending": true,
"isUnique": true,
"description": ""
},
{
"name": "{name}",
"fields": "short_name",
"isAscending": true,
"isUnique": true,
"description": ""
}
],
"subtypes": [],
"relationships": [],
"canModifyLayer": true,
"canScaleSymbols": false,
"hasLabels": false,
"capabilities": "Map,Query,Data",
"maxRecordCount": 10000,
"supportsStatistics": true,
"supportsExceedsLimitStatistics": true,
"supportsAdvancedQueries": true,
"supportedQueryFormats": "JSON, geoJSON, PBF",
"isDataVersioned": false,
"ownershipBasedAccessControlForFeatures": {
"allowOthersToQuery": true
},
"useStandardizedQueries": true,
"supportedSpatialRelationships": [
"esriSpatialRelIntersects",
"esriSpatialRelContains",
"esriSpatialRelCrosses",
"esriSpatialRelEnvelopeIntersects",
"esriSpatialRelIndexIntersects",
"esriSpatialRelOverlaps",
"esriSpatialRelTouches",
"esriSpatialRelWithin",
"esriSpatialRelRelation"
],
"advancedQueryCapabilities": {
"useStandardizedQueries": true,
"supportsStatistics": true,
"supportsPercentileStatistics": true,
"supportsHavingClause": true,
"supportsOrderBy": true,
"supportsDistinct": true,
"supportsCountDistinct": true,
"supportsPagination": true,
"supportsLod": false,
"supportsQueryWithLodSR": false,
"supportsTrueCurve": true,
"supportsQueryWithDatumTransformation": true,
"supportsReturningQueryExtent": true,
"supportsQueryWithDistance": true,
"supportsSqlExpression": true,
"supportsTimeRelation": true,
"supportsSqlFormat": false,
"supportsQueryAnalytic": true
},
"supportsDatumTransformation": true,
"advancedQueryAnalyticCapabilities": {
"supportsLinearRegression": true,
"supportsAsync": false,
"supportsPercentileAnalytic": false
},
"dateFieldsTimeReference": null,
"preferredTimeReference": null,
"datesInUnknownTimezone": false,
"hasMetadata": true,
"isDataArchived": false,
"archivingInfo": {
"supportsQueryWithHistoricMoment": false,
"startArchivingMoment": -1
},
"supportsCoordinatesQuantization": true,
"supportsDynamicLegends": true
}

Example of Legend response:

Details
{
"layers": [
{
"layerId": 0,
"layerName": "{Layer Name}",
"layerType": "Feature Layer",
"minScale": 0,
"maxScale": 0,
"legend": [
{
"label": "{Label}",
"url": "{itemID url}",
"imageData": "{base64imagedata}",
"contentType": "image/png",
"groupId": "0",
"height": 20,
"width": 20,
"values": [
"{Value}"
]
},
{
"label": "{Label}",
"url": "{itemID url}",
"imageData": "{base64imagedata}",
"contentType": "image/png",
"groupId": "0",
"height": 20,
"width": 20,
"values": [
"{Value}"
]
}
],
"legendGroups": [
{
"id": "0",
"heading": ""
}
]
}
]
}

Layer must have the following:

  • Extent
    • Should contain finite coordinate values
    • Should contain spatialReference object containing the wkid
  • Query capability
    • All available fields must be queryable
    • If any fields are hidden, they must also be hidden from being queryable
    • where=(1=1) query should be enabled and should return data
    • Query must allow features/geometry to be returned
    • Query should allow esriGeometryEnvelope geometry as a filter
  • Drawing Info/Rendering Info of types:
    • simple, with the following symbol types:
      • esriSMS
      • esriSLS
      • esriSFS
      • esriPFS
      • esriPMS
      • esriTS
    • uniqueValue, with the following symbol types:
      • esriSMS
      • esriSLS
      • esriSFS
      • esriPFS
      • esriPMS
      • esriTS
  • Geometry type must be:
    • Polygon
    • Polyline
    • Point
  • If MinScale and MaxScale are defined:
    • Must be in the correct order i.e.
      • if both are provided, MaxScale should be less than MinScale
      • if MinScale is 0, this means the layer will be always visible until it reaches the MaxScale threshold
      • if MaxScale is 0, this means the layer will always be visible after it exceeds the MinScale threshold
      • if both values are 0, this means the layer will always render
  • Export of PNG32 image tiles should be enabled and available

Example Postman Collection

Use the following Postman collection to test if your layer is likely to function as expected. This will help you test the endpoints mentioned above, as well as allow you to compare the resulting JSON against the requirements.

ArcGIS MapServer Collection

Supported Functionality

FunctionalityAvailable/Functional?
Enable in PortalYes 3
Enable in DataSourceYes
Use as Custom BasemapNo
Use as Default BasemapNo
Feature InteractionYes
SymbologyYes
Use as LayerYes
Authenticated LayerYes
Attribute Table/PopupYes

ArcGIS MapServer Tile

Required Endpoints

Must have MapServer in the URL. This is not case-sensitive.

There are two methods of using a Tile MapServer

  1. Cached XYZ Tiles You must append /tile/{z}/{y}/{x} to the end of the url. Example: https://exampleurl.com/MapServer/tile/{z}/{y}/{x}. Will not work as a layer, can only be added as a custom/default basemap. Has difficulties with authentication when combining with complex proxy security.
  2. Regular Mapserver layer Raster basemaps or tile servers will typically contain indices which are used to categorise components that make up the basemap/tile layer. By querying any of them, all of the data is returned. You must append an index to the end of the url. Example: https://exampleurl.com/MapServer/0 Easier to implement when combining with complex proxy security but this layer cannot be added as a custom/default basemap and only works as a layer.

Required Response

Must conform to Slippy Map Tile standards as outlined here: Slippy map tilenames

Example of Tile layer response:

Details
{
"currentVersion": 10.91,
"serviceDescription": "{Service Description}",
"mapName": "{Layer Name}",
"description": "{Description}",
"copyrightText": "{Copyright Text}",
"supportsDynamicLayers": false,
"layers": [
{
"id": 0,
"name": "{Layer Name}",
"parentLayerId": -1,
"defaultVisibility": true,
"subLayerIds": null,
"minScale": 0,
"maxScale": 0,
"type": "Feature Layer",
"geometryType": "esriGeometryPolygon"
},
{
"id": 1,
"name": "{Layer Name}",
"parentLayerId": -1,
"defaultVisibility": true,
"subLayerIds": null,
"minScale": 0,
"maxScale": 0,
"type": "Feature Layer",
"geometryType": "esriGeometryPolygon"
},
{
"id": 2,
"name": "{Layer name}",
"parentLayerId": -1,
"defaultVisibility": true,
"subLayerIds": null,
"minScale": 0,
"maxScale": 0,
"type": "Feature Layer",
"geometryType": "esriGeometryPolygon"
}
],
"tables": [],
"spatialReference": {
"wkid": 102100,
"latestWkid": 3857
},
"singleFusedMapCache": true,
"tileInfo": {
"rows": 256,
"cols": 256,
"dpi": 96,
"format": "JPEG",
"compressionQuality": 90,
"origin": {
"x": -20037508.342787,
"y": 20037508.342787
},
"spatialReference": {
"wkid": 102100,
"latestWkid": 3857
},
"lods": [
{
"level": 0,
"resolution": 156543.03392800014,
"scale": 591657527.591555
},
{
"level": 1,
"resolution": 78271.51696399994,
"scale": 295828763.795777
},
{
"level": 2,
"resolution": 39135.75848200009,
"scale": 147914381.897889
},
{
"level": 3,
"resolution": 19567.87924099992,
"scale": 73957190.948944
},
{
"level": 4,
"resolution": 9783.93962049996,
"scale": 36978595.474472
},
{
"level": 5,
"resolution": 4891.96981024998,
"scale": 18489297.737236
},
{
"level": 6,
"resolution": 2445.98490512499,
"scale": 9244648.868618
},
{
"level": 7,
"resolution": 1222.992452562495,
"scale": 4622324.434309
},
{
"level": 8,
"resolution": 611.4962262813797,
"scale": 2311162.217155
},
{
"level": 9,
"resolution": 305.74811314055756,
"scale": 1155581.108577
},
{
"level": 10,
"resolution": 152.87405657041106,
"scale": 577790.554289
},
{
"level": 11,
"resolution": 76.43702828507324,
"scale": 288895.277144
},
{
"level": 12,
"resolution": 38.21851414253662,
"scale": 144447.638572
},
{
"level": 13,
"resolution": 19.10925707126831,
"scale": 72223.819286
},
{
"level": 14,
"resolution": 9.554628535634155,
"scale": 36111.909643
},
{
"level": 15,
"resolution": 4.77731426794937,
"scale": 18055.954822
},
{
"level": 16,
"resolution": 2.388657133974685,
"scale": 9027.977411
},
{
"level": 17,
"resolution": 1.1943285668550503,
"scale": 4513.988705
},
{
"level": 18,
"resolution": 0.5971642835598172,
"scale": 2256.994353
},
{
"level": 19,
"resolution": 0.29858214164761665,
"scale": 1128.497176
},
{
"level": 20,
"resolution": 0.14929107082380833,
"scale": 564.248588
},
{
"level": 21,
"resolution": 0.07464553541190416,
"scale": 282.124294
},
{
"level": 22,
"resolution": 0.03732276770595208,
"scale": 141.062147
},
{
"level": 23,
"resolution": 0.01866138385297604,
"scale": 70.5310735
}
]
},
"initialExtent": {
"xmin": -27465501.425151497,
"ymin": -19971868.88040859,
"xmax": 27465501.425151497,
"ymax": 19971868.880408563,
"spatialReference": {
"cs": "pcs",
"wkid": 102100
}
},
"fullExtent": {
"xmin": -20037507.22959434,
"ymin": -19971868.88040859,
"xmax": 20037507.22959434,
"ymax": 19971868.880408563,
"spatialReference": {
"cs": "pcs",
"wkid": 102100
}
},
"minScale": 0,
"maxScale": 0,
"units": "esriMeters",
"supportedImageFormatTypes": "PNG32,PNG24,PNG,JPG,DIB,TIFF,EMF,PS,PDF,GIF,SVG,SVGZ,BMP",
"documentInfo": {
"Title": "{Title}",
"Author": "{Author}",
"Comments": "",
"Subject": "{Subject}",
"Category": "{Category}",
"AntialiasingMode": "None",
"TextAntialiasingMode": "Force",
"Keywords": "{Keywords}"
},
"capabilities": "Map,Tilemap,Query,Data",
"supportedQueryFormats": "JSON, geoJSON",
"exportTilesAllowed": false,
"referenceScale": 0,
"datumTransformations": [
{
"geoTransforms": [
{
"wkid": 108001,
"latestWkid": 1241,
"transformForward": true,
"name": "NAD_1927_To_NAD_1983_NADCON"
}
]
},
{
"geoTransforms": [
{
"wkid": 108001,
"latestWkid": 1241,
"transformForward": false,
"name": "NAD_1927_To_NAD_1983_NADCON"
}
]
}
],
"supportsDatumTransformation": true,
"maxRecordCount": 100,
"maxImageHeight": 4096,
"maxImageWidth": 4096,
"supportedExtensions": "KmlServer"
}

Example of Tile layer index response:

Details
{
"currentVersion": 10.91,
"id": 0,
"name": "{Layer Name}",
"type": "Feature Layer",
"description": "{Description}",
"geometryType": "esriGeometryPolygon",
"sourceSpatialReference": {
"wkid": 102100,
"latestWkid": 3857
},
"copyrightText": "{Copyright text}",
"parentLayer": null,
"subLayers": [],
"minScale": 0,
"maxScale": 0,
"drawingInfo": {
"renderer": {
"type": "simple",
"symbol": {
"type": "esriSFS",
"style": "esriSFSSolid",
"color": [
0,
0,
0,
0
],
"outline": {
"type": "esriSLS",
"style": "esriSLSNull",
"color": [
0,
0,
0,
0
],
"width": 0
}
},
"label": "",
"description": ""
},
"transparency": 0,
"labelingInfo": null
},
"defaultVisibility": true,
"extent": {
"xmin": -20037508,
"ymin": -20037508,
"xmax": 20037508,
"ymax": 20037508,
"spatialReference": {
"wkid": 102100,
"latestWkid": 3857
}
},
"hasAttachments": false,
"htmlPopupType": "esriServerHTMLPopupTypeNone",
"displayField": "Shape",
"typeIdField": null,
"subtypeFieldName": null,
"subtypeField": null,
"defaultSubtypeCode": null,
"fields": [
{
"name": "OBJECTID",
"type": "esriFieldTypeOID",
"alias": "OBJECTID",
"domain": null
},
{
"name": "Shape",
"type": "esriFieldTypeGeometry",
"alias": "Shape",
"domain": null
}
],
"geometryField": {
"name": "Shape",
"type": "esriFieldTypeGeometry",
"alias": "Shape"
},
"indexes": [
{
"name": "{Name}",
"fields": "OBJECTID",
"isAscending": true,
"isUnique": true,
"description": ""
},
{
"name": "{Name}",
"fields": "Shape",
"isAscending": true,
"isUnique": false,
"description": ""
}
],
"subtypes": [],
"relationships": [],
"canModifyLayer": false,
"canScaleSymbols": false,
"hasLabels": false,
"capabilities": "Map,Tilemap,Query,Data",
"maxRecordCount": 100,
"supportsStatistics": true,
"supportsAdvancedQueries": true,
"supportedQueryFormats": "JSON, geoJSON",
"isDataVersioned": false,
"ownershipBasedAccessControlForFeatures": {
"allowOthersToQuery": true
},
"useStandardizedQueries": true,
"advancedQueryCapabilities": {
"useStandardizedQueries": true,
"supportsStatistics": true,
"supportsHavingClause": true,
"supportsCountDistinct": true,
"supportsOrderBy": true,
"supportsDistinct": true,
"supportsPagination": true,
"supportsTrueCurve": true,
"supportsReturningQueryExtent": true,
"supportsQueryWithDistance": true,
"supportsSqlExpression": true
},
"supportsDatumTransformation": true,
"hasGeometryProperties": true,
"geometryProperties": {
"shapeAreaFieldName": "Shape_Area",
"shapeLengthFieldName": "Shape_Length",
"units": "esriMeters"
},
"dateFieldsTimeReference": null,
"supportsCoordinatesQuantization": true
}

If using Layer, it must have the following:

  • Extent
    • Should contain finite coordinate values
    • Should contain spatialReference object containing the wkid
  • If MinScale and MaxScale are defined:
    • Must be in the correct order i.e.
      • if both are provided, MaxScale should be less than MinScale
      • if MinScale is 0, this means the layer will be always visible until it reaches the MaxScale threshold
      • if MaxScale is 0, this means the layer will always be visible after it exceeds the MinScale threshold
      • if both values are 0, this means the layer will always render
  • Export of PNG32 image tiles should be enabled and available

Example Postman Collection

Use the following Postman collection to test if your layer is likely to function as expected. This will help you test the endpoints mentioned above, as well as allow you to compare the resulting JSON against the requirements.

ArcGIS MapServer Tile Collection

Supported Functionality

FunctionalityAvailable/Functional?
Enable in PortalYes 4
Enable in DataSourceYes
Use as Custom BasemapYes 5
Use as Default BasemapYes 5
Feature InteractionYes
SymbologyYes
Use as LayerYes 6
Authenticated LayerYes 7
Attribute Table/PopupYes

WFS/WMS/WMTS

Required Endpoint

WFS must contain wfs in the URL.

WMS must contain wms in the URL.

WMTS must contain wmts in the URL.

Required Response

Each respective layer must have a GetCapabilities endpoint.

For specific standards and details please visit:

Example Postman Collections

Use the following Postman collection to test if your layer is likely to function as expected. This will help you test the endpoints mentioned above, as well as allow you to compare the resulting JSON against the requirements.

WMS Collection WFS Collection WMTS Collection

Supported Functionality

FunctionalityAvailable/Functional?
Enable in PortalNo
Enable in DataSourceYes
Use as Custom BasemapNo
Use as Default BasemapNo
Feature InteractionYes 8
SymbologyYes 9
Use as LayerYes
Authenticated LayerNo 10
Attribute Table/PopupYes 11

Datasource Layers

To utilise datasources as layers please ensure:

  • Datasource record is configured correctly
  • At least some records have valid locations

Supported Functionality

FunctionalityAvailable/Functional?
Enable in PortalNo
Enable in DataSourceNo
Use as Custom BasemapNo
Use as Default BasemapNo
Feature InteractionYes 12
SymbologyYes
Use as LayerYes
Authenticated LayerNo
Attribute Table/PopupYes

File Layers

Required formats

The following formats are supported:

  • Shapefile(.zip)
  • KML
  • GeoJSON
  • TopoJSON
  • GPX
  • CSV

Supported Functionality

FunctionalityAvailable/Functional?
Enable in PortalNo
Enable in DataSourceNo
Use as Custom BasemapNo
Use as Default BasemapYes 13
Feature InteractionYes
SymbologyYes
Use as LayerYes
Authenticated LayerNo
Attribute Table/PopupYes

Footnotes

  1. Vector Tiles will work with Auth Applications, Static Tokens and tokens injected via Additional Params. However, injecting additional non-token parameters and/or combinations of hosting the service via a proxy may not work at all or as expected. Our recommendation is to utilise public or non-authenticated vector tile basemaps. 2

  2. Authenticated layers for Power Pages/Portal are required to use one of the following:

  3. Authenticated layers for Power Pages/Portal are required to use one of the following:

  4. Must be used as an indexed MapServer layer to function on Portal. Authenticated layers for Power Pages/Portal are required to use one of the following:

  5. Only available if using XYZ cached tiles 2

  6. Only available if using indexed MapServer layer

  7. XYZ cached tile server struggles to be utilised if implemented under complex multi-stage security layers such as proxies or iPaaS

  8. Only available with WFS layers

  9. WFS and WMTS will display standard blue symbology in the legend

  10. Only username/password and key/value pair authentication is available

  11. Only available with WFS layers

  12. Attribute Popup for data source layers looks similar to the infobox but is not configurable and will return an Add to Route action and will have a clickable title to open the record in a modal.

  13. File layers can be configured to be used as offline basemaps, for more information please refer to Offline Capability