Only this pageAll pages
Powered by GitBook
1 of 11

Development

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

2 Description

This section provides context for this Building Block.

Geospatial information represents Earth's features, including maps, images, addresses, zip codes, phone numbers, landmarks, events, and more. Location and time are fundamental properties of geographic information, providing a unifying theme to understand the context of most real and abstract phenomena.

The GIS (geographic information services) building block enables various applications with location-based capabilities. By integrating a wide range of spatial data, such as maps, imagery, and location-based services, users can access and process geospatial data from different sources and link geographic locations to various "objects" within an open information technology environment. For example, users can link geographic locations to people, such as patients, doctors, farmers, and agricultural extension practitioners. They can also link geographic locations to hospitals, ambulances, labs, seed production facilities, and more. Additionally, equipment such as ventilators and vaccine containers can be linked to geographic locations, as can sites like water sources and agricultural fields. This geographic association can also be tagged with a unique digital identifier and a timestamp of when it was acquired.

Applications or components using geographical information services can collect, share, and use temporal and spatial information with other applications, such as map repositories and data visualization tools. These tools can display the collected information on geographical maps, giving users a powerful visual representation of the data. Furthermore, the collected data can be combined with other datasets, such as population, surveillance, or supply chain datasets, to enable interoperable geospatial and spatiotemporal analysis. This can help identify patterns and trends in the data that might not otherwise be apparent.

2.1 Relation to Existing Geospatial Information Standards

The GovStack GIS BB specifications are not meant to replace or compete with existing standards in GIS but rather to extend them to address a new niche related to application use cases serving specific sectors. There are several initiatives and entities dedicated to creating standards for geographic data, the most popular of which are: (1) ISO Technical Committee 211 on Geographic Information/Geomatics (ISO/TC 211) which produces the ISO 19xxx standard series, and (2) the Open Geospatial Consortium (OGC). Although these two organizations are independent and sometimes produce overlapping standards, they generally coordinate closely to maximize mutual development and minimize duplication.

ISO standards are generally focused on the nature of geographic information and standards to encode and represent it in digital environments, while OGC standards are more focused on the implementation of services and APIs for serving and processing GIS over the internet or across systems. Links to the respective standards and resources that are incorporated in the GIS BB can be found in section 5.5 of the GIS BB specifications.

The GovStack GIS BB specifications were developed to fill a new niche in the GIS standardization landscape. Instead of dealing with each standard in isolation or representing them abstractly, these specifications focus on converging existing standards and aligning them in a useful and applicable way to real-world scenarios or use cases relevant to governments and municipalities.

Specifically, the GovStack GIS BB specifications aim to:

  • Make it easier for governments to adopt and use open standards for GIS.

  • Help governments build more interoperable and reusable GIS applications and integrate them with other building blocks.

  • Enable governments to deliver more efficient and effective geo-enabled services to citizens and businesses.

By extending existing standards and focusing on application use cases, the GovStack GIS BB specifications can help governments realize the full potential of GIS to improve public services and decision-making. Below are a few examples of the many sectors that can benefit from GIS services and applications.

  • Local government: cadastral mapping and management, land use and transportation planning, and optimization of service delivery such as postal services, trash collection, etc.

  • Incident Management and Emergency Response: call services, dispatching, tracking emergency vehicles and resources, redlining, etc.

  • Law enforcement: tracking crime patterns, investigating crimes, and public safety planning

  • Natural resources: managing water resources, monitoring forests, and conservation planning

  • Planning: planning for development, transportation, and other infrastructure projects

  • Agriculture: tracking crop yields, providing weather information for farmers, planning for agricultural development, and precision farming

  • Business: tracking assets and customer shopping habits, analyzing store locations, and supply chain management

  • Construction: planning construction projects, tracking progress, and identifying potential hazards

  • Energy: management of energy resources, planning for green energy development, and monitoring energy use

  • Environment: measuring pollution, monitoring wildlife populations, and environmental protection

  • Healthcare: managing disease outbreaks, planning for healthcare facilities, and improving access to patient care

  • Risk management: modeling hazards, exposure, vulnerability analysis, and risk assessment and management

  • Transportation: planning transportation routes, tracking traffic, and improving public transportation

  • Utilities: utility infrastructure management, customer data management, and utility expansion planning

2.2 Current scope

The functional requirements to cover the services required from the GIS Building Block currently consider the specific use cases of:

These two use cases cover a wide range of GIS services, including core functionality such as GIS data access, display, and visualization, GIS data query, GIS layer management and manipulation, metadata and cataloging services, locational analysis, geocoding, and reporting. The endless combination of these GIS services can be used to respond to the needs of various applications across many domains and sectors, as listed above.

The following actors have been identified as "users" of the GIS Building Block:

  • "GIS Data Viewer": displays and views spatial data to find information about a particular location, compare different datasets, or create spatial data visualizations.

  • "GIS Data Editor": performs spatial data editing by adding, updating, or deleting geographic data features from a dataset or changing the properties and attributes of these features.

  • "GIS Admin": manages GIS data by creating, maintaining, and organizing geographic datasets and ensuring that data is accurate and up-to-date.

  • "GIS Application Developer": develops GIS applications by deploying one or more GIS BB services to serve business needs.

  • "Discovery Tools": search for metadata about spatial data to find information about the content of a dataset, the creators of a dataset, or the methods used to create a dataset.

  • "Other Building Blocks and Applications": display and consume GIS services to perform specific GIS operations such as creating maps, generating reports, and more.

The GIS BB services MUST enable these actors to perform the basic functions and tasks associated with their role as follows:

  • Enable GIS Data Viewers to explore, and analyze spatial data, interact with various types of spatial data, manipulate layers, perform spatial analysis, generate reports and create spatial information products, create visualizations in different formats, and share them with others.

  • Provide capabilities for GIS Data Editors to add, delete, update, and modify features in a dataset. It should also support merging or dividing datasets, checking accuracy and completeness, and exporting datasets for use in other software applications.

  • Enable GIS Data Admin to migrate data between databases, create and manage layers, connect to remote databases, import/export data from external sources, search for data, transform projections, generate and manage metadata, enforce metadata standards, enforce data manipulation policies and integrity constraints, and track changes to data and metadata.

  • Allow GIS Developers to expose capabilities for accessing GIS databases, provide access to database contents, access map contents, develop interoperable applications, create mobile apps for geospatial data, and integrate and communicate with other GIS applications and data sources.

  • Enable Discovery Services to catalog, search, visualize, and provide access to geospatial data by providing information about the data, using keywords or tags, displaying it on a map, and allowing users to download, use, or generate reports.

  • Allow other building blocks and applications to retrieve geospatial data for creating interactive maps and applications, perform geospatial analysis for spatially-informed decisions, and manage geospatial data in various formats.

2.3 Future Scope

The following aspects are on the future scope for the GIS Building Block specifications considered in this document:

  • Processing of raster data (e.g., satellite and drone imagery, gridded data) such as performing image classification, image enhancement, segmentation, and other types of analysis.

  • Performing complex geospatial analysis, such as spatial interpolation or complex spatial statistics (e.g., spatial autocorrelation and spatial regression)

  • Handling and performing analysis of geometric networks (typically associated with rules-based networks such as water distribution lines, power utilities, electrical lines, gas pipelines, telephone services, and stream/river water flows).

  • Sharing and accessing GIS 3D data models such as TINs, BLMs, and scenery.

  • Analysis of 3D GIS data models such as performing LiDAR analysis, volumetric calculations, or 3D modeling.

  • Supporting time-based dynamic tracking of objects, whether those that are GPS/sensor-based such as Automatic Vehicle Location (AVL) or spatiotemporal based on time-stamped such as traffic accidents or weather storms.

2.4 Out of Scope

The following aspects are out of the scope of the current version of the GIS Building Block specifications considered in this document:

  • The GIS BB specifications do not address a country's specific data privacy policies, as well as any legal or ethical implications associated with the amount and level of information that can be gathered by GIS BB services. It is crucial to carefully consider any legal or ethical implications associated with using these tools and to take steps to ensure that any collected data is being used responsibly and appropriately.

  • The GIS BB specifications do not define the security measures that should be used to protect GIS data. Security requirements for geographic data can vary depending on the sensitivity of the data and the environment in which it is used.

  • The GIS BB specifications do not define the data formats that should be used to store or exchange geographic data. Many different data formats are available, each with its advantages and disadvantages.

  • The GIS BB specifications do not define the quality of the geographic data that should be used. The quality of geographic data can vary depending on the source of the data and the methods used to collect it.

  • The GIS BB specifications do not define how geographic data should be visualized. This is because geographic data visualization is a subjective process that depends on the user’s needs.

    .

GIS-Based Incident Management System ()

Land Records/Cadastre Management ()

https://govstack-global.atlassian.net/l/cp/jPn05EbR
https://govstack-global.atlassian.net/l/cp/0dcEf3cm

Geographic Information System (GIS)

Developed by: Dr. Tarek Rashed (ITU Consultant), Dr. P. S. Ramkumar (ITU) and Dongpo Deng (Open Culture Foundation) Nabhonil Roy Chowdhury (eGov Foundation), Dan Henderson (Amazon AWS), Tanvir Quader (Aspire to Innovate), and Md. Sheikh Saidy (Aspire to Innovate)

5 Cross-Cutting Requirements

This section will highlight important requirements or describe any additional cross-cutting requirements that apply to this Building Block.

The Cross-cutting requirements described in this section are an extension (adds on) to the cross-cutting requirements defined in the architecture specification document.

5.1 Personal Data Privacy (REQUIRED)

  • Safeguard personal data and share only as authorized.

  • Adhere to GovStack architecture's privacy principles.

5.2 All transactions must be Audit Logged (RECOMMENDED)

  • Log transactions with timestamps, user information, and affiliations.

  • Protect logs from tampering.

  • Comply with Govstack's data policy and audit logging rules.

5.3 Interoperability (REQUIRED)

  • Align with OGC and ISO/TC 211 geospatial standards for data sharing.

  • Seamlessly integrate with other GovStack components.

5.4 Exception Handling (REQUIRED):

  • Implement effective mechanisms and procedures to handle exceptions and errors.

  • Ensure that errors don't lead to system crashes or data loss.

5.5 Incorporation of Relevant Open GIS Standards and APIs (REQUIRED)

OGC APIs
OGC Schemas
OGC Service Standards
GDAL Documentation
ISO/TC 211 - Geographic information/Geomatics

1 Version History

The version history table describes the major changes to the specifications between published versions.

Version
Authors
Comment

0.1

Dongpo Deng

initial input

0.2

Tarek Rashed

minor edits

0.3

Tarek Rashed, P.S.Ramkumar

Adopting the new specifications guidelines and template discussed with Ramkumar and adopted in the Scheduler specifications

0.4

Tarek Rashed

Revising sections 1 to 4 and completing sections 5 to 10

4 Key Digital Functionalities

Key digital functionalities describe the core (required) functions that this Building Block must be able to perform.

The various actors and their activities described in Section 2 must be supported by the key digital functions, shown in the following diagram and detailed below.

4.1 Map Display:

The Map Display for the GIS BB specifications is a fully configured GIS data viewing service that supports the passing of configured information resources between applications, delivers georeferenced map images and vector features in various formats, supports different geographic feature types, projections, and scales, allows users to explore data through panning, zooming, and rotating the map view, and conforms to OGC standards such as WMS, WFS, WMTS, WCS, WPS, and Geopackage.

4.2 GIS Query

The GIS Query KDF enables the creation and execution of GIS data discovery and query operations. It allows retrieval of GIS layer metadata, definition of feature types, and retrieval of GIS features or values based on attributes, location, or boundaries. It supports standard SQL or spatial predicates, filtering and sorting of query results, viewing results in pages, and exporting results to various formats. It conforms to OGC and ISO standards.

4.3 GIS Data Management

The GIS Data Management KDF is a configurable service that allows users to access and perform various operations on a remote GIS database, including publishing metadata, querying data, replicating schemas, extracting and transferring data, manipulating tabular data, and synchronizing changes. It must conform to OGC standards such as CSW, WMS, WFS, WCS, and ISO 19107:2019 and ISO 19168-1:2020.

4.4. Geocoding and Reverse Geocoding

The Geocoding and Reverse Geocoding KDF for the GIS BB specifications convert addresses into coordinates and vice versa. It requires a large gazetteer of addresses and coordinates from various sources, can display coordinates on a map, and can find addresses for geographic features. It can also return results in different languages, filter searches, and conforms to the OGC Open Location Services Interface Standard.

4.5 Spatial Awareness and Analysis

The Spatial Awareness and Analysis KDF for GIS BB specification allows the design, authoring, and publishing of GIS analytical operations. It offers a range of processing operations and tools for geospatial awareness and analysis, including spatial analysis, data conversion, and map production. The KDF supports listing, describing, executing, and consuming GIS processes, as well as managing job status, cancellation, and result retrieval. It conforms to the OGC processing standards.

4.6 Reporting

The Reporting KDF for GIS BB specification outlines a framework for consistent reporting of GIS data. It includes the ability to select reporting templates, access GIS layers and attribute tables, specify a destination for reports, prioritize and schedule report delivery, manage the report queue, and adhere to OGC standards.

4.7 Geofencing

The Geofencing Key Delivery Framework (KDF) for GIS BB specification enables the creation and management of virtual geofences or redlines on a GIS map display. It allows users to draw, modify, and delete geofence boundaries, authorize and manage rules for geofences, track objects within geofences, and receive real-time alerts when objects enter or exit geofences. The framework also conforms to OGC API - Common and OGC API - Features standards.

4.8 Routing

The Routing KDF for GIS BB specification enables the creation and management of network routes independently of a specific routing engine. It computes new routes based on the shortest distance between starting and ending points and allows for the specification of additional routing rules and parameters. It also includes features such as service area parameters, route direction reports, and compliance with OGC standards.

3 Terminology

Terminology used within this specification.

Term

Description

API

Application Programming Interface: a set of rules and tools allowing applications to communicate with each other.

Client

Client is a software component that can invoke an operation from a server.

Coordinate

A coordinate is a sequence of n numbers designating the position of a point in n-dimensional space.

Coordinate system

A set of mathematical rules for specifying how coordinates are to be assigned to points.

Coordinate reference system

A coordinate system that is related to an object by a datum.

CSW

Catalogue Service for the Web: A standard for discovering and searching metadata about.

Endpoints

Specific routes or URIs in APIs where specific functions can be accessed.

Geocoding

The process of converting an address or place name into geographic coordinates.

Geographic feature

Geographic features are real-world phenomena associated with a location relative to the Earth, about which data are collected, maintained, and disseminated. Feature catalogues defining the types of features, their operations, attributes, and associations represented in geographic data are indispensable to turning the data into usable information. Such feature catalogues promote the dissemination, sharing, and use of geographic data through providing a better understanding of the content and meaning of the data. (ISO 19110).

GeoJSON

A format for encoding a variety of geographic data structures, often used with RESTful APIs.

Geoportal

A web portal used to access geographic information and related services.

Global positioning system (GPS)

A satellite-based navigation system that provides location and time information.

GIS

Geographic Information System: A system for visualizing, managing, and analyzing geospatial data.

GIS Service Area

The geographic area that can be reached within a specified time or distance from a given location.

GovStack

A reference digital platform architecture that offers a set of reusable digital building blocks for governments.

Interface

Interface is a named set of operations that characterize the behavior of an entity.

Layer

A collection of geospatial data that is displayed on a map, typically represent one feature type such as points, lines, polygons, and rasters, corresponding to a specific theme (parcels, street addresses, roads).

Interoperability

The ability of systems and products to work together.

Metadata

Data about data; describes attributes like content, quality, and origin.

Operation

An operation specifies a transformation or query that an object may be called to execute.

Server and service

Server is a particular instance of a service. A service is distinct part of the functionality that is provided by an entity through interfaces.

Service metadata

Service metadata describes the operations and geographic information available at a server.

Spatial Analysis

The process of examining geographic data to identify patterns, relationships, and trends.

Remote Sensing

The process of collecting data about the environment from a distance, typically using satellites or aircraft.

Request

A request is an invocation of an operation by a client

Response

A response is a result of an operation returned from a server to a client.

RESTful API

An architectural style for APIs using HTTP requests to access resources.

SDI

Spatial Data Infrastructure: A framework that promotes standards for using, sharing, and

SOA

Service-Oriented Architecture: A design that provides services to other components via a communications protocol.

SOAP

Simple Object Access Protocol: A protocol for exchanging structured information in web services.

Spatial Analysis

Techniques to analyze geospatial data and extract information.

Swagger/OpenAPI

A specification for building APIs, often used for documentation and design.

Topology

The study of geometric properties and spatial relations.

WFS

Web Feature Service: An OGC standard allowing users to access and edit geospatial data.

WMS

Web Mapping Service: An OGC standard for serving georeferenced map images.

WMTS

Web Map Tile Service: Standard from OGC for serving pre-rendered or runtime-computed geospatial tiles.

7 Data Structures

This section provides information on the core data structures/data models that are used by this Building Block.

The diagram below illustrates the proposed resource model that demonstrates the connections between data objects that the GIS Building Block uses. The resource models are represented by a UML class diagram. The GIS building block specification likely has many relationships between different resource types, such as layers, symbologies, and bookmarks. The class diagram concisely represents the structure and relationship between objects in the resource model.

7.1 Resource Model

7.2 Data Elements

7.2.1 Group: Map Display

MapDisplay

Field
Type
Description
Notes

Title

String

The title of the map display.

Description

String

A summary description of the map display, purpose and contents

Attribution

String

Information or credits displayed on the map

AccessControl

Boolean

Permissions or access restrictions for the map

EndPoint

String{url}

The URL or endpoint to access the API

CRS

String{coded_domain}

Code for the spatial reference system used by the map

Center_X

Real

The longitude coordinate of the center point of the map

Optional

Center_Y

Real

The latitude coordinate of the center point of the map

Optional

Bounds_MinX

Real

The longitude coordinate of the lower left point of the map bounding box

Bounds_MinY

Real

The latitude coordinate of the lower left point of the map bounding box

Bounds_MaxX

Real

The longitude coordinate of the upper right point of the map bounding box

Bounds_MaxY

Real

The latitude coordinate of the upper right point of the map bounding box

Navigation

Field
Type
Description
Notes

Zoom

Boolean

Specifies if zooming is supported

ZoomLevel

Integer

The available zoom levels for the map

Pan

Boolean

Specifies if panning is supported

SpatialBookmark

Field
Type
Description
Notes

Name

String

Title or name given to the bookmark

Create

Integer

Specifies if creating bookmarks is supported.

Remove

Boolean

Specifies if removing bookmarks is supported

Rename

Boolean

Specifies if renaming bookmarks is supported

Zoom to

Boolean

Specifies if zooming to bookmark extents is supported

MinX

Real

The longitude coordinate of the lower left point of the spatial extent captured by the bookmark

filled only when the spatial bookmark "Create" is True

MinY

Real

The latitude coordinate of the lower left point of the spatial extent captured by the bookmark

filled only when the spatial bookmark "Create" is True

MaxX

Real

The longitude coordinate of the upper right point of the spatial extent captured by the bookmark

filled only when the spatial bookmark "Create" is True

MaxY

Real

The latitude coordinate of the upper right point of the spatial extent captured by the bookmark

filled only when the spatial bookmark "Create" is True

MapNote

Field
Type
Description
Notes

Creator

String

Name or identifier of the use who created the note

Content

String

The content of text of the map note

TimeSatmp

Date

The timestamp indicating when the note was create

Add

Boolean

Specifies if adding a map note is supported

Delete

Boolean

Specifies if deleting a map note is supported

View

Boolean

Specifies if viewing the content of a map note is supported

Visible

Boolean

Specifies if marking a map note on the map supported

X

Real

The longitude coordinate of the map note label on the map display

filled only when the visibility of the map note is True

Y

Real

The latitude coordinate of the map note label on the map display

filled only when the visibility of the map note is True

Measuring

Field
Type
Description
Notes

Distance

Boolean

Specifies if measuring distances is supported

Area

Boolean

Specifies if measuring areas is supported

LayerToC

Field
Type
Description
Notes

Visible

Boolean

Specifies if ToC is visible or hidden

LayerOrder

Array

Contains the layer IDs or names in the desired order, indicating how the layers should be displayed in the table of contents

The position of each layer in the array determines its placement in the table of contents, with the first element being the topmost layer and the last element being the bottommost layer

Layer

Field
Type
Description
Notes

Title

String

Title or name of the theme that the layer presents

Description

String

A summary description of the layer, purpose and contents

Geometry

Object

An object representing the geometric shape and underlying coordinates and rules for point, line, polygon, curve GIS features, or none.

If none, it is considered a non-spatial attribute table

Visible

Boolean

Specifies if the layer is visible or hidden on the map display

Selectable

Boolean

Specifies if the layer is selectable on the map display

Queryable

Boolean

Specifies if the layer can be queried

Editable

Boolean

Specifies if the layer is editable

Attribute 1

"variable"

Represents a descriptive information or characteristic associated with geographic features represented by the layer theme

The data type assigned will depend of the attribute type

.....................

.....................

.....................

.....................

Attribute n

"variable"

Represents a descriptive information or characteristic associated with geographic features represented by the layer theme

the data type assigned will depend on the attribute type

NonSpatialTable

Field
Type
Description
Notes

Title

String

Title or name of the theme that the table presents

Description

String

A summary description of the Table, purpose and contents

Queryable

Boolean

Specifies if the table can be queried

Editable

Boolean

Specifies if the table is editable

Attribute 1

"variable"

Represents a descriptive information or characteristic associated with records represented by the layer theme

The data type assigned will depend of the attribute type

.....................

.....................

.....................

.....................

Attribute n

"variable"

Represents a descriptive information or characteristic associated with the records represented by the layer theme

the data type assigned will depend on the attribute type

ScaleLimit

Field
Type
Description
Notes

MinScale

Integer

Specifies the minimum scale to show the layer's feature on map display

If set, the layer features disappear from the map display once zoom into beyond the minimum scale limit

MaxScale

Integer

Specifies the minimum scale to show the layer's feature on map display

If set, the layer features disappear from the map display once zoom out beyond the maximum scale limit

Style

Field
Type
Description
Notes

Name

String

The name or identifier of the style applied to the layer

Styles define the symbology and map legends assigned to layers

Description

String

Text description of properties or parameters specific to the style

Type

String (coded_domain)

A keyword or code to call a predefined style of version in defined or served by OGC API Styles

DataViewer

Field
Type
Description
Notes

Type

String (coded_domain)

A domain code specifying whether the client data viewer is desktop, mobile, web browser, or unknown.

The type of client accessing GIS APIs, may have some implications in terms of interactivity and user experience (navigation, layer manipulation, etc.)

LayerMetadata

Field
Type
Description
Notes

Name

String

Title of the dataset or feature

Abstract

String

Abstract description of the dataset or feature

Author

String

Author description

Geometry

String {coded_domain}

Codes representing the geometry type of the layer (point, line, polygon, non-spatial)

Keywords

String

Keywords associated with the dataset or feature

Snippet

Object

Snippet or summary of the dataset or feature

SpatialExtent

Array

Coordinates (lat & long) of the points defining the bounding box of the layer

LastUpdated

Date

Timestamp of the last update of the layer

NonSpatialTableMetadata

Field
Type
Description
Notes

Name

String

Title of the dataset or feature

Abstract

String

Abstract description of the dataset or feature

Author

String

Author description

Keywords

String

Keywords associated with the dataset or feature

LastUpdated

Date

Timestamp of the last update of the table

GISQuery

Field
Type
Description
Notes

Type

String {coded_domain}

Type of the query, either "ad hoc" or "predefined."

QueryFormat

String

Format of the query (e.g., JSON, XML, SQL).

QueryString

String

The query expression (e.g., SQL)

TimeStamp

Date

Date and time when the query was executed or created

Name

String

Title or description of the query

Optional (only required for predefined query)

LocationalQuery

Field
Type
Description
Notes

LayerType

Geometry

Type of the queried GIS layers (point, polygon, or line)

SpatialRelation

String {coded_domain}

Indicates the spatial relationship used in the query (e.g., "intersects," "contains," "within").

Longitude

Real

Represents the longitude value for the location in the query.

Optional: Required only if the queried geographic feature is represented by ONE POINT

Latitude

Real

Represents the latitude value for the location in the query.

Optional: Required only if the queried geographic feature is represented by ONE POINT

Distance

Real

Represents the distance used in the spatial query

Optional: Required only if the query requires a specification of a distance (e.g., bugger distance)

AttributeQuery

Field
Type
Description
Notes

AttributeName

String

Name of the attribute being queried (e.g., "population," "temperature," "category").

Operator

String

Indicates the comparison operator used in the attribute query (e.g., "=", ">", "<=", "LIKE").

The values for this attribute should follow the standard comparison operators

Value

String or Numeric

Represents the value used in the attribute query for comparison.

The data type of the Value attribute should match the data type of the attribute being queried. For example, if the AttributeName is "population" and the population values are stored as integers, the Value should also be of integer data type.

DiscoveryQuery

Field
Type
Description
Notes

AttributeName

String

Contains the keywords or search terms used for discovering metadata information

This attribute will typically store a comma-separated list of keywords or a single string representing the search terms.

QueryResult

Field
Type
Description
Notes

QueryType

String {coded_domain}

The type of query that generated this result

Coded values will include "Locational Query," "Attribute Query," and "Metadata Discovery Query,"

QueryStatus

String {coded_domain}

Represents the status of the query result

Possible values could be "Success," "Partial Result," "No Results Found," "Error," etc.

TimeStamp

Date

Represents the date and time when the query result was generated

7.2.3 Group: GIS Data Management

DataStore

Field
Type
Description
Notes

Name

String

Name or label of the GIS datastore

Description

String

A detailed description of the GIS data store

Provider

String

Provider or source of the GIS data store

ConnectionString

String

Connection string required to access the GIS data store

AccessRestrictions

Boolean

Enable or disable access restrictions or permissions required to use the GIS data store

UpdateFrequency

String

Description of how often the GIS data store is updated or refreshed with new data

DataStoreMetadata

Field
Type
Description
Notes

Name

String

Title of the datastore

Source

String

Source/Publisher of the datastore

Description

String

Description of the datastore

Keywords

String

Keywords associated with the datastore

LastUpdated

Date

Timestamp of the last publishing date of the datastore

UserControl

Field
Type
Description
Notes

Username

String

Username for authentication

Password

String

The password associated with the username for authentication to the GIS data store

EditorPermissions

String

{coded_value}

Codes depicting access control level over editing capabilities provided by the service (view, edit, delete, no edits)

EditorTracking

Boolean

Whether or not it should record who created or updated features and when they did it (providing accountability for the edits)

Optional

OwnerControl

Boolean

Limits access to geographic features based on who created them.

Optional

EditorTracking

Field
Type
Description
Notes

EditType

String

{coded_value}

Type of editing operation (create, update, delete)

TimeStamp

String

Timestamp indicating when the edit was made

Replica

Field
Type
Description
Notes

SourceDataStore

String {url}

Links the replica to the source GIS Datastore.

TargetDataStore

String {url}

Links the replica to the target GIS Datastore.

ReplicaType

String

{coded_value}

Type of replica operation (creation, synchronization, extraction).

7.2.4 Geocoding and Reverse Geocoding

AddressData

Field
Type
Description
Notes

Address

String

Address information for geocoding or reverse geocoding.

Longitude

Real

Longitude coordinate for the address

Used for Reverse Geocoding

Latitude

Real

Latitude coordinate for the address

Used for Reverse Geocoding

AddressAlias

Field
Type
Description
Notes

Alias

String

Alias or potential alternative address for the Address Data

An address may have 0 to n aliases

AddressFormat

Field
Type
Description
Notes

FormatingName

String

Name of the address format

CountryCode

String

{coded_value}

Country code for the address format

Optional

FormatString

String

Format string representing the structure of the address

GeocodingBatch

Field
Type
Description
Notes

BatchType

String

{coded_value}

Code representing whether the batch performs geocoding or reverse geocoding

BatchName

String

Name of the geocoding batch

Status

String

{coded_value}

Status of the geocoding batch (e.g., processing, completed)

TimeStamp

Date

Date and time of when the geocoding batch was completed.

7.2.5 Spatial Awareness and Analysis

Geoprocessing

Field
Type
Description
Notes

ProcessingName

String

Name of the geoprocessing task

Description

String

Detailed information that describes the geoprocessing task

Parameters

Array

Array of input and output parameters that are needed to execute the geoprocessing job (parameter name, value, code represents whether it is input or output parameter, and default value)

ExecustionStatus

Field
Type
Description
Notes

Status

String

{coded_value}

Status of the geoprocessing task execution (e.g., running, completed)

StartTime

Date

Timestamp indicating the start time of the geoprocessing task execution

EndTime

Date

Timestamp indicating the end time of the geoprocessing task execution

Result

Object

Result of the geoprocessing task execution

GIS layers, attributes, or information generated when executed successfully

7.2.6 Reporting

MapReport

Field
Type
Description
Notes

Title

String

Title/name of the map report

Abstract

String

A brief summary or abstract of the map report and its purpose

Author

String

The name of the author or creator of the report.

Keywords

String

Keywords or tags associated with the report.

LastUpdated

Date

The date and time when the report was created or last updated.

ReportQueue

Field
Type
Description
Notes

Status

String

{coded_value}

Status of the report in the queue (e.g., pending, processing, completed).

Priority

String

{coded_value}

The priority level of the report in the queue (high, normal, low)

Recurring

Boolean

Indicates if the report is a recurring task

Interval

String

Time interval for recurring reports

Active only when Recurring is True

StartTime

Date

Timestamp indicating the start time of the report processing

EndTime

Date

Timestamp indicating the end time of the report processing

ReportResource

Field
Type
Description
Notes

ResourceName

String

Name of the Resource

ResourceType

String

{coded_value}

Type of the Resource (e.g., symbology, charts, north arrows, scale bar, etc.)

Symbology

Field
Type
Description
Notes

SymbolType

String

{coded_value}

Type of the symbol (e.g., Dot Density Maps, Graduated Color, Graduated/Proportional Symbol, etc.)

SymbolColor

String

{coded_value}

Color code of the symbol

Transparency

Float

Transparency level of the symbol

Label

Field
Type
Description
Notes

LabelText

String

Text of the Label

PositionX

Real

X-coordinate position of the Label on the map report

PositionY

Real

Y-coordinate position of the Label on the map report

Font

String

{coded_value}

Font of the Label

Size

Integer

Size of the Label

Color

String

{coded_value}

Color of the Label

Chart

Field
Type
Description
Notes

Title

String

Title of the chart

Type

String

{coded_value}

Type of the chart (e.g., bar chart, histogram, etc.)

Data

Blob

Data of the chart

Legend

Field
Type
Description
Notes

Title

String

Name of the Legend

PositionX

Real

X-coordinate position of the Legend on the map

PositionY

Real

Y-coordinate position of the Legend on the map

Font

String

{coded_value}

Font of the Legend

Size

Integer

Size of the Legend font

Color

String

{coded_value}

Color of the Legend

ScaleBar

Field
Type
Description
Notes

Title

String

Name of the scale bar

Style

String

{coded_value}

Type and style of the scale bar (linear, graphic, etc.)

Length

Float

Length of the scale bar on the map report

Units

String

Units of measurement for the scale bar

PositionX

Real

X-coordinate position of the scale bar on the map

PositionY

Real

Y-coordinate position of the scale bar on the map Legend on the map

Font

String

{coded_value}

Font of the Scale Bar

Size

Integer

Size of the Scale Bar

Color

String

{coded_value}

Color of the Scale Bar

NorthArrow

Field
Type
Description
Notes

Title

String

Name of the north arrow

Style

String

{coded_value}

Type and style of the north arrows (simple, arrow with N, etc.)

Length

Float

Length of the North Arrow on the map report

Units

String

Units of measurement for the north arrow

PositionX

Real

X-coordinate position of the north arrow on the map

PositionY

Real

Y-coordinate position of the north arrow on the map

Font

String

{coded_value}

Font of the North Arrow

Size

Integer

Size of the North Arrow

Color

String

{coded_value}

Color of the North Arrow

7.2.7 Gefencing

Geofence

Field
Type
Description
Notes

Name

String

Name of the Geofence

Shape

String

{coded_value}

Shape of the Geofence (e.g., circle, polygon).

Size

Float

Size of the Geofence, representing the radius for a circular Geofence or the area for a polygon Geofence

Status

Boolean

Indicates if the Geofence is activated or deactivated

GefenceElement

Field
Type
Description
Notes

ElementType

String

{coded_value}

Type of the tracked element (e.g., vehicle, device, asset, person).

TrackingMethod

String

{coded_value}

Method of tracking (GPS Coordinates, RFID tags, etc.)

ActionRule

Field
Type
Description
Notes

ActionType

String

{coded_value}

Type of action to be performed (e.g., send notification, execute command).

Action

String

{coded_value}

Description and details or parameters related to the action

Geofence Notification

Field
Type
Description
Notes

NotificationType

String

{coded_value}

Type of notification (e.g., push notification, SMS, email).

Recipient

String

Recipient's contact information (e.g., email address, phone number).

RecipientType

String

{coded_value}

Type of recipient (e.g., user, group)

7.2.8 Routing

Route

Field
Type
Description
Notes

StartNode

Object

Geographic feature representing the starting point of the route

EndNode

Object

Geographic feature representing the ending point of the route

PassThrough

Boolean

Indicates whether the route should pass through intermediate points

Restrictions

String

Specifies any restrictions or obstacles to avoid along the route

AdditionalParameters

String

Additional routing rules and parameters for the route

RouteNode

Field
Type
Description
Notes

Longitude

Real

Longitude coordinate of the node

Latitude

Real

Latitude

Order

Integer

Order of the node in the route sequence

RouteSegment

Field
Type
Description
Notes

StartNode

Object

Geographic feature representing the starting point of the route segment

EndNode

Object

Geographic feature representing the ending point of the route segment

Length

Float

Length of the route segment

ServiceArea

Field
Type
Description
Notes

Shape

String

{coded_value}

Shape of the service area (e.g., circle, polygon).

Size

Float

Size of the service area, representing the radius for a circular service area or the area for a polygon

6 Functional Requirements

This section lists the technical capabilities of this Building Block.

Section 4 of the GIS BB specification covers the key digital functionalities required for managing, processing, and using geospatial information and their integration with other types of information and building blocks. The GIS BB offers these functionalities through RESTful API interfaces that exchange service requests and responses with external building blocks or applications. This section on functional requirements lists the technical components that each key digital function requires. The figure below summarizes these components for each key digital function.

6.1 Map Display

  • [REQUIRED] The map display must provide access to GIS data through a data viewer (a web-based, desktop, or mobile application that allows viewing and querying of GIS data). The viewer should display a graphic representation (points, polygons, lines, or raster grids) of geographic or spatial information through thematic GIS layers or attribute tables. The symbology (pre-defined styles) for each map layer (how the geographic features of this layer are portrayed on the data viewer) must be displayed as a legend alongside a table of contents listing all layers provided by the service.

  • [REQUIRED] The map display must allow the data viewer to manipulate the displayed data layers. This includes hiding or displaying geographic features on the map display, changing their order, changing symbology, or classifying displayed geographic features. It must also provide access to attributes and metadata associated with the layer.

  • [REQUIRED] The map display must enable the GIS data viewer to offer the basic navigation capabilities of a typical GIS data viewer. This includes zooming in and out of a map, panning, searching for geographic features by attribute or by coordinates, and measuring distances and areas on the displayed map.

  • [RECOMMENDED] The map display should enable users to capture the spatial extent of a given location as a spatial bookmark in a GIS data viewer. Users should be able to 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.

  • [RECOMMENDED] The map display should allow users to set minimum and maximum scale limits for each layer, specifying whether or not 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.

  • [OPTIONAL] The map display may allow the GIS user to add and share brief notes on the GID 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.

6.2 GIS Query

  • [REQUIRED] The GIS query must allow for transactions on and access to geographic features independently of the underlying data store.

  • [REQUIRED] If feature metadata is not found in the metadata repository, the GIS Query must return a warning message.

  • [REQUIRED] The GIS query must retrieve metadata that describes the layers and non-spatial tables offered by the GIS schema and their feature types from a data store. The query results must display the title, abstract, author, keywords, data format, and a snippet of the queried layers, along with their spatial extent and temporal information. The service must provide the following options for the retrieved metadata:

    • Display the retrieved metadata record for all datasets and features meeting the selected criteria.

    • Generate and print metadata record reports for the datasets.

    • Visualize layers on a map view.

    • Download or import the layer to the data store (if the service permits).

  • [REQUIRED] The GIS query must allow searching for features and their attributes. It must also provide different options for retrieving features or values of feature properties embedded in GIS layers from the data store (e.g., selected features meeting the query criteria will be highlighted on the data viewer of the map display and the attributes table (as records corresponding to the selected features)). The query options should be based on constraints defined by the client, including:

    • Interactive selection of one or more features from the map display, either by directly clicking on them or using a graphical element (such as a box, circle, rectangle, transect, etc.).

    • Ad hoc SQL queries based on attribute tables.

    • Ad hoc queries based on locational information, such as geographic features located within a layer's boundaries, overlapping with a layer's boundaries, or near geographic features in a different layer.

    • Execution of a predefined query.

6.3 GIS Data Management

  • [REQUIRED] The GIS data management system must allow the publishing of the schema, metadata, and contents of a GIS datastore for data query, extraction, and retrieval by clients. To conform to standards, the vector contents of the GIS layers must be available as OGC Web Feature Service (WFS), while the raster contents must be available as OGC Web Coverage Service (WCS).

  • [REQUIRED] The GIS data management system must enable clients to retrieve geographic features and GIS layers (a collection of features) from the underlying data store based on simple selection criteria defined by the client.

  • [REQUIRED] The GIS data management system must present geometry-valued properties of geographic features in one of the supported Coordinate Reference Systems (CRS).

  • [REQUIRED] The GIS data management system must access and process the coordinates and geometry properties of geographic features and the bounding boxes of these features.

  • [REQUIRED] The GIS data management system must support editing operations of individual geographic features in GIS layers. Operations include:

    • adding or creating a new geographic feature in a GIS layer,

    • updating geographic features by either replacing them or modifying some of their properties,

    • deleting individual geographic features from a GIS layer.

  • [REQUIRED] The GIS data management system must support various replica operations for GIS features, layers, and databases, including creation, synchronization, and data extraction. It is up to the implementers of the service to decide how the GIS data management system will handle the creation of large replicas, the synchronization of large numbers of edits, or the extraction of large amounts of data.

  • [RECOMMENDED] The GIS data management system should provide the following access control levels for the editing capabilities provided by the services to control how the client can consume the services:

    • Editor permissions (at both the GIS layer and geographic feature levels) control whether users can add, delete, or modify features in the service. For example, prevent or allow users to edit feature geometry.

    • Editor tracking that records who created or updated the features and when they did it. This is useful when accountability for the edits is required. An optional history tracking feature maintains information about feature changes over time, allowing edits to be rolled back.

    • Ownership-based access control that limits access to geographic features based on who created them.

6.4 Geocoding and Reverse Geocoding

  • [REQUIRED] The Geocoding and Reverse Geocoding service must provide a solid set of reference GIS layers (street parcels, street centerlines, postal codes, points of interest, landmarks, etc.), additional sets of potential aliases for these addresses, and a designated attribute table with designated fields that are used for geocoding, as well as indexes and local addressing knowledge that helps return the best match with an appropriate resolution.

  • [REQUIRED] The Geocoding and Reverse Geocoding service must provide the best match using explicit rules to promptly geocode locations (i.e., convert an address into geographic coordinates) or reverse geocode (convert geographic coordinates into an address) in an area of interest. Rules efficiency and performance depend on the underlying GIS data (e.g., land parcel vs. street centerline) and local knowledge.

  • [REQUIRED] The Geocoding and Reverse Geocoding service must be performed either from a single query (the address bar) or a batch query (e.g., a table file with multiple addresses or geographic coordinates).

  • [RECOMMENDED] The Geocoding and Reverse Geocoding service should offer multi-role and/or multiple reference data layers with different geometry types that can be combined and processed with the appropriate rules to interpret the geocoded location from many sources.

  • [RECOMMENDED] The Geocoding and Reverse Geocoding service should support multiple address formats if required by the implementation context.

  • [RECOMMENDED] The Geocoding and Reverse Geocoding service should support multiple languages if required by the implementation context.

6.5 Spatial Awareness and Analysis

  • [REQUIRED] The Spatial Awareness and Analysis service must allow retrieval of metadata that describes the purpose and functionality of geospatial analysis tasks or processes.

  • [REQUIRED] The Spatial Awareness and Analysis service must allow retrieval of detailed information that describes the processes that can be run on the service.

  • [REQUIRED] The Spatial Awareness and Analysis service must allow for the execution of one or more geoprocessing tasks to perform basic spatial analysis operations, using the input parameter values provided and returning the output values produced. The minimum set of tasks required by this service includes:

    • Finding the nearest neighbor of a point.

    • Calculating the area of a polygon.

    • Buffering a geographic feature (point, line, or polygon).

    • Ingesting or merging two or more datasets (GIS layers) into a single dataset.

    • Creating a new GIS dataset (GIS layer) from an existing dataset.

    • Exporting a GIS dataset to a different format, such as a shapefile, GeoJSON file, or KML file.

  • [REQUIRED] The Spatial Awareness and Analysis service must support both asynchronous and synchronous modes of executing the tasks. The publisher of the service sets either one or both of the modes. The asynchronous task must have logic implemented to check the status of a task and handle the result once execution is finished as the following:

    • returns the status of an asynchronously executed job.

    • returns the result of a finished processing job that was invoked asynchronously.

    • allows a client to terminate asynchronous processing jobs.

  • [REQUIRED] The Spatial Awareness and Analysis service must fully support all parameter data types used as input or output parameters for OGC WPS services.

6.6 Reporting

  • [REQUIRED] The GIS Reporting service must provide endpoints for templates and resources that can be used to create map layouts and cartographic reports, including the following:

    • Symbology

    • Charts

    • Dot density maps

    • Graduated color maps

    • Graduated or proportional symbol maps

    • Legends

    • Scale bars

    • North arrows

  • [REQUIRED] The GIS Reporting service must allow for adding or removing dynamic GIS layers to or from a map layout or report.

  • [REQUIRED] The GIS Reporting service must allow for defining and managing labels and annotations on a map layout.

  • [REQUIRED] The GIS Reporting service must allow for prioritization and scheduled delivery of reports.

  • [REQUIRED] The GIS Reporting service must allow for managing the report queue and canceling or recalling reporting tasks.

6.7 Geofencing

  • [REQUIRED] The geofencing service must allow for the creation of new geofences.

  • [REQUIRED] The geofencing service must allow for updating or modifying the size and shape of geofence boundaries.

  • [REQUIRED] The geofencing service must allow for deleting existing geofences.

  • [REQUIRED] The geofencing service must allow for listing and visually displaying all the geofences provided by the service on a map.

  • [REQUIRED] The geofencing service must allow for activating or deactivating geofences. Once a geofence is activated, the service will start monitoring elements of interest (vehicles, devices, assets, and people) and send notifications when the device enters or exits the geofence. Once it is deactivated, the service will no longer monitor a geofence or if you need to change your geofence configuration.

  • [REQUIRED] The geofencing service must allow for retrieving the status of a specific geofence (i.e., activated or deactivated).

  • [REQUIRED] The geofencing service must support the specification, modification, deletion, and overall management of rules and actions that may be taken once elements of interest enter or exit a geofence.

  • [REQUIRED] The geofencing service must support GPS or RFID tags or a combination of both to monitor the elements of interest.

  • [RECOMMENDED] The geofencing service should support multiple notification types, such as push notifications, SMS notifications, and email notifications.

6.8 Routing

  • [REQUIRED] The Routing service must allow for creating routes based on start and end nodes.

  • [REQUIRED] The Routing service must allow for fetching and deleting routes stored on the server.

  • [REQUIRED] The Routing service must offer one or more of the following commonly used routing parameters:

    • specifying the type of transport when computing the route

    • specifying intermediate passthrough points along the route

    • specifying restrictions along the route (e.g., turn and direction restrictions, height restrictions for underpasses, bridge weight restrictions, etc.) or obstacles to avoid

    • specifying additional routing rules and parameters (e.g., type of route for cars, buses, or humans, route barriers such as traffic conditions or the presence of over- and under-passes, adding stopping points, traffic conditions, road-turn directions, etc.)

    • creating and managing service area parameters along the route

  • [REQUIRED] The Routing service must generate direction and routing reports.

8 Service APIs

This section provides a reference for APIs that should be implemented by this Building Block.

This section provides a reference for the APIs implemented by the GIS Building Block. The APIs defined here establish a blueprint for how the Building Block will interact with other Building Blocks. Additional APIs may be implemented by the Building Block, but the listed APIs define a minimal set of functionality that should be provided by any implementation of this Building Block.

This section provides a reference for APIs that this Building Block should implement. The APIs defined here establish a blueprint for how the Building Block will interact with other Building Blocks. The Building Block may implement additional APIs, but the listed APIs define a minimal set of functionality that any implementation of this Building Block should provide.

8.1 Map Display

8.2 GIS Query

8.3 GIS Data Management

8.4 Geocoding and Reverse Geocoding

8.5 Spatial Awareness and Analysis

8.6 Reporting

8.7 Geofencing

8.8 Routing

10 Other Resources

This section links to any external documents that may be relevant, such as standards documents or other descriptions of this Building Block that may be useful.

10.1 Use Case Examples

10.2 Future Considerations

Overview of the GIS BB KDFs

refer to OGC API Common

refer to OGC API Common

refer to OGC API Common

refer to OGC API Map Part II:

refer to OGC API Map Part II:

refer to OGC API Map Part II:

refer to OGC API Map Part I:

refer to OGC API Map Part I:

refer to OGC API Map Part I:

Refer to OGC API Map Part I:

Style codes or identifiers can be fetched through GC API Styles Part I - check

Must adheres to ISO 19115:2014 Standard pm GI Metadata

Must adheres to ISO 19115:2014 Standard pm GI Metadata

Must adheres to ISO 19115:2014 Standard pm GI Metadata

Must adheres to ISO 19115:2014 Standard pm GI Metadata

Must adheres to ISO 19115:2014 Standard pm GI Metadata

Must adheres to ISO 19115:2014 Standard pm GI Metadata

Must adheres to ISO 19115:2014 Standard pm GI Metadata

Must adheres to ISO 19115:2014 Standard pm GI Metadata

Must adheres to ISO 19115:2014 Standard pm GI Metadata

Refer to OGC API Processes:

The GIS BB APIs conform with the and should be deployed as a set of microservices to provide clients consistent access to the key digital functionalities and geographic data in different representations. Microservices are defined to receive requests with relevant inputs and return processed results from key digital functionalities of this Building Block. Microservices are small, independent, and loosely coupled services that perform specific functions within the larger GIS BB key digital functionalities. Each microservice is kept simple and intuitive by focusing on one particular task, and together they form a cohesive and scalable GIS architecture. Each microservice can be developed, deployed, and maintained independently, making it easier to manage and scale the system as needed.

The provides additional information on how 'adaptors' may be used to translate an existing API to the patterns described here.

.

.

https://ogcapi.ogc.org/common/
https://ogcapi.ogc.org/common/
https://ogcapi.ogc.org/common/
https://docs.ogc.org/is/18-058/18-058.html
https://docs.ogc.org/is/18-058/18-058.html
https://docs.ogc.org/is/18-058/18-058.html
https://docs.ogc.org/is/20-057/20-057.html
https://docs.ogc.org/is/20-057/20-057.html
https://docs.ogc.org/is/20-057/20-057.html
https://docs.ogc.org/is/20-057/20-057.html
https://developer.ogc.org/api/styles/index.html
https://www.iso.org/standard/53798.html
https://www.iso.org/standard/53798.html
https://www.iso.org/standard/53798.html
https://www.iso.org/standard/53798.html
https://www.iso.org/standard/53798.html
https://www.iso.org/standard/53798.html
https://www.iso.org/standard/53798.html
https://www.iso.org/standard/53798.html
https://www.iso.org/standard/53798.html
https://ogcapi.ogc.org/processes/
OGC web API principles and guidelines
GovStack non-functional requirements document
GIS-Based Incident Management System
Land Records/Cadastre Management
A list of topics that may be relevant to future versions of this Building Block.

9 Internal Workflows

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

The following internal workflows describe the processes the GIS Building Block executes to fulfill a request from an external application or Building Block to meet the functional requirements stated in Section 6 of this specification. In the current scope, examples are drawn from the user-journey steps of the use-cases of the GIS-Based Incident Management System and Land Records/Cadaster Management provided in Section 2. The below common preconditions should be met before utilizing the GIS BB Services:

  • Information Mediator BB Configuration: All the service endpoints of the GIS BB APIs should be configured in the Information Mediator BB.

  • Data Format Compatibility: The geospatial data source handled by the GIS BB APIs, whether vector data (points, lines, and polygons) or raster data (imagery, elevation data), should be in a format compatible with the specific API used (e.g., GeoJSON, GML, KML, etc.) per Section 7 of this specification. External adapters may be used to transform non-compliant data formats and exchange protocols to become compatible with Section 7 Apis.

  • Coordinate System Awareness: Developers and users should understand the coordinate system and projections used in their geospatial data to prevent inaccuracies in analysis and visualization.

  • No Authentication or API Keys: As a general rule, developers of the GIS BB APIs should avoid mandatory authentication mechanisms or API keys that can limit access; make the API accessible to anyone without a signup process unless there is a legitimate requirement to impose authentication mechanisms.

9.1 GIS Map Display

9.1.1 Interactions between an external application or a Building Block and the MapDisplay API with data store integration

9.1.2 Example 1: Cadastral User Displaying Land Use and Title Layers with Parcel Zoom

9.1.3 Example 2: Emergency Dispatcher: Accident Location Bookmarking and Map Note Addition

9.2 GIS Query

9.2.1 Interactions between an external application or a Building Block and the GISQuery API with data store integrationsequenceDiagram

9.2.2 Example 1: Cadastre User Discovery Query for Privately Owned Land

9.2.3 Example 2: Locational Query for Landmarks near Incident Location

9.3 GIS Data Management

9.3.1 Interactions between an external application or a Building Block and the GIS DataManagement API with data store integration

9.3.2 Example: Editing Land Parcel information

9.4 GeoCoding and Reverse GeoCoding

9.4.1 Geocoding and Reverse Geocoding API Integration with Data Store

9.4.2 Example: Reverse Geocoding of Incident Dispatcher's Landmark Coordinates

9.5 Spatial Awareness and Analysis

9.5.1 Interactions between an external application or a Building Block and the SpatialAwarenessAndAnalysis API with data store integration

9.5.2 Example 1: GIS Cadastral User Performing Green Space Analysis

9.5.3 Example 2: Emergency Dispatcher Creating Safe Zone Buffer Around an Incident Spot

9.6 GIS Reporting

9.6.1 Interactions between an external application or a Building Block and the GIS Reporting API with data store integration

9.7 Gefencing

9.7.1 Interactions between an external application or a Building Block and the Geofencing API

9.7.2 Example: Geofencing API Usage for Redlining Emergency Operation

9.8 Routing

9.8.1 Interactions between an external application or a Building Block and the Routing API

9.8.2 Example: Emergency Response Routing Scenario

Conformance to Open Standards: Developers of the GIS BB APIs should adhere to the , and Cross-Origin Resource Sharing (CORS) to enable seamless integration and data exchange of GIS data between GIS BB APIs and GIS API services offered by other systems.

OGC web API guidelines and principles
Function Components of the GIS BB Key Digital Functions
Diagram Source
Relation to main standards in the Geospatial Information Domain

Retrieve GIS layer metadata

get

Retrieve GIS layer metadata and feature type definitions.

Responses
200
Successful response
application/json
400
Bad Request
401
Unauthorized
get
GET /v1/gisBB/query/layerMetadata HTTP/1.1
Host: host
Accept: */*
[
  {
    "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"
  }
]

Retrieve non-spatial table metadata

get

Retrieve non-spatial table metadata.

Responses
200
Successful response
application/json
400
Bad Request
401
Unauthorized
get
GET /v1/gisBB/query/nonSpatialTableMetadata HTTP/1.1
Host: host
Accept: */*
[
  {
    "name": "Sample Table",
    "abstract": "A sample non-spatial table",
    "author": "Jane Smith",
    "keywords": "sample, table",
    "lastUpdated": "2023-08-08T12:00:00Z"
  }
]

Retrieve Query Results

get

Retrieve the results of a previously executed query.

Responses
200
Successful response
application/json
400
Bad Request
401
Unauthorized
500
Internal Server Error
get
GET /v1/gisBB/query/queryResult HTTP/1.1
Host: host
Accept: */*
[
  {
    "queryType": "Attribute Query",
    "queryStatus": "Success",
    "timeStamp": "2023-08-08T12:00:00Z"
  }
]

Execute a GIS Query

post

Execute GIS feature or attribute query operations interactively or through predefined expressions.

Body
typestringOptional
queryFormatstringOptional
queryStringstringOptional
timeStampstring · date-timeOptional
Responses
200
Successful response
application/json
400
Bad Request
401
Unauthorized
500
Internal Server Error
post
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": "2025-05-12T22:06:00.067Z"
}
[
  {
    "queryType": "Attribute Query",
    "queryStatus": "Success",
    "timeStamp": "2023-08-08T12:00:00Z"
  }
]

Execute a Locational Query

post

Execute a spatial query based on location.

Body
layerTypestringOptional
spatialRelationstringOptional
longitudenumberOptional
latitudenumberOptional
distancenumberOptional
Responses
200
Successful response
application/json
400
Bad Request
401
Unauthorized
500
Internal Server Error
post
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
}
[
  {
    "queryType": "Locational Query",
    "queryStatus": "Success",
    "timeStamp": "2023-08-08T12:00:00Z"
  }
]

Execute an Attribute Query

post

Execute an attribute-based query.

Body
attributeNamestringOptional
operatorstringOptional
valuestringOptional
Responses
200
Successful response
application/json
400
Bad Request
401
Unauthorized
500
Internal Server Error
post
POST /v1/gisBB/query/attributeQuery HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 57

{
  "attributeName": "text",
  "operator": "text",
  "value": "text"
}
[
  {
    "queryType": "Attribute Query",
    "queryStatus": "Success",
    "timeStamp": "2023-08-08T12:00:00Z"
  }
]

Execute a Discovery Query

post

Execute a metadata discovery query.

Body
attributeNamestringOptional
Responses
200
Successful response
application/json
400
Bad Request
401
Unauthorized
500
Internal Server Error
post
POST /v1/gisBB/query/discoveryQuery HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 24

{
  "attributeName": "text"
}
[
  {
    "queryType": "Metadata Discovery Query",
    "queryStatus": "Success",
    "timeStamp": "2023-08-08T12:00:00Z"
  }
]

Retrieve Geocode Result by ID

get

Retrieve the geocoding result for a specific ID.

Path parameters
resultIdstringRequired

ID of the geocoding result to retrieve

Responses
200
Successful response
404
Not Found
get

No content

Retrieve Reverse Geocode Result by ID

get

Retrieve the reverse geocoding result for a specific ID.

Path parameters
resultIdstringRequired

ID of the reverse geocoding result to retrieve

Responses
200
Successful response
404
Not Found
get

No content

Retrieve the data viewer type

get

Retrieve the type of the data viewer. This endpoint provides information about whether the client data viewer is desktop, mobile, web browser, or unknown.

Query parameters
supportedBrowserstring · enumOptional

Specifies the type of supported browser for the data viewer.

Default: desktopPossible values:
Responses
200
Successful retrieval of the data viewer type
application/json
Responsestring · enumDefault: desktopPossible values:
404
The data viewer type information could not be found
get

Retrieve GIS map display details

get

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.

Responses
200
Successful retrieval of GIS map display details
application/json
404
Map display details not found
get

Set minimum and maximum scale limits for each layer

put

Set 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.

Query parameters
layerTitlestringRequired

The name of the GIS layer

minScaleintegerOptional

The minimum scale to show the layer's feature on the map display

maxScaleintegerOptional

The maximum scale to show the layer's feature on the map display

Responses
204
Successful setting of layer scale limits
400
Invalid request parameters or missing required fields
put

No content

Enable basic navigation capabilities on the GIS data viewer

put

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.

Query parameters
zoombooleanRequired

Specifies if zooming is supported

zoomLevelintegerRequired

The available zoom levels for the map

panbooleanRequired

Specifies if panning is supported

Responses
204
Successful enabling of basic navigation capabilities
400
Invalid request parameters or missing required fields
put

No content

Retrieve the style applied to the data viewer

get

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.

Responses
200
Successful retrieval of data viewer style
application/json
get
200

Successful retrieval of data viewer style

Retrieve Data Store by ID

get

Retrieve details of a specific GIS data store.

Path parameters
dataStoreIdstringRequired

ID of the GIS data store to retrieve

Responses
200
Successful response
400
Bad Request
404
Not Found
get

No content

Geocode an Address

post

Geocode an address to obtain geographic coordinates.

Body
addressstringOptional
longitudenumber · doubleOptional
latitudenumber · doubleOptional
Responses
200
Successful response
400
Bad Request
post
POST /v1/gisBB/geocodingReverseGeocoding/geocode HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 45

{
  "address": "text",
  "longitude": 1,
  "latitude": 1
}

No content

Reverse Geocode Coordinates

post

Reverse geocode geographic coordinates to obtain an address.

Body
longitudenumber · doubleOptional
latitudenumber · doubleOptional
Responses
200
Successful response
400
Bad Request
post
POST /v1/gisBB/geocodingReverseGeocoding/reverseGeocode HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 28

{
  "longitude": 1,
  "latitude": 1
}

No content

Batch Geocode

post

Perform batch geocoding or reverse geocoding using a table file with multiple addresses or coordinates.

Body
batchTypestringOptional
batchNamestringOptional
statusstringOptional
timeStampstring · date-timeOptional
Responses
201
Created
400
Bad Request
post
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": "2025-05-12T22:06:00.067Z"
}

No content

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/mapDisplay/type HTTP/1.1
Host: host
Accept: */*
desktop
GET /v1/gisBb/mapDisplay/details HTTP/1.1
Host: host
Accept: */*
{
  "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
}

Add or update spatial bookmarks

post

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.

Body
namestringOptionalExample: Bookmark A
createintegerOptionalExample: 1
removebooleanOptionalExample: true
renamebooleanOptionalExample: true
zoomTobooleanOptionalExample: true
minXnumber · doubleOptionalExample: 12.3456
minYnumber · doubleOptionalExample: 34.5678
maxXnumber · doubleOptionalExample: 12.789
maxYnumber · doubleOptionalExample: 34.9012
Responses
200
Successful bookmark creation or update
application/json
400
Invalid request parameters or missing required fields
post
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
}
{
  "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 HTTP/1.1
Host: host
Accept: */*
PUT /v1/gisBb/mapDisplay/navigation HTTP/1.1
Host: host
Accept: */*

Add, view, delete, and mark map notes on the GIS data viewer

post

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.

Body
creatorstringOptionalExample: John Doe
contentstringOptionalExample: This is a map note.
timeStampstringOptionalExample: 2023-08-01T12:34:56Z
addbooleanOptionalExample: true
deletebooleanOptionalExample: true
viewbooleanOptionalExample: true
visiblebooleanOptionalExample: true
xnumber · doubleOptionalExample: 12.3456
ynumber · doubleOptionalExample: 34.5678
Responses
200
Successful note creation or update
application/json
400
Invalid request parameters or missing required fields
post
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
}
{
  "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
}

Perform measuring actions on the GIS data viewer

post

Perform measuring actions on the GIS data viewer. This endpoint allows users to measure distances and areas on the displayed map.

Body
distancebooleanOptionalExample: true
areabooleanOptionalExample: true
Responses
204
Successful measuring action
400
Invalid request parameters or missing required fields
post
POST /v1/gisBb/mapDisplay/measuring HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 29

{
  "distance": true,
  "area": true
}

No content

GET /v1/gisBb/mapDisplay/style HTTP/1.1
Host: host
Accept: */*
{
  "name": "DefaultStyle",
  "description": "Default style for GIS layers",
  "type": "CodedStyle"
}

Create a GIS Data Store

post

Create a new GIS data store.

Body
namestringOptional
descriptionstringOptional
providerstringOptional
connectionStringstringOptional
accessRestrictionsbooleanOptional
updateFrequencystringOptional
Responses
201
Created
400
Bad Request
post
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"
}

No content

GET /v1/gisBB/dataManagement/dataStore/{dataStoreId} HTTP/1.1
Host: host
Accept: */*

Update Data Store by ID

patch

Update details of a specific GIS data store.

Path parameters
dataStoreIdstringRequired

ID of the GIS data store to update

Body
namestringOptional
descriptionstringOptional
providerstringOptional
connectionStringstringOptional
accessRestrictionsbooleanOptional
updateFrequencystringOptional
Responses
200
Updated
400
Bad Request
404
Not Found
patch
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"
}

No content

Publish Data Store Metadata

post

Publish metadata descriptions of a GIS database schema and its contents.

Body
namestringOptional
sourcestringOptional
descriptionstringOptional
keywordsstringOptional
lastUpdatedstring · date-timeOptional
Responses
201
Created
400
Bad Request
post
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": "2025-05-12T22:06:00.067Z"
}

No content

Create User Control

post

Create user control for authentication and access permissions.

Body
usernamestringOptional
passwordstringOptional
editorPermissionsstringOptional
editorTrackingbooleanOptional
ownerControlbooleanOptional
Responses
201
Created
400
Bad Request
post
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
}

No content

Record Editor Tracking

post

Record editor tracking information for feature editing.

Body
editTypestringOptional
timeStampstring · date-timeOptional
Responses
201
Created
400
Bad Request
post
POST /v1/gisBB/dataManagement/editorTracking HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 58

{
  "editType": "text",
  "timeStamp": "2025-05-12T22:06:00.067Z"
}

No content

Replicate GIS Data Store

post

Replicate a remote GIS database schema.

Body
sourceDataStorestringOptional
targetDataStorestringOptional
replicaTypestringOptional
Responses
201
Created
400
Bad Request
post
POST /v1/gisBB/dataManagement/replicate HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 72

{
  "sourceDataStore": "text",
  "targetDataStore": "text",
  "replicaType": "text"
}

No content

Extract and Transfer GIS Data

post

Extract and transfer GIS data layers or features from a remote GIS database.

Body
sourceDataStorestringOptional
targetDataStorestringOptional
Responses
201
Created
400
Bad Request
post
POST /v1/gisBB/dataManagement/extractTransfer HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 51

{
  "sourceDataStore": "text",
  "targetDataStore": "text"
}

No content

Edit Geographic Features

post

Create, edit, modify, or delete geographic features on the extracted GIS data layers.

Body
layerTypestringOptional
featureIDstringOptional
operationstringOptional
Responses
201
Created
400
Bad Request
post
POST /v1/gisBB/dataManagement/editFeature HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 58

{
  "layerType": "text",
  "featureID": "text",
  "operation": "text"
}

No content

Get Metadata

get

Retrieve metadata that describes the purpose and functionality of geospatial analysis tasks or processes.

Responses
200
Successful response with metadata
400
Bad Request
get
GET /v1/gisBB/spatialAwarenessAnalysis/metadata HTTP/1.1
Host: host
Accept: */*

No content

Get Available Processes

get

Retrieve detailed information that describes the processes that can be run on the service.

Responses
200
Successful response with available processes
400
Bad Request
get
GET /v1/gisBB/spatialAwarenessAnalysis/processes HTTP/1.1
Host: host
Accept: */*

No content

Get Task Status

get

Get the status of an asynchronously executed geoprocessing task.

Path parameters
taskIdstringRequired

ID of the geoprocessing task

Responses
200
Successful response with task status
404
Task not found
get
GET /v1/gisBB/spatialAwarenessAnalysis/taskStatus/{taskId} HTTP/1.1
Host: host
Accept: */*

No content

Get Task Result

get

Get the result of a finished geoprocessing task.

Path parameters
taskIdstringRequired

ID of the geoprocessing task

Responses
200
Successful response with task result
404
Task not found
get
GET /v1/gisBB/spatialAwarenessAnalysis/taskResult/{taskId} HTTP/1.1
Host: host
Accept: */*

No content

Terminate Task

post

Terminate an asynchronously executed geoprocessing task.

Path parameters
taskIdstringRequired

ID of the geoprocessing task

Responses
200
Task termination request received
404
Task not found
post
POST /v1/gisBB/spatialAwarenessAnalysis/terminateTask/{taskId} HTTP/1.1
Host: host
Accept: */*

No content

List Geofences

get
Responses
200
Successful response with a list of geofences
get
GET /v1/gisBB/geofencing/geofences HTTP/1.1
Host: host
Accept: */*
200

Successful response with a list of geofences

No content

Get Geofence by ID

get
Path parameters
geofenceIdstringRequired
Responses
200
Successful response with geofence details
404
Geofence not found
get
GET /v1/gisBB/geofencing/geofences/{geofenceId} HTTP/1.1
Host: host
Accept: */*

No content

Delete Geofence

delete
Path parameters
geofenceIdstringRequired
Responses
204
Successful response after deleting geofence
404
Geofence not found
delete
DELETE /v1/gisBB/geofencing/geofences/{geofenceId} HTTP/1.1
Host: host
Accept: */*

No content

Get Geofence Status

get
Path parameters
geofenceIdstringRequired
Responses
200
Successful response with geofence status
404
Geofence not found
get
GET /v1/gisBB/geofencing/geofences/{geofenceId}/status HTTP/1.1
Host: host
Accept: */*

No content

Activate Geofence

post
Path parameters
geofenceIdstringRequired
Responses
200
Successful response after activating geofence
404
Geofence not found
post
POST /v1/gisBB/geofencing/geofences/{geofenceId}/activate HTTP/1.1
Host: host
Accept: */*

No content

Deactivate Geofence

post
Path parameters
geofenceIdstringRequired
Responses
200
Successful response after deactivating geofence
404
Geofence not found
post
POST /v1/gisBB/geofencing/geofences/{geofenceId}/deactivate HTTP/1.1
Host: host
Accept: */*

No content

List Geofence Elements

get
Path parameters
geofenceIdstringRequired
Responses
200
Successful response with a list of geofence elements
404
Geofence not found
get
GET /v1/gisBB/geofencing/geofences/{geofenceId}/elements HTTP/1.1
Host: host
Accept: */*

No content

Remove Geofence Element

delete
Path parameters
geofenceIdstringRequired
elementIdstringRequired
Responses
204
Successful response after removing geofence element
404
Geofence or element not found
delete
DELETE /v1/gisBB/geofencing/geofences/{geofenceId}/elements/{elementId} HTTP/1.1
Host: host
Accept: */*

No content

Get Templates

get

Retrieve templates and resources for creating map layouts and cartographic reports.

Responses
200
Successful response with templates
400
Bad Request
get
GET /v1/gisBB/reporting/templates HTTP/1.1
Host: host
Accept: */*

No content

Remove Dynamic GIS Layer

delete

Remove a dynamic GIS layer from a map layout or report.

Path parameters
layerIdstringRequired

ID of the dynamic GIS layer to be removed

Responses
200
Successful response after removing dynamic GIS layer
404
Layer not found
delete
DELETE /v1/gisBB/reporting/dynamicLayers/{layerId} HTTP/1.1
Host: host
Accept: */*

No content

Remove Label

delete

Remove a label from a map layout or report.

Path parameters
labelIdstringRequired

ID of the label to be removed

Responses
200
Successful response after removing label
404
Label not found
delete
DELETE /v1/gisBB/reporting/labels/{labelId} HTTP/1.1
Host: host
Accept: */*

No content

Remove Chart

delete

Remove a chart from a map layout or report.

Path parameters
chartIdstringRequired

ID of the chart to be removed

Responses
200
Successful response after removing chart
404
Chart not found
delete
DELETE /v1/gisBB/reporting/charts/{chartId} HTTP/1.1
Host: host
Accept: */*

No content

Remove Legend

delete

Remove a legend from a map layout or report.

Path parameters
legendIdstringRequired

ID of the legend to be removed

Responses
200
Successful response after removing legend
404
Legend not found
delete
DELETE /v1/gisBB/reporting/legends/{legendId} HTTP/1.1
Host: host
Accept: */*

No content

Remove Scale Bar

delete

Remove a scale bar from a map layout or report.

Path parameters
scaleBarIdstringRequired

ID of the scale bar to be removed

Responses
200
Successful response after removing scale bar
404
Scale Bar not found
delete
DELETE /v1/gisBB/reporting/scaleBars/{scaleBarId} HTTP/1.1
Host: host
Accept: */*

No content

Remove North Arrow

delete

Remove a north arrow from a map layout or report.

Path parameters
northArrowIdstringRequired

ID of the north arrow to be removed

Responses
200
Successful response after removing north arrow
404
North Arrow not found
delete
DELETE /v1/gisBB/reporting/northArrows/{northArrowId} HTTP/1.1
Host: host
Accept: */*

No content

Execute Geoprocessing Task

post

Execute a geoprocessing task to perform basic spatial analysis operations.

Body
processingNamestringOptional
descriptionstringOptional
Responses
200
Successful response with geoprocessing result
400
Bad Request
post
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"
    }
  ]
}

No content

Create Geofence

post
Body
namestringOptional
shapestringOptional
sizenumber · doubleOptional
statusbooleanOptional
Responses
201
Successful response after creating geofence
post
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
}
201

Successful response after creating geofence

No content

Update Geofence

put
Path parameters
geofenceIdstringRequired
Body
namestringOptional
shapestringOptional
sizenumber · doubleOptional
statusbooleanOptional
Responses
204
Successful response after updating geofence
404
Geofence not found
put
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
}

No content

Add Geofence Element

post
Path parameters
geofenceIdstringRequired
Body
elementTypestringOptional
trackingMethodstringOptional
Responses
201
Successful response after adding geofence element
404
Geofence not found
post
POST /v1/gisBB/geofencing/geofences/{geofenceId}/elements HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 46

{
  "elementType": "text",
  "trackingMethod": "text"
}

No content

Create Action Rule for Geofence

post
Path parameters
geofenceIdstringRequired
Body
actionTypestringOptional
actionstringOptional
Responses
201
Successful response after creating action rule
404
Geofence not found
post
POST /v1/gisBB/geofencing/geofences/{geofenceId}/rules HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 37

{
  "actionType": "text",
  "action": "text"
}

No content

Create Element Action Rule for Geofence

post
Path parameters
geofenceIdstringRequired
elementIdstringRequired
Body
notificationTypestringOptional
recipientstringOptional
recipientTypestringOptional
Responses
201
Successful response after creating element action rule
404
Geofence or element not found
post
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"
}

No content

Add Dynamic GIS Layer

post

Add a dynamic GIS layer to a map layout or report.

Body
titlestringOptional
abstractstringOptional
authorstringOptional
keywordsstringOptional
lastUpdatedstring · date-timeOptional
Responses
200
Successful response after adding dynamic GIS layer
400
Bad Request
post
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": "2025-05-12T22:06:00.067Z"
}

No content

Add Label

post

Add a label to a map layout or report.

Body
labelTextstringOptional
positionXnumber · floatOptional
positionYnumber · floatOptional
fontstringOptional
sizeintegerOptional
colorstringOptional
Responses
200
Successful response after adding label
400
Bad Request
post
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"
}

No content

Add Chart

post

Add a chart to a map layout or report.

Body
titlestringOptional
typestringOptional
datastringOptional
Responses
200
Successful response after adding chart
400
Bad Request
post
POST /v1/gisBB/reporting/charts HTTP/1.1
Host: host
Content-Type: application/json
Accept: */*
Content-Length: 44

{
  "title": "text",
  "type": "text",
  "data": "text"
}

No content

Add Legend

post

Add a legend to a map layout or report.

Body
labelTextstringOptional
positionXnumber · floatOptional
positionYnumber · floatOptional
fontstringOptional
sizeintegerOptional
colorstringOptional
Responses
200
Successful response after adding legend
400
Bad Request
post
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"
}

No content

Add Scale Bar

post

Add a scale bar to a map layout or report.

Body
titlestringOptional
stylestringOptional
lengthnumber · floatOptional
unitsstringOptional
positionXnumber · floatOptional
positionYnumber · floatOptional
fontstringOptional
sizeintegerOptional
colorstringOptional
Responses
200
Successful response after adding scale bar
400
Bad Request
post
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"
}

No content

Add North Arrow

post

Add a north arrow to a map layout or report.

Body
titlestringOptional
stylestringOptional
lengthnumber · floatOptional
unitsstringOptional
positionXnumber · floatOptional
positionYnumber · floatOptional
fontstringOptional
sizeintegerOptional
colorstringOptional
Responses
200
Successful response after adding north arrow
400
Bad Request
post
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"
}

No content

Get Route by ID

get
Path parameters
routeIdstringRequired
Responses
200
Successful response with route details
404
Route not found
get

No content

Delete Route

delete
Path parameters
routeIdstringRequired
Responses
204
Successful response after deleting route
404
Route not found
delete

No content

Generate Direction Report for Route

get
Path parameters
routeIdstringRequired
Responses
200
Successful response with direction report
404
Route not found
get

No content

List Route Segments

get
Path parameters
routeIdstringRequired
Responses
200
Successful response with a list of route segments
404
Route not found
get

No content

List Service Areas

get
Responses
200
Successful response with a list of service areas
get
200

Successful response with a list of service areas

No content

Create Route

post
Body
startNodeobjectOptional
endNodeobjectOptional
passThroughbooleanOptional
restrictionsstringOptional
additionalParametersstringOptional
Responses
201
Successful response after creating a route
post
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"
}
201

Successful response after creating a route

No content

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: */*
GET /v1/gisBB/routing/service-areas HTTP/1.1
Host: host
Accept: */*