Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Terminology used within this specification.

The version history table describes the major changes to the specifications between published versions.
This section will highlight important requirements or describe any additional cross-cutting requirements that apply to this Building Block.

This section lists the technical capabilities of this Building Block.

This section provides a detailed view of how this Building Block will interact with other Building Blocks to support common use cases.


















Retrieve the type of the data viewer. This endpoint provides information about whether the client data viewer is desktop, mobile, web browser, or unknown.
Specifies the type of supported browser for the data viewer.
desktopPossible values: Successful retrieval of the data viewer type
desktopPossible values: The data viewer type information could not be found
Retrieve GIS map display details. This endpoint provides access to GIS data through a data viewer, allowing users to view and query geographic or spatial information presented as graphic representations (points, polygons, lines, or raster grids) through thematic GIS layers or attribute tables. The response will include the symbology (pre-defined styles) for each map layer, displayed as a legend alongside a table of contents listing all layers provided by the service.
Successful retrieval of GIS map display details
Map Display TitleA summary description of the map display purpose and contents.GIS Data Viewer Attributiontrue/r1/eGovStack/COM/11222456/SchedulerBB/creg/event/newEPSG:432612.345634.567812.345634.567812.78934.9012Map display details not found
Add or update spatial bookmarks. This endpoint allows users to capture the spatial extent of a given location as a spatial bookmark in a GIS data viewer. Users can name the bookmark and zoom to the exact extent whenever needed by selecting the bookmark's name. Users can also add, rename, and remove spatial bookmarks as necessary.
Bookmark A1truetruetrue12.345634.567812.78934.9012Set minimum and maximum scale limits for each layer. This endpoint allows users to specify whether a layer is identifiable and/or selectable on the data viewer. These settings are saved as a cache by the data viewer app and are reserved for future data viewer displays. The settings are reset to default when the cache is cleared.
The name of the GIS layer
The minimum scale to show the layer's feature on the map display
The maximum scale to show the layer's feature on the map display
Enable basic navigation capabilities on the GIS data viewer. This endpoint allows users to perform basic navigation actions such as zooming in and out of a map, and panning to explore the displayed GIS data.
Specifies if zooming is supported
The available zoom levels for the map
Specifies if panning is supported
Add, view, delete, and mark map notes on the GIS data viewer. This endpoint allows GIS users to add and share brief notes on the GIS data viewer. Other users can view and comment on these notes. Notes can only be deleted by the creator of the note. Notes are saved and served as a web feature service.
John DoeThis is a map note.2023-08-01T12:34:56Ztruetruetruetrue12.345634.5678Perform measuring actions on the GIS data viewer. This endpoint allows users to measure distances and areas on the displayed map.
truetrueSuccessful measuring action
Invalid request parameters or missing required fields
Retrieve the style applied to the data viewer. This endpoint provides information about the style used to portray the geographic features of each layer on the data viewer.
Successful retrieval of data viewer style
DefaultStyleDefault style for GIS layersCodedStyleExecute GIS feature or attribute query operations interactively or through predefined expressions.
Successful response
Bad Request
Unauthorized
Internal Server Error
No content
No content
No content
No content
No content
No content
No content
Successful bookmark creation or update
Bookmark A1truetruetrue12.345634.567812.78934.9012Invalid request parameters or missing required fields
Successful setting of layer scale limits
Invalid request parameters or missing required fields
No content
Successful enabling of basic navigation capabilities
Invalid request parameters or missing required fields
No content
Successful note creation or update
John DoeThis is a map note.2023-08-01T12:34:56Ztruetruetruetrue12.345634.5678Invalid request parameters or missing required fields
No content
Successful retrieval of data viewer style
No content
No content
Updated
No content
Bad Request
Not Found
No content
No content
No content
No content
No content
No content
No content
Successful response with a list of geofences
No content
Successful response after creating geofence
No content
No content
No content
No content
No content
No content
No content
No content
Successful response after adding geofence element
Geofence not found
No content
No content
Successful response after creating action rule
Geofence not found
No content
Successful response after creating element action rule
Geofence or element not found
No content
Successful response after creating a route
No content
No content
No content
No content
No content
Successful response with a list of service areas
No content
GET /v1/gisBb/mapDisplay/type HTTP/1.1
Host: host
Accept: */*
GET /v1/gisBb/mapDisplay/details HTTP/1.1
Host: host
Accept: */*
POST /v1/gisBb/mapDisplay/bookmarks HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 133
{
"name": "Bookmark A",
"create": 1,
"remove": true,
"rename": true,
"zoomTo": true,
"minX": 12.3456,
"minY": 34.5678,
"maxX": 12.789,
"maxY": 34.9012
}PUT /v1/gisBb/mapDisplay/scale?layerTitle=text HTTP/1.1
Host: host
Accept: */*
PUT /v1/gisBb/mapDisplay/navigation?zoom=true&zoomLevel=1&pan=true HTTP/1.1
Host: host
Accept: */*
POST /v1/gisBb/mapDisplay/notes HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 165
{
"creator": "John Doe",
"content": "This is a map note.",
"timeStamp": "2023-08-01T12:34:56Z",
"add": true,
"delete": true,
"view": true,
"visible": true,
"x": 12.3456,
"y": 34.5678
}POST /v1/gisBb/mapDisplay/measuring HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 29
{
"distance": true,
"area": true
}{
"name": "DefaultStyle",
"description": "Default style for GIS layers",
"type": "CodedStyle"
}POST /v1/gisBB/dataManagement/dataStore HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 131
{
"name": "text",
"description": "text",
"provider": "text",
"connectionString": "text",
"accessRestrictions": true,
"updateFrequency": "text"
}GET /v1/gisBB/dataManagement/dataStore/{dataStoreId} HTTP/1.1
Host: host
Accept: */*
PATCH /v1/gisBB/dataManagement/dataStore/{dataStoreId} HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 131
{
"name": "text",
"description": "text",
"provider": "text",
"connectionString": "text",
"accessRestrictions": true,
"updateFrequency": "text"
}POST /v1/gisBB/dataManagement/dataStoreMetadata HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 111
{
"name": "text",
"source": "text",
"description": "text",
"keywords": "text",
"lastUpdated": "2026-03-12T15:21:52.180Z"
}POST /v1/gisBB/dataManagement/userControl HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 106
{
"username": "text",
"password": "text",
"editorPermissions": "text",
"editorTracking": true,
"ownerControl": true
}POST /v1/gisBB/dataManagement/editorTracking HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 58
{
"editType": "text",
"timeStamp": "2026-03-12T15:21:52.180Z"
}POST /v1/gisBB/dataManagement/replicate HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 72
{
"sourceDataStore": "text",
"targetDataStore": "text",
"replicaType": "text"
}POST /v1/gisBB/dataManagement/extractTransfer HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 51
{
"sourceDataStore": "text",
"targetDataStore": "text"
}POST /v1/gisBB/dataManagement/editFeature HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 58
{
"layerType": "text",
"featureID": "text",
"operation": "text"
}[
{
"name": "Sample Layer",
"abstract": "A sample GIS layer",
"author": "John Doe",
"geometry": "point",
"keywords": "sample, layer",
"snippet": "This is a sample layer.",
"spatialExtent": [
[
0,
0
],
[
1,
1
]
],
"lastUpdated": "2023-08-08T12:00:00Z"
}
][
{
"name": "Sample Table",
"abstract": "A sample non-spatial table",
"author": "Jane Smith",
"keywords": "sample, table",
"lastUpdated": "2023-08-08T12:00:00Z"
}
]POST /v1/gisBB/query/gisQuery HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 96
{
"type": "text",
"queryFormat": "text",
"queryString": "text",
"timeStamp": "2026-03-12T15:21:52.180Z"
}POST /v1/gisBB/query/locationalQuery HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 85
{
"layerType": "text",
"spatialRelation": "text",
"longitude": 1,
"latitude": 1,
"distance": 1
}POST /v1/gisBB/query/attributeQuery HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 57
{
"attributeName": "text",
"operator": "text",
"value": "text"
}POST /v1/gisBB/query/discoveryQuery HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 24
{
"attributeName": "text"
}[
{
"queryType": "Attribute Query",
"queryStatus": "Success",
"timeStamp": "2023-08-08T12:00:00Z"
}
]POST /v1/gisBB/geofencing/geofences HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 53
{
"name": "text",
"shape": "text",
"size": 1,
"status": true
}PUT /v1/gisBB/geofencing/geofences/{geofenceId} HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 53
{
"name": "text",
"shape": "text",
"size": 1,
"status": true
}POST /v1/gisBB/geofencing/geofences/{geofenceId}/elements HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 46
{
"elementType": "text",
"trackingMethod": "text"
}DELETE /v1/gisBB/geofencing/geofences/{geofenceId}/elements/{elementId} HTTP/1.1
Host: host
Accept: */*
POST /v1/gisBB/geofencing/geofences/{geofenceId}/rules HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 37
{
"actionType": "text",
"action": "text"
}POST /v1/gisBB/geofencing/geofences/{geofenceId}/elements/{elementId}/actions HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 69
{
"notificationType": "text",
"recipient": "text",
"recipientType": "text"
}POST /v1/gisBB/routing/routes HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 100
{
"startNode": {},
"endNode": {},
"passThrough": true,
"restrictions": "text",
"additionalParameters": "text"
}GET /v1/gisBB/spatialAwarenessAnalysis/metadata HTTP/1.1
Host: host
Accept: */*
GET /v1/gisBB/spatialAwarenessAnalysis/processes HTTP/1.1
Host: host
Accept: */*
POST /v1/gisBB/spatialAwarenessAnalysis/executeTask HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 137
{
"processingName": "text",
"description": "text",
"parameters": [
{
"parameterName": "text",
"value": "text",
"code": "text",
"defaultValue": "text"
}
]
}GET /v1/gisBB/spatialAwarenessAnalysis/taskStatus/{taskId} HTTP/1.1
Host: host
Accept: */*
GET /v1/gisBB/spatialAwarenessAnalysis/taskResult/{taskId} HTTP/1.1
Host: host
Accept: */*
POST /v1/gisBB/spatialAwarenessAnalysis/terminateTask/{taskId} HTTP/1.1
Host: host
Accept: */*
POST /v1/gisBB/geocodingReverseGeocoding/geocode HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 45
{
"address": "text",
"longitude": 1,
"latitude": 1
}POST /v1/gisBB/geocodingReverseGeocoding/reverseGeocode HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 28
{
"longitude": 1,
"latitude": 1
}POST /v1/gisBB/geocodingReverseGeocoding/batchGeocode HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 94
{
"batchType": "text",
"batchName": "text",
"status": "text",
"timeStamp": "2026-03-12T15:21:52.180Z"
}GET /v1/gisBB/geocodingReverseGeocoding/geocodeResult/{resultId} HTTP/1.1
Host: host
Accept: */*
GET /v1/gisBB/geocodingReverseGeocoding/reverseGeocodeResult/{resultId} HTTP/1.1
Host: host
Accept: */*
GET /v1/gisBB/geofencing/geofences HTTP/1.1
Host: host
Accept: */*
GET /v1/gisBB/routing/service-areas HTTP/1.1
Host: host
Accept: */*
GET /v1/gisBb/mapDisplay/style HTTP/1.1
Host: host
Accept: */*
GET /v1/gisBB/query/layerMetadata HTTP/1.1
Host: host
Accept: */*
GET /v1/gisBB/query/nonSpatialTableMetadata HTTP/1.1
Host: host
Accept: */*
GET /v1/gisBB/query/queryResult HTTP/1.1
Host: host
Accept: */*
GET /v1/gisBB/geofencing/geofences/{geofenceId} HTTP/1.1
Host: host
Accept: */*
DELETE /v1/gisBB/geofencing/geofences/{geofenceId} HTTP/1.1
Host: host
Accept: */*
GET /v1/gisBB/geofencing/geofences/{geofenceId}/status HTTP/1.1
Host: host
Accept: */*
POST /v1/gisBB/geofencing/geofences/{geofenceId}/activate HTTP/1.1
Host: host
Accept: */*
POST /v1/gisBB/geofencing/geofences/{geofenceId}/deactivate HTTP/1.1
Host: host
Accept: */*
GET /v1/gisBB/geofencing/geofences/{geofenceId}/elements HTTP/1.1
Host: host
Accept: */*
GET /v1/gisBB/routing/routes/{routeId} HTTP/1.1
Host: host
Accept: */*
DELETE /v1/gisBB/routing/routes/{routeId} HTTP/1.1
Host: host
Accept: */*
GET /v1/gisBB/routing/routes/{routeId}/directions HTTP/1.1
Host: host
Accept: */*
GET /v1/gisBB/routing/routes/{routeId}/segments HTTP/1.1
Host: host
Accept: */*
desktop{
"title": "Map Display Title",
"description": "A summary description of the map display purpose and contents.",
"attribution": "GIS Data Viewer Attribution",
"accessControl": true,
"endPoint": "/r1/eGovStack/COM/11222456/SchedulerBB/creg/event/new",
"crs": "EPSG:4326",
"centerX": 12.3456,
"centerY": 34.5678,
"boundsMinX": 12.3456,
"boundsMinY": 34.5678,
"boundsMaxX": 12.789,
"boundsMaxY": 34.9012
}{
"name": "Bookmark A",
"create": 1,
"remove": true,
"rename": true,
"zoomTo": true,
"minX": 12.3456,
"minY": 34.5678,
"maxX": 12.789,
"maxY": 34.9012
}{
"creator": "John Doe",
"content": "This is a map note.",
"timeStamp": "2023-08-01T12:34:56Z",
"add": true,
"delete": true,
"view": true,
"visible": true,
"x": 12.3456,
"y": 34.5678
}[
{
"queryType": "Attribute Query",
"queryStatus": "Success",
"timeStamp": "2023-08-08T12:00:00Z"
}
][
{
"queryType": "Locational Query",
"queryStatus": "Success",
"timeStamp": "2023-08-08T12:00:00Z"
}
][
{
"queryType": "Attribute Query",
"queryStatus": "Success",
"timeStamp": "2023-08-08T12:00:00Z"
}
][
{
"queryType": "Metadata Discovery Query",
"queryStatus": "Success",
"timeStamp": "2023-08-08T12:00:00Z"
}
]This section provides information on the core data structures/data models that are used by this Building Block.

Add a dynamic GIS layer to a map layout or report.
Successful response after adding dynamic GIS layer
No content
Bad Request
Add a scale bar to a map layout or report.
Successful response after adding scale bar
No content
Bad Request
Add a north arrow to a map layout or report.
Successful response after adding north arrow
No content
Bad Request
No content
No content
No content
No content
No content
No content
No content
No content
No content
GET /v1/gisBB/reporting/templates HTTP/1.1
Host: host
Accept: */*
POST /v1/gisBB/reporting/dynamicLayers HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 109
{
"title": "text",
"abstract": "text",
"author": "text",
"keywords": "text",
"lastUpdated": "2026-03-12T15:21:52.180Z"
}DELETE /v1/gisBB/reporting/dynamicLayers/{layerId} HTTP/1.1
Host: host
Accept: */*
POST /v1/gisBB/reporting/labels HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 86
{
"labelText": "text",
"positionX": 1,
"positionY": 1,
"font": "text",
"size": 1,
"color": "text"
}DELETE /v1/gisBB/reporting/labels/{labelId} HTTP/1.1
Host: host
Accept: */*
POST /v1/gisBB/reporting/charts HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 44
{
"title": "text",
"type": "text",
"data": "text"
}DELETE /v1/gisBB/reporting/charts/{chartId} HTTP/1.1
Host: host
Accept: */*
POST /v1/gisBB/reporting/legends HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 86
{
"labelText": "text",
"positionX": 1,
"positionY": 1,
"font": "text",
"size": 1,
"color": "text"
}DELETE /v1/gisBB/reporting/legends/{legendId} HTTP/1.1
Host: host
Accept: */*
POST /v1/gisBB/reporting/scaleBars HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 123
{
"title": "text",
"style": "text",
"length": 1,
"units": "text",
"positionX": 1,
"positionY": 1,
"font": "text",
"size": 1,
"color": "text"
}DELETE /v1/gisBB/reporting/scaleBars/{scaleBarId} HTTP/1.1
Host: host
Accept: */*
POST /v1/gisBB/reporting/northArrows HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 123
{
"title": "text",
"style": "text",
"length": 1,
"units": "text",
"positionX": 1,
"positionY": 1,
"font": "text",
"size": 1,
"color": "text"
}DELETE /v1/gisBB/reporting/northArrows/{northArrowId} HTTP/1.1
Host: host
Accept: */*