arrow-left

Only this pageAll pages
gitbookPowered by GitBook
1 of 11

gis-23Q4

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

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.

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.

hashtag
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

hashtag
2.2 Current scope

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

  • GIS-Based Incident Management System ()

  • Land Records/Cadastre Management ()

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.

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.

hashtag
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).

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

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

  • "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.

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

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

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

    .

  • https://govstack-global.atlassian.net/l/cp/jPn05EbRarrow-up-right
    https://govstack-global.atlassian.net/l/cp/0dcEf3cmarrow-up-right
    Relation to main standards in the Geospatial Information Domain

    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)

    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.

    hashtag
    10.1 Use Case Examples

    • GIS-Based Incident Management Systemarrow-up-right.

    • .

    hashtag
    10.2 Future Considerations

    1 Version History

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

    Version
    Authors
    Comment
    Land Records/Cadastre Managementarrow-up-right
    A list of topics that may be relevant to future versions of this Building Block.

    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

    0.1

    Dongpo Deng

    initial input

    0.2

    Tarek Rashed

    minor edits

    0.3

    Tarek Rashed, P.S.Ramkumar

    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.

    hashtag
    5.1 Personal Data Privacy (REQUIRED)

    • Safeguard personal data and share only as authorized.

    • Adhere to GovStack architecture's privacy principles.

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

    hashtag
    5.3 Interoperability (REQUIRED)

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

    • Seamlessly integrate with other GovStack components.

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

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

    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.

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

  • OGC APIsarrow-up-right
    OGC Schemasarrow-up-right
    OGC Service Standardsarrow-up-right

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

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

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

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

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

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

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

    Overview of the GIS BB KDFs
    GDAL Documentationarrow-up-right
    ISO/TC 211 - Geographic information/Geomaticsarrow-up-right

    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.

    Function Components of the GIS BB Key Digital Functions

    hashtag
    6.1 Map Display

    • 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. (REQUIRED)

    • 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. (RECOMMENDED)

    • 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. (OPTIONAL)

    hashtag
    6.2 GIS Query

    • 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 (REQUIRED):

    hashtag
    6.3 GIS Data Management

    • 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)

    hashtag
    6.4 Geocoding and Reverse Geocoding

    • 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)

    hashtag
    6.5 Spatial Awareness and Analysis

    • 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 (REQUIRED):

    hashtag
    6.6 Reporting

    • 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 (REQUIRED):

      • Symbology

      • Charts

    hashtag
    6.7 Geofencing

    • 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)

    hashtag
    6.8 Routing

    • 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 (REQUIRED):

    • 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).

  • 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 (REQUIRED):

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

  • 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 (REQUIRED):

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

  • 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. (REQUIRED)

  • 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 (RECOMMENDED):

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

  • 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). (REQUIRED)
  • 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. (RECOMMENDED)

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

  • 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 (REQUIRED):

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

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

  • Dot density maps

  • Graduated color maps

  • Graduated or proportional symbol maps

  • Legends

  • Scale bars

  • North arrows

  • 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. (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. (REQUIRED)

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

  • 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

  • The Routing service must generate direction and routing reports. (REQUIRED)

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

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

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

    hashtag
    9.1 GIS Map Display

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

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

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

    hashtag
    9.2 GIS Query

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

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

    hashtag
    9.2.3 Example 2: Locational Query for Landmarks near Incident Location

    hashtag
    9.3 GIS Data Management

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

    hashtag
    9.3.2 Example: Editing Land Parcel information

    hashtag
    9.4 GeoCoding and Reverse GeoCoding

    hashtag
    9.4.1 Geocoding and Reverse Geocoding API Integration with Data Store

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

    hashtag
    9.5 Spatial Awareness and Analysis

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

    hashtag
    9.5.2 Example 1: GIS Cadastral User Performing Green Space Analysis

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

    hashtag
    9.6 GIS Reporting

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

    hashtag
    9.7 Gefencing

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

    hashtag
    9.7.2 Example: Geofencing API Usage for Redlining Emergency Operation

    hashtag
    9.8 Routing

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

    hashtag
    9.8.2 Example: Emergency Response Routing Scenario

    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.

    The GIS BB APIs conform with the OGC web API principles and guidelinesarrow-up-right 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.

    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.

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

    hashtag
    8.1 Map Display

    hashtag
    8.2 GIS Query

    hashtag
    8.3 GIS Data Management

    hashtag
    8.4 Geocoding and Reverse Geocoding

    hashtag
    8.5 Spatial Awareness and Analysis

    hashtag
    8.6 Reporting

    hashtag
    8.7 Geofencing

    hashtag
    8.8 Routing

    GovStack non-functional requirements documentarrow-up-right
    OGC web API guidelines and principlesarrow-up-right
    spinner
    spinner
    spinner
    spinner
    spinner
    spinner
    spinner
    spinner
    spinner
    spinner
    spinner
    spinner
    spinner
    spinner
    spinner
    spinner

    hashtag
    Get Metadata

    get

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

    Responses
    chevron-right
    200

    Successful response with metadata

    No content

    chevron-right
    400

    Bad Request

    get
    /metadata

    hashtag
    Get Available Processes

    get

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

    Responses
    chevron-right
    200

    Successful response with available processes

    No content

    chevron-right
    400

    Bad Request

    get
    /processes

    No content

    hashtag
    Execute Geoprocessing Task

    post

    Execute a geoprocessing task to perform basic spatial analysis operations.

    Body
    processingNamestringOptional
    descriptionstringOptional
    Responses
    chevron-right
    200

    Successful response with geoprocessing result

    No content

    chevron-right
    400

    Bad Request

    post
    /executeTask

    hashtag
    Get Task Status

    get

    Get the status of an asynchronously executed geoprocessing task.

    Path parameters
    taskIdstringRequired

    ID of the geoprocessing task

    Responses
    chevron-right
    200

    Successful response with task status

    No content

    chevron-right
    404

    Task not found

    get
    /taskStatus/{taskId}

    hashtag
    Get Task Result

    get

    Get the result of a finished geoprocessing task.

    Path parameters
    taskIdstringRequired

    ID of the geoprocessing task

    Responses
    chevron-right
    200

    Successful response with task result

    No content

    chevron-right
    404

    Task not found

    get
    /taskResult/{taskId}

    hashtag
    Terminate Task

    post

    Terminate an asynchronously executed geoprocessing task.

    Path parameters
    taskIdstringRequired

    ID of the geoprocessing task

    Responses
    chevron-right
    200

    Task termination request received

    No content

    chevron-right
    404

    Task not found

    post
    /terminateTask/{taskId}

    hashtag
    Geocode an Address

    post

    Geocode an address to obtain geographic coordinates.

    Body
    addressstringOptional
    longitudenumber · doubleOptional
    latitudenumber · doubleOptional
    Responses
    chevron-right
    200

    Successful response

    No content

    chevron-right
    400

    Bad Request

    post
    /geocode

    No content

    hashtag
    Reverse Geocode Coordinates

    post

    Reverse geocode geographic coordinates to obtain an address.

    Body
    longitudenumber · doubleOptional
    latitudenumber · doubleOptional
    Responses
    chevron-right
    200

    Successful response

    No content

    chevron-right
    400

    Bad Request

    post
    /reverseGeocode

    No content

    hashtag
    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
    chevron-right
    201

    Created

    chevron-right
    400

    Bad Request

    post
    /batchGeocode

    No content

    hashtag
    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
    chevron-right
    200

    Successful response

    No content

    chevron-right
    404

    Not Found

    get
    /geocodeResult/{resultId}

    hashtag
    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
    chevron-right
    200

    Successful response

    No content

    chevron-right
    404

    Not Found

    get
    /reverseGeocodeResult/{resultId}

    hashtag
    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
    chevron-right
    200

    Successful retrieval of the data viewer type

    application/json
    string · enumOptionalDefault: desktopPossible values:
    chevron-right
    404

    The data viewer type information could not be found

    hashtag
    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
    chevron-right
    200

    Successful retrieval of GIS map display details

    application/json
    titlestringOptionalExample: Map Display Title
    descriptionstringOptionalExample: A summary description of the map display purpose and contents.
    attributionstringOptionalExample: GIS Data Viewer Attribution
    accessControlbooleanOptionalExample: true
    endPointstringOptionalExample: /r1/eGovStack/COM/11222456/SchedulerBB/creg/event/new
    crsstringOptionalExample: EPSG:4326
    centerXnumber · doubleOptionalExample: 12.3456
    centerYnumber · doubleOptionalExample: 34.5678
    boundsMinXnumber · doubleOptionalExample: 12.3456
    boundsMinYnumber · doubleOptionalExample: 34.5678
    boundsMaxXnumber · doubleOptionalExample: 12.789
    boundsMaxYnumber · doubleOptionalExample: 34.9012
    chevron-right
    404

    Map display details not found

    hashtag
    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

    hashtag
    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

    hashtag
    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

    hashtag
    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

    hashtag
    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
    chevron-right
    204

    Successful measuring action

    chevron-right
    400

    Invalid request parameters or missing required fields

    hashtag
    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
    chevron-right
    200

    Successful retrieval of data viewer style

    application/json
    namestringOptionalExample: DefaultStyle
    descriptionstringOptionalExample: Default style for GIS layers
    typestringOptionalExample: CodedStyle
    get
    /style

    hashtag
    Create a GIS Data Store

    post

    Create a new GIS data store.

    Body
    namestringOptional
    descriptionstringOptional
    providerstringOptional
    connectionStringstringOptional
    accessRestrictionsbooleanOptional
    updateFrequencystringOptional
    Responses
    chevron-right
    201

    Created

    chevron-right
    400

    Bad Request

    hashtag
    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
    chevron-right
    200

    Successful response

    No content

    chevron-right
    400

    Bad Request

    chevron-right
    404

    Not Found

    hashtag
    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

    hashtag
    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
    chevron-right
    201

    Created

    chevron-right
    400

    Bad Request

    hashtag
    Create User Control

    post

    Create user control for authentication and access permissions.

    Body
    usernamestringOptional
    passwordstringOptional
    editorPermissionsstringOptional
    editorTrackingbooleanOptional
    ownerControlbooleanOptional
    Responses
    chevron-right
    201

    Created

    chevron-right
    400

    Bad Request

    hashtag
    Record Editor Tracking

    post

    Record editor tracking information for feature editing.

    Body
    editTypestringOptional
    timeStampstring · date-timeOptional
    Responses
    chevron-right
    201

    Created

    chevron-right
    400

    Bad Request

    post
    /editorTracking

    hashtag
    Replicate GIS Data Store

    post

    Replicate a remote GIS database schema.

    Body
    sourceDataStorestringOptional
    targetDataStorestringOptional
    replicaTypestringOptional
    Responses
    chevron-right
    201

    Created

    chevron-right
    400

    Bad Request

    post
    /replicate

    hashtag
    Extract and Transfer GIS Data

    post

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

    Body
    sourceDataStorestringOptional
    targetDataStorestringOptional
    Responses
    chevron-right
    201

    Created

    chevron-right
    400

    Bad Request

    post
    /extractTransfer

    hashtag
    Edit Geographic Features

    post

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

    Body
    layerTypestringOptional
    featureIDstringOptional
    operationstringOptional
    Responses
    chevron-right
    201

    Created

    chevron-right
    400

    Bad Request

    post
    /editFeature

    hashtag
    Retrieve GIS layer metadata

    get

    Retrieve GIS layer metadata and feature type definitions.

    Responses
    chevron-right
    200

    Successful response

    application/json
    chevron-right
    400

    Bad Request

    chevron-right
    401

    Unauthorized

    get
    /layerMetadata

    hashtag
    Retrieve non-spatial table metadata

    get

    Retrieve non-spatial table metadata.

    Responses
    chevron-right
    200

    Successful response

    application/json
    chevron-right
    400

    Bad Request

    chevron-right
    401

    Unauthorized

    get
    /nonSpatialTableMetadata

    hashtag
    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
    chevron-right
    200

    Successful response

    application/json
    chevron-right
    400

    Bad Request

    chevron-right
    401

    Unauthorized

    chevron-right
    500

    Internal Server Error

    hashtag
    Execute a Locational Query

    post

    Execute a spatial query based on location.

    Body
    layerTypestringOptional
    spatialRelationstringOptional
    longitudenumberOptional
    latitudenumberOptional
    distancenumberOptional
    Responses
    chevron-right
    200

    Successful response

    application/json
    chevron-right
    400

    Bad Request

    chevron-right
    401

    Unauthorized

    chevron-right
    500

    Internal Server Error

    hashtag
    Execute an Attribute Query

    post

    Execute an attribute-based query.

    Body
    attributeNamestringOptional
    operatorstringOptional
    valuestringOptional
    Responses
    chevron-right
    200

    Successful response

    application/json
    chevron-right
    400

    Bad Request

    chevron-right
    401

    Unauthorized

    chevron-right
    500

    Internal Server Error

    hashtag
    Execute a Discovery Query

    post

    Execute a metadata discovery query.

    Body
    attributeNamestringOptional
    Responses
    chevron-right
    200

    Successful response

    application/json
    chevron-right
    400

    Bad Request

    chevron-right
    401

    Unauthorized

    chevron-right
    500

    Internal Server Error

    hashtag
    Retrieve Query Results

    get

    Retrieve the results of a previously executed query.

    Responses
    chevron-right
    200

    Successful response

    application/json
    chevron-right
    400

    Bad Request

    chevron-right
    401

    Unauthorized

    chevron-right
    500

    Internal Server Error

    get
    /queryResult

    hashtag
    List Geofences

    get
    Responses
    chevron-right
    200

    Successful response with a list of geofences

    No content

    get
    /geofences

    hashtag
    Create Geofence

    post
    Body
    namestringOptional
    shapestringOptional
    sizenumber · doubleOptional
    statusbooleanOptional
    Responses
    chevron-right
    201

    Successful response after creating geofence

    post
    /geofences

    hashtag
    Get Geofence by ID

    get
    Path parameters
    geofenceIdstringRequired
    Responses
    chevron-right
    200

    Successful response with geofence details

    No content

    chevron-right
    404

    Geofence not found

    get
    /geofences/{geofenceId}

    hashtag
    Update Geofence

    put
    Path parameters
    geofenceIdstringRequired
    Body
    namestringOptional
    shapestringOptional
    sizenumber · doubleOptional
    statusbooleanOptional
    Responses
    chevron-right
    204

    Successful response after updating geofence

    chevron-right
    404

    Geofence not found

    hashtag
    Delete Geofence

    delete
    Path parameters
    geofenceIdstringRequired
    Responses
    chevron-right
    204

    Successful response after deleting geofence

    chevron-right
    404

    Geofence not found

    delete
    /geofences/{geofenceId}

    hashtag
    Get Geofence Status

    get
    Path parameters
    geofenceIdstringRequired
    Responses
    chevron-right
    200

    Successful response with geofence status

    No content

    chevron-right
    404

    Geofence not found

    get
    /geofences/{geofenceId}/status

    hashtag
    Activate Geofence

    post
    Path parameters
    geofenceIdstringRequired
    Responses
    chevron-right
    200

    Successful response after activating geofence

    No content

    chevron-right
    404

    Geofence not found

    post
    /geofences/{geofenceId}/activate

    hashtag
    Deactivate Geofence

    post
    Path parameters
    geofenceIdstringRequired
    Responses
    chevron-right
    200

    Successful response after deactivating geofence

    No content

    chevron-right
    404

    Geofence not found

    post
    /geofences/{geofenceId}/deactivate

    hashtag
    List Geofence Elements

    get
    Path parameters
    geofenceIdstringRequired
    Responses
    chevron-right
    200

    Successful response with a list of geofence elements

    No content

    chevron-right
    404

    Geofence not found

    get
    /geofences/{geofenceId}/elements

    hashtag
    Add Geofence Element

    post
    Path parameters
    geofenceIdstringRequired
    Body
    elementTypestringOptional
    trackingMethodstringOptional

    hashtag
    Remove Geofence Element

    delete
    Path parameters
    geofenceIdstringRequired
    elementIdstringRequired
    Responses
    chevron-right
    204

    Successful response after removing geofence element

    chevron-right
    404

    Geofence or element not found

    hashtag
    Create Action Rule for Geofence

    post
    Path parameters
    geofenceIdstringRequired
    Body
    actionTypestringOptional
    actionstringOptional

    hashtag
    Create Element Action Rule for Geofence

    post
    Path parameters
    geofenceIdstringRequired
    elementIdstringRequired
    Body

    hashtag
    Create Route

    post
    Body
    startNodeobjectOptional
    endNodeobjectOptional
    passThroughbooleanOptional
    restrictionsstringOptional
    additionalParametersstringOptional
    Responses
    chevron-right
    201

    Successful response after creating a route

    post
    /routes

    hashtag
    Get Route by ID

    get
    Path parameters
    routeIdstringRequired
    Responses
    chevron-right
    200

    Successful response with route details

    No content

    chevron-right
    404

    Route not found

    get
    /routes/{routeId}

    hashtag
    Delete Route

    delete
    Path parameters
    routeIdstringRequired
    Responses
    chevron-right
    204

    Successful response after deleting route

    chevron-right
    404

    Route not found

    delete
    /routes/{routeId}

    hashtag
    Generate Direction Report for Route

    get
    Path parameters
    routeIdstringRequired
    Responses
    chevron-right
    200

    Successful response with direction report

    No content

    chevron-right
    404

    Route not found

    get
    /routes/{routeId}/directions

    hashtag
    List Route Segments

    get
    Path parameters
    routeIdstringRequired
    Responses
    chevron-right
    200

    Successful response with a list of route segments

    No content

    chevron-right
    404

    Route not found

    get
    /routes/{routeId}/segments

    hashtag
    List Service Areas

    get
    Responses
    chevron-right
    200

    Successful response with a list of service areas

    No content

    get
    /service-areas

    No content

    No content

    No content

    No content

    No content

    No content

    No content

    get
    /type
    get
    /details
    Responses
    chevron-right
    200

    Successful bookmark creation or update

    application/json
    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
    chevron-right
    400

    Invalid request parameters or missing required fields

    post
    /bookmarks
    Responses
    chevron-right
    204

    Successful setting of layer scale limits

    chevron-right
    400

    Invalid request parameters or missing required fields

    put
    /scale

    No content

    Responses
    chevron-right
    204

    Successful enabling of basic navigation capabilities

    chevron-right
    400

    Invalid request parameters or missing required fields

    put
    /navigation

    No content

    Responses
    chevron-right
    200

    Successful note creation or update

    application/json
    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
    chevron-right
    400

    Invalid request parameters or missing required fields

    post
    /notes
    post
    /measuring

    No content

    200

    Successful retrieval of data viewer style

    post
    /dataStore

    No content

    get
    /dataStore/{dataStoreId}

    No content

    namestringOptional
    descriptionstringOptional
    providerstringOptional
    connectionStringstringOptional
    accessRestrictionsbooleanOptional
    updateFrequencystringOptional
    Responses
    chevron-right
    200

    Updated

    No content

    chevron-right
    400

    Bad Request

    chevron-right
    404

    Not Found

    patch
    /dataStore/{dataStoreId}

    No content

    post
    /dataStoreMetadata

    No content

    post
    /userControl

    No content

    No content

    No content

    No content

    No content

    post
    /gisQuery
    post
    /locationalQuery
    post
    /attributeQuery
    post
    /discoveryQuery
    200

    Successful response with a list of geofences

    No content

    201

    Successful response after creating geofence

    No content

    No content

    put
    /geofences/{geofenceId}

    No content

    No content

    No content

    No content

    No content

    No content

    Responses
    chevron-right
    201

    Successful response after adding geofence element

    chevron-right
    404

    Geofence not found

    post
    /geofences/{geofenceId}/elements

    No content

    delete
    /geofences/{geofenceId}/elements/{elementId}

    No content

    Responses
    chevron-right
    201

    Successful response after creating action rule

    chevron-right
    404

    Geofence not found

    post
    /geofences/{geofenceId}/rules

    No content

    notificationTypestringOptional
    recipientstringOptional
    recipientTypestringOptional
    Responses
    chevron-right
    201

    Successful response after creating element action rule

    chevron-right
    404

    Geofence or element not found

    post
    /geofences/{geofenceId}/elements/{elementId}/actions

    No content

    201

    Successful response after creating a route

    No content

    No content

    No content

    No content

    No content

    200

    Successful response with a list of service areas

    No content

    GET /v1/gisBb/mapDisplay/type HTTP/1.1
    Host: host
    Accept: */*
    
    GET /v1/gisBb/mapDisplay/details HTTP/1.1
    Host: host
    Accept: */*
    
    POST /v1/gisBb/mapDisplay/bookmarks HTTP/1.1
    Host: host
    Content-Type: application/json
    Accept: */*
    Content-Length: 133
    
    {
      "name": "Bookmark A",
      "create": 1,
      "remove": true,
      "rename": true,
      "zoomTo": true,
      "minX": 12.3456,
      "minY": 34.5678,
      "maxX": 12.789,
      "maxY": 34.9012
    }
    PUT /v1/gisBb/mapDisplay/scale?layerTitle=text HTTP/1.1
    Host: host
    Accept: */*
    
    PUT /v1/gisBb/mapDisplay/navigation?zoom=true&zoomLevel=1&pan=true HTTP/1.1
    Host: host
    Accept: */*
    
    POST /v1/gisBb/mapDisplay/notes HTTP/1.1
    Host: host
    Content-Type: application/json
    Accept: */*
    Content-Length: 165
    
    {
      "creator": "John Doe",
      "content": "This is a map note.",
      "timeStamp": "2023-08-01T12:34:56Z",
      "add": true,
      "delete": true,
      "view": true,
      "visible": true,
      "x": 12.3456,
      "y": 34.5678
    }
    POST /v1/gisBb/mapDisplay/measuring HTTP/1.1
    Host: host
    Content-Type: application/json
    Accept: */*
    Content-Length: 29
    
    {
      "distance": true,
      "area": true
    }
    {
      "name": "DefaultStyle",
      "description": "Default style for GIS layers",
      "type": "CodedStyle"
    }
    POST /v1/gisBB/dataManagement/dataStore HTTP/1.1
    Host: host
    Content-Type: application/json
    Accept: */*
    Content-Length: 131
    
    {
      "name": "text",
      "description": "text",
      "provider": "text",
      "connectionString": "text",
      "accessRestrictions": true,
      "updateFrequency": "text"
    }
    GET /v1/gisBB/dataManagement/dataStore/{dataStoreId} HTTP/1.1
    Host: host
    Accept: */*
    
    PATCH /v1/gisBB/dataManagement/dataStore/{dataStoreId} HTTP/1.1
    Host: host
    Content-Type: application/json
    Accept: */*
    Content-Length: 131
    
    {
      "name": "text",
      "description": "text",
      "provider": "text",
      "connectionString": "text",
      "accessRestrictions": true,
      "updateFrequency": "text"
    }
    POST /v1/gisBB/dataManagement/dataStoreMetadata HTTP/1.1
    Host: host
    Content-Type: application/json
    Accept: */*
    Content-Length: 111
    
    {
      "name": "text",
      "source": "text",
      "description": "text",
      "keywords": "text",
      "lastUpdated": "2026-03-12T15:21:52.180Z"
    }
    POST /v1/gisBB/dataManagement/userControl HTTP/1.1
    Host: host
    Content-Type: application/json
    Accept: */*
    Content-Length: 106
    
    {
      "username": "text",
      "password": "text",
      "editorPermissions": "text",
      "editorTracking": true,
      "ownerControl": true
    }
    POST /v1/gisBB/dataManagement/editorTracking HTTP/1.1
    Host: host
    Content-Type: application/json
    Accept: */*
    Content-Length: 58
    
    {
      "editType": "text",
      "timeStamp": "2026-03-12T15:21:52.180Z"
    }
    POST /v1/gisBB/dataManagement/replicate HTTP/1.1
    Host: host
    Content-Type: application/json
    Accept: */*
    Content-Length: 72
    
    {
      "sourceDataStore": "text",
      "targetDataStore": "text",
      "replicaType": "text"
    }
    POST /v1/gisBB/dataManagement/extractTransfer HTTP/1.1
    Host: host
    Content-Type: application/json
    Accept: */*
    Content-Length: 51
    
    {
      "sourceDataStore": "text",
      "targetDataStore": "text"
    }
    POST /v1/gisBB/dataManagement/editFeature HTTP/1.1
    Host: host
    Content-Type: application/json
    Accept: */*
    Content-Length: 58
    
    {
      "layerType": "text",
      "featureID": "text",
      "operation": "text"
    }
    [
      {
        "name": "Sample Layer",
        "abstract": "A sample GIS layer",
        "author": "John Doe",
        "geometry": "point",
        "keywords": "sample, layer",
        "snippet": "This is a sample layer.",
        "spatialExtent": [
          [
            0,
            0
          ],
          [
            1,
            1
          ]
        ],
        "lastUpdated": "2023-08-08T12:00:00Z"
      }
    ]
    [
      {
        "name": "Sample Table",
        "abstract": "A sample non-spatial table",
        "author": "Jane Smith",
        "keywords": "sample, table",
        "lastUpdated": "2023-08-08T12:00:00Z"
      }
    ]
    POST /v1/gisBB/query/gisQuery HTTP/1.1
    Host: host
    Content-Type: application/json
    Accept: */*
    Content-Length: 96
    
    {
      "type": "text",
      "queryFormat": "text",
      "queryString": "text",
      "timeStamp": "2026-03-12T15:21:52.180Z"
    }
    POST /v1/gisBB/query/locationalQuery HTTP/1.1
    Host: host
    Content-Type: application/json
    Accept: */*
    Content-Length: 85
    
    {
      "layerType": "text",
      "spatialRelation": "text",
      "longitude": 1,
      "latitude": 1,
      "distance": 1
    }
    POST /v1/gisBB/query/attributeQuery HTTP/1.1
    Host: host
    Content-Type: application/json
    Accept: */*
    Content-Length: 57
    
    {
      "attributeName": "text",
      "operator": "text",
      "value": "text"
    }
    POST /v1/gisBB/query/discoveryQuery HTTP/1.1
    Host: host
    Content-Type: application/json
    Accept: */*
    Content-Length: 24
    
    {
      "attributeName": "text"
    }
    [
      {
        "queryType": "Attribute Query",
        "queryStatus": "Success",
        "timeStamp": "2023-08-08T12:00:00Z"
      }
    ]
    POST /v1/gisBB/geofencing/geofences HTTP/1.1
    Host: host
    Content-Type: application/json
    Accept: */*
    Content-Length: 53
    
    {
      "name": "text",
      "shape": "text",
      "size": 1,
      "status": true
    }
    PUT /v1/gisBB/geofencing/geofences/{geofenceId} HTTP/1.1
    Host: host
    Content-Type: application/json
    Accept: */*
    Content-Length: 53
    
    {
      "name": "text",
      "shape": "text",
      "size": 1,
      "status": true
    }
    POST /v1/gisBB/geofencing/geofences/{geofenceId}/elements HTTP/1.1
    Host: host
    Content-Type: application/json
    Accept: */*
    Content-Length: 46
    
    {
      "elementType": "text",
      "trackingMethod": "text"
    }
    DELETE /v1/gisBB/geofencing/geofences/{geofenceId}/elements/{elementId} HTTP/1.1
    Host: host
    Accept: */*
    
    POST /v1/gisBB/geofencing/geofences/{geofenceId}/rules HTTP/1.1
    Host: host
    Content-Type: application/json
    Accept: */*
    Content-Length: 37
    
    {
      "actionType": "text",
      "action": "text"
    }
    POST /v1/gisBB/geofencing/geofences/{geofenceId}/elements/{elementId}/actions HTTP/1.1
    Host: host
    Content-Type: application/json
    Accept: */*
    Content-Length: 69
    
    {
      "notificationType": "text",
      "recipient": "text",
      "recipientType": "text"
    }
    POST /v1/gisBB/routing/routes HTTP/1.1
    Host: host
    Content-Type: application/json
    Accept: */*
    Content-Length: 100
    
    {
      "startNode": {},
      "endNode": {},
      "passThrough": true,
      "restrictions": "text",
      "additionalParameters": "text"
    }
    GET /v1/gisBB/spatialAwarenessAnalysis/metadata HTTP/1.1
    Host: host
    Accept: */*
    
    GET /v1/gisBB/spatialAwarenessAnalysis/processes HTTP/1.1
    Host: host
    Accept: */*
    
    POST /v1/gisBB/spatialAwarenessAnalysis/executeTask HTTP/1.1
    Host: host
    Content-Type: application/json
    Accept: */*
    Content-Length: 137
    
    {
      "processingName": "text",
      "description": "text",
      "parameters": [
        {
          "parameterName": "text",
          "value": "text",
          "code": "text",
          "defaultValue": "text"
        }
      ]
    }
    GET /v1/gisBB/spatialAwarenessAnalysis/taskStatus/{taskId} HTTP/1.1
    Host: host
    Accept: */*
    
    GET /v1/gisBB/spatialAwarenessAnalysis/taskResult/{taskId} HTTP/1.1
    Host: host
    Accept: */*
    
    POST /v1/gisBB/spatialAwarenessAnalysis/terminateTask/{taskId} HTTP/1.1
    Host: host
    Accept: */*
    
    POST /v1/gisBB/geocodingReverseGeocoding/geocode HTTP/1.1
    Host: host
    Content-Type: application/json
    Accept: */*
    Content-Length: 45
    
    {
      "address": "text",
      "longitude": 1,
      "latitude": 1
    }
    POST /v1/gisBB/geocodingReverseGeocoding/reverseGeocode HTTP/1.1
    Host: host
    Content-Type: application/json
    Accept: */*
    Content-Length: 28
    
    {
      "longitude": 1,
      "latitude": 1
    }
    POST /v1/gisBB/geocodingReverseGeocoding/batchGeocode HTTP/1.1
    Host: host
    Content-Type: application/json
    Accept: */*
    Content-Length: 94
    
    {
      "batchType": "text",
      "batchName": "text",
      "status": "text",
      "timeStamp": "2026-03-12T15:21:52.180Z"
    }
    GET /v1/gisBB/geocodingReverseGeocoding/geocodeResult/{resultId} HTTP/1.1
    Host: host
    Accept: */*
    
    GET /v1/gisBB/geocodingReverseGeocoding/reverseGeocodeResult/{resultId} HTTP/1.1
    Host: host
    Accept: */*
    
    GET /v1/gisBB/geofencing/geofences HTTP/1.1
    Host: host
    Accept: */*
    
    GET /v1/gisBB/routing/service-areas HTTP/1.1
    Host: host
    Accept: */*
    
    GET /v1/gisBb/mapDisplay/style HTTP/1.1
    Host: host
    Accept: */*
    
    GET /v1/gisBB/query/layerMetadata HTTP/1.1
    Host: host
    Accept: */*
    
    GET /v1/gisBB/query/nonSpatialTableMetadata HTTP/1.1
    Host: host
    Accept: */*
    
    GET /v1/gisBB/query/queryResult HTTP/1.1
    Host: host
    Accept: */*
    
    GET /v1/gisBB/geofencing/geofences/{geofenceId} HTTP/1.1
    Host: host
    Accept: */*
    
    DELETE /v1/gisBB/geofencing/geofences/{geofenceId} HTTP/1.1
    Host: host
    Accept: */*
    
    GET /v1/gisBB/geofencing/geofences/{geofenceId}/status HTTP/1.1
    Host: host
    Accept: */*
    
    POST /v1/gisBB/geofencing/geofences/{geofenceId}/activate HTTP/1.1
    Host: host
    Accept: */*
    
    POST /v1/gisBB/geofencing/geofences/{geofenceId}/deactivate HTTP/1.1
    Host: host
    Accept: */*
    
    GET /v1/gisBB/geofencing/geofences/{geofenceId}/elements HTTP/1.1
    Host: host
    Accept: */*
    
    GET /v1/gisBB/routing/routes/{routeId} HTTP/1.1
    Host: host
    Accept: */*
    
    DELETE /v1/gisBB/routing/routes/{routeId} HTTP/1.1
    Host: host
    Accept: */*
    
    GET /v1/gisBB/routing/routes/{routeId}/directions HTTP/1.1
    Host: host
    Accept: */*
    
    GET /v1/gisBB/routing/routes/{routeId}/segments HTTP/1.1
    Host: host
    Accept: */*
    
    spinner
    desktop
    {
      "title": "Map Display Title",
      "description": "A summary description of the map display purpose and contents.",
      "attribution": "GIS Data Viewer Attribution",
      "accessControl": true,
      "endPoint": "/r1/eGovStack/COM/11222456/SchedulerBB/creg/event/new",
      "crs": "EPSG:4326",
      "centerX": 12.3456,
      "centerY": 34.5678,
      "boundsMinX": 12.3456,
      "boundsMinY": 34.5678,
      "boundsMaxX": 12.789,
      "boundsMaxY": 34.9012
    }
    {
      "name": "Bookmark A",
      "create": 1,
      "remove": true,
      "rename": true,
      "zoomTo": true,
      "minX": 12.3456,
      "minY": 34.5678,
      "maxX": 12.789,
      "maxY": 34.9012
    }
    {
      "creator": "John Doe",
      "content": "This is a map note.",
      "timeStamp": "2023-08-01T12:34:56Z",
      "add": true,
      "delete": true,
      "view": true,
      "visible": true,
      "x": 12.3456,
      "y": 34.5678
    }
    [
      {
        "queryType": "Attribute Query",
        "queryStatus": "Success",
        "timeStamp": "2023-08-08T12:00:00Z"
      }
    ]
    [
      {
        "queryType": "Locational Query",
        "queryStatus": "Success",
        "timeStamp": "2023-08-08T12:00:00Z"
      }
    ]
    [
      {
        "queryType": "Attribute Query",
        "queryStatus": "Success",
        "timeStamp": "2023-08-08T12:00:00Z"
      }
    ]
    [
      {
        "queryType": "Metadata Discovery Query",
        "queryStatus": "Success",
        "timeStamp": "2023-08-08T12:00:00Z"
      }
    ]
    spinner

    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.

    hashtag
    7.1 Resource Model

    hashtag
    7.2 Data Elements

    hashtag
    7.2.1 Group: Map Display

    hashtag
    MapDisplay

    Field
    Type
    Description
    Notes

    hashtag
    Navigation

    Field
    Type
    Description
    Notes

    hashtag
    SpatialBookmark

    Field
    Type
    Description
    Notes

    hashtag
    MapNote

    Field
    Type
    Description
    Notes

    hashtag
    Measuring

    Field
    Type
    Description
    Notes

    hashtag
    LayerToC

    Field
    Type
    Description
    Notes

    hashtag
    Layer

    Field
    Type
    Description
    Notes

    hashtag
    NonSpatialTable

    Field
    Type
    Description
    Notes

    hashtag
    ScaleLimit

    Field
    Type
    Description
    Notes

    hashtag
    Style

    Field
    Type
    Description
    Notes

    hashtag
    DataViewer

    Field
    Type
    Description
    Notes

    hashtag
    LayerMetadata

    Field
    Type
    Description
    Notes

    hashtag
    NonSpatialTableMetadata

    Field
    Type
    Description
    Notes

    hashtag
    GISQuery

    Field
    Type
    Description
    Notes

    hashtag
    LocationalQuery

    Field
    Type
    Description
    Notes

    hashtag
    AttributeQuery

    Field
    Type
    Description
    Notes

    DiscoveryQuery

    Field
    Type
    Description
    Notes

    QueryResult

    Field
    Type
    Description
    Notes

    hashtag
    7.2.3 Group: GIS Data Management

    hashtag
    DataStore

    Field
    Type
    Description
    Notes

    hashtag
    DataStoreMetadata

    Field
    Type
    Description
    Notes

    hashtag
    UserControl

    Field
    Type
    Description
    Notes

    hashtag
    EditorTracking

    Field
    Type
    Description
    Notes

    hashtag
    Replica

    Field
    Type
    Description
    Notes

    hashtag
    7.2.4 Geocoding and Reverse Geocoding

    hashtag
    AddressData

    Field
    Type
    Description
    Notes

    hashtag
    AddressAlias

    Field
    Type
    Description
    Notes

    hashtag
    AddressFormat

    Field
    Type
    Description
    Notes

    hashtag
    GeocodingBatch

    Field
    Type
    Description
    Notes

    hashtag
    7.2.5 Spatial Awareness and Analysis

    hashtag
    Geoprocessing

    Field
    Type
    Description
    Notes

    hashtag
    ExecustionStatus

    Field
    Type
    Description
    Notes

    hashtag
    7.2.6 Reporting

    hashtag
    MapReport

    Field
    Type
    Description
    Notes

    hashtag
    ReportQueue

    Field
    Type
    Description
    Notes

    hashtag
    ReportResource

    Field
    Type
    Description
    Notes

    hashtag
    Symbology

    Field
    Type
    Description
    Notes

    hashtag
    Label

    Field
    Type
    Description
    Notes

    hashtag
    Chart

    Field
    Type
    Description
    Notes

    hashtag
    Legend

    Field
    Type
    Description
    Notes

    hashtag
    ScaleBar

    Field
    Type
    Description
    Notes

    hashtag
    NorthArrow

    Field
    Type
    Description
    Notes

    hashtag
    7.2.7 Gefencing

    hashtag
    Geofence

    Field
    Type
    Description
    Notes

    hashtag
    GefenceElement

    Field
    Type
    Description
    Notes

    hashtag
    ActionRule

    Field
    Type
    Description
    Notes

    hashtag
    Geofence Notification

    Field
    Type
    Description
    Notes

    hashtag
    7.2.8 Routing

    hashtag
    Route

    Field
    Type
    Description
    Notes

    hashtag
    RouteNode

    Field
    Type
    Description
    Notes

    hashtag
    RouteSegment

    Field
    Type
    Description
    Notes

    hashtag
    ServiceArea

    Field
    Type
    Description
    Notes

    Information or credits displayed on the map

    refer to OGC API Common

    AccessControl

    Boolean

    Permissions or access restrictions for the map

    refer to OGC API Map Part II:

    EndPoint

    String{url}

    The URL or endpoint to access the API

    refer to OGC API Map Part II:

    CRS

    String{coded_domain}

    Code for the spatial reference system used by the map

    refer to OGC API Map Part II:

    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

    Specifies if panning is supported

    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

    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

    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

    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

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

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

    Author description

    Must adheres to ISO 19115:2014 Standard pm GI Metadata

    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

    Must adheres to ISO 19115:2014 Standard pm GI Metadata

    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

    Author description

    Must adheres to ISO 19115:2014 Standard pm GI Metadata

    Keywords

    String

    Keywords associated with the dataset or feature

    Must adheres to ISO 19115:2014 Standard pm GI Metadata

    LastUpdated

    Date

    Timestamp of the last update of the table

    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)

    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)

    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.

    Represents the date and time when the query result was generated

    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

    Description of the datastore

    Must adheres to ISO 19115:2014 Standard pm GI Metadata

    Keywords

    String

    Keywords associated with the datastore

    Must adheres to ISO 19115:2014 Standard pm GI Metadata

    LastUpdated

    Date

    Timestamp of the last publishing date of the datastore

    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

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

    Latitude coordinate for the address

    Used for Reverse Geocoding

    Format string representing the structure of the address

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

    TimeStamp

    Date

    Date and time of when the geocoding batch was completed.

    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)

    Refer to OGC API Processes:

    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

    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.

    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

    Transparency level of the symbol

    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

    Data of the chart

    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

    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

    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

    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

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

    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

    Order of the node in the route sequence

    Length of the route segment

    Title

    String

    The title of the map display.

    refer to OGC API Common https://ogcapi.ogc.org/common/arrow-up-right

    Description

    String

    A summary description of the map display, purpose and contents

    refer to OGC API Common https://ogcapi.ogc.org/common/arrow-up-right

    Attribution

    Zoom

    Boolean

    Specifies if zooming is supported

    ZoomLevel

    Integer

    The available zoom levels for the map

    refer to OGC API Map Part I: https://docs.ogc.org/is/20-057/20-057.htmlarrow-up-right

    Pan

    Name

    String

    Title or name given to the bookmark

    Create

    Integer

    Specifies if creating bookmarks is supported.

    Remove

    Creator

    String

    Name or identifier of the use who created the note

    Content

    String

    The content of text of the map note

    TimeSatmp

    Distance

    Boolean

    Specifies if measuring distances is supported

    Area

    Boolean

    Specifies if measuring areas is supported

    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

    Title

    String

    Title or name of the theme that the layer presents

    Description

    String

    A summary description of the layer, purpose and contents

    refer to OGC API Map Part I: https://docs.ogc.org/is/20-057/20-057.htmlarrow-up-right

    Geometry

    Title

    String

    Title or name of the theme that the table presents

    Description

    String

    A summary description of the Table, purpose and contents

    refer to OGC API Map Part I: https://docs.ogc.org/is/20-057/20-057.htmlarrow-up-right

    Queryable

    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

    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

    Refer to OGC API Map Part I: https://docs.ogc.org/is/20-057/20-057.htmlarrow-up-right

    Type

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

    Name

    String

    Title of the dataset or feature

    Abstract

    String

    Abstract description of the dataset or feature

    Must adheres to ISO 19115:2014 Standard pm GI Metadata https://www.iso.org/standard/53798.htmlarrow-up-right

    Author

    Name

    String

    Title of the dataset or feature

    Abstract

    String

    Abstract description of the dataset or feature

    Must adheres to ISO 19115:2014 Standard pm GI Metadata https://www.iso.org/standard/53798.htmlarrow-up-right

    Author

    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

    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

    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

    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.

    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

    Name

    String

    Name or label of the GIS datastore

    Description

    String

    A detailed description of the GIS data store

    Provider

    Name

    String

    Title of the datastore

    Source

    String

    Source/Publisher of the datastore

    Must adheres to ISO 19115:2014 Standard pm GI Metadata https://www.iso.org/standard/53798.htmlarrow-up-right

    Description

    Username

    String

    Username for authentication

    Password

    String

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

    EditorPermissions

    EditType

    String

    {coded_value}

    Type of editing operation (create, update, delete)

    TimeStamp

    String

    Timestamp indicating when the edit was made

    SourceDataStore

    String {url}

    Links the replica to the source GIS Datastore.

    TargetDataStore

    String {url}

    Links the replica to the target GIS Datastore.

    ReplicaType

    Address

    String

    Address information for geocoding or reverse geocoding.

    Longitude

    Real

    Longitude coordinate for the address

    Used for Reverse Geocoding

    Latitude

    Alias

    String

    Alias or potential alternative address for the Address Data

    An address may have 0 to n aliases

    FormatingName

    String

    Name of the address format

    CountryCode

    String

    {coded_value}

    Country code for the address format

    Optional

    FormatString

    BatchType

    String

    {coded_value}

    Code representing whether the batch performs geocoding or reverse geocoding

    BatchName

    String

    Name of the geocoding batch

    Status

    ProcessingName

    String

    Name of the geoprocessing task

    Description

    String

    Detailed information that describes the geoprocessing task

    Parameters

    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

    Title

    String

    Title/name of the map report

    Abstract

    String

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

    Author

    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

    ResourceName

    String

    Name of the Resource

    ResourceType

    String

    {coded_value}

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

    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

    LabelText

    String

    Text of the Label

    PositionX

    Real

    X-coordinate position of the Label on the map report

    PositionY

    Title

    String

    Title of the chart

    Type

    String

    {coded_value}

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

    Data

    Title

    String

    Name of the Legend

    PositionX

    Real

    X-coordinate position of the Legend on the map

    PositionY

    Title

    String

    Name of the scale bar

    Style

    String

    {coded_value}

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

    Length

    Title

    String

    Name of the north arrow

    Style

    String

    {coded_value}

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

    Length

    Name

    String

    Name of the Geofence

    Shape

    String

    {coded_value}

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

    Size

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

    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

    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

    StartNode

    Object

    Geographic feature representing the starting point of the route

    EndNode

    Object

    Geographic feature representing the ending point of the route

    PassThrough

    Longitude

    Real

    Longitude coordinate of the node

    Latitude

    Real

    Latitude

    Order

    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

    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

    Diagram Sourcearrow-up-right

    String

    Boolean

    Boolean

    Date

    Object

    Boolean

    String (coded_domain)

    String

    String

    String

    Real

    String or Numeric

    Date

    String

    String

    String

    {coded_value}

    String

    {coded_value}

    Real

    String

    String

    {coded_value}

    Array

    Date

    String

    Boolean

    Float

    Real

    Blob

    Real

    Float

    Float

    Float

    String

    {coded_value}

    Boolean

    Integer

    Float

    https://ogcapi.ogc.org/common/arrow-up-right
    https://docs.ogc.org/is/18-058/18-058.htmlarrow-up-right
    https://docs.ogc.org/is/18-058/18-058.htmlarrow-up-right
    https://docs.ogc.org/is/18-058/18-058.htmlarrow-up-right
    https://developer.ogc.org/api/styles/index.htmlarrow-up-right
    https://www.iso.org/standard/53798.htmlarrow-up-right
    https://www.iso.org/standard/53798.htmlarrow-up-right
    https://www.iso.org/standard/53798.htmlarrow-up-right
    https://www.iso.org/standard/53798.htmlarrow-up-right
    https://www.iso.org/standard/53798.htmlarrow-up-right
    https://www.iso.org/standard/53798.htmlarrow-up-right
    https://ogcapi.ogc.org/processes/arrow-up-right

    hashtag
    Get Templates

    get

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

    Responses
    chevron-right
    200

    Successful response with templates

    No content

    chevron-right
    400

    Bad Request

    get
    /templates

    No content

    hashtag
    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
    chevron-right
    200

    Successful response after adding dynamic GIS layer

    No content

    chevron-right
    400

    Bad Request

    post
    /dynamicLayers

    hashtag
    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
    chevron-right
    200

    Successful response after removing dynamic GIS layer

    No content

    chevron-right
    404

    Layer not found

    delete
    /dynamicLayers/{layerId}

    hashtag
    Add Label

    post

    Add a label to a map layout or report.

    Body
    labelTextstringOptional
    positionXnumber · floatOptional
    positionYnumber · floatOptional
    fontstringOptional
    sizeintegerOptional
    colorstringOptional
    Responses
    chevron-right
    200

    Successful response after adding label

    No content

    chevron-right
    400

    Bad Request

    post
    /labels

    hashtag
    Remove Label

    delete

    Remove a label from a map layout or report.

    Path parameters
    labelIdstringRequired

    ID of the label to be removed

    Responses
    chevron-right
    200

    Successful response after removing label

    No content

    chevron-right
    404

    Label not found

    delete
    /labels/{labelId}

    No content

    hashtag
    Add Chart

    post

    Add a chart to a map layout or report.

    Body
    titlestringOptional
    typestringOptional
    datastringOptional
    Responses
    chevron-right
    200

    Successful response after adding chart

    No content

    chevron-right
    400

    Bad Request

    post
    /charts

    No content

    hashtag
    Remove Chart

    delete

    Remove a chart from a map layout or report.

    Path parameters
    chartIdstringRequired

    ID of the chart to be removed

    Responses
    chevron-right
    200

    Successful response after removing chart

    No content

    chevron-right
    404

    Chart not found

    delete
    /charts/{chartId}

    No content

    hashtag
    Add Legend

    post

    Add a legend to a map layout or report.

    Body
    labelTextstringOptional
    positionXnumber · floatOptional
    positionYnumber · floatOptional
    fontstringOptional
    sizeintegerOptional
    colorstringOptional
    Responses
    chevron-right
    200

    Successful response after adding legend

    No content

    chevron-right
    400

    Bad Request

    post
    /legends

    hashtag
    Remove Legend

    delete

    Remove a legend from a map layout or report.

    Path parameters
    legendIdstringRequired

    ID of the legend to be removed

    Responses
    chevron-right
    200

    Successful response after removing legend

    No content

    chevron-right
    404

    Legend not found

    delete
    /legends/{legendId}

    hashtag
    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
    chevron-right
    200

    Successful response after adding scale bar

    No content

    chevron-right
    400

    Bad Request

    post
    /scaleBars

    hashtag
    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
    chevron-right
    200

    Successful response after removing scale bar

    No content

    chevron-right
    404

    Scale Bar not found

    delete
    /scaleBars/{scaleBarId}

    hashtag
    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
    chevron-right
    200

    Successful response after adding north arrow

    No content

    chevron-right
    400

    Bad Request

    post
    /northArrows

    hashtag
    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
    chevron-right
    200

    Successful response after removing north arrow

    No content

    chevron-right
    404

    North Arrow not found

    delete
    /northArrows/{northArrowId}

    No content

    No content

    No content

    No content

    No content

    No content

    No content

    No content

    No content

    GET /v1/gisBB/reporting/templates HTTP/1.1
    Host: host
    Accept: */*
    
    POST /v1/gisBB/reporting/dynamicLayers HTTP/1.1
    Host: host
    Content-Type: application/json
    Accept: */*
    Content-Length: 109
    
    {
      "title": "text",
      "abstract": "text",
      "author": "text",
      "keywords": "text",
      "lastUpdated": "2026-03-12T15:21:52.180Z"
    }
    DELETE /v1/gisBB/reporting/dynamicLayers/{layerId} HTTP/1.1
    Host: host
    Accept: */*
    
    POST /v1/gisBB/reporting/labels HTTP/1.1
    Host: host
    Content-Type: application/json
    Accept: */*
    Content-Length: 86
    
    {
      "labelText": "text",
      "positionX": 1,
      "positionY": 1,
      "font": "text",
      "size": 1,
      "color": "text"
    }
    DELETE /v1/gisBB/reporting/labels/{labelId} HTTP/1.1
    Host: host
    Accept: */*
    
    POST /v1/gisBB/reporting/charts HTTP/1.1
    Host: host
    Content-Type: application/json
    Accept: */*
    Content-Length: 44
    
    {
      "title": "text",
      "type": "text",
      "data": "text"
    }
    DELETE /v1/gisBB/reporting/charts/{chartId} HTTP/1.1
    Host: host
    Accept: */*
    
    POST /v1/gisBB/reporting/legends HTTP/1.1
    Host: host
    Content-Type: application/json
    Accept: */*
    Content-Length: 86
    
    {
      "labelText": "text",
      "positionX": 1,
      "positionY": 1,
      "font": "text",
      "size": 1,
      "color": "text"
    }
    DELETE /v1/gisBB/reporting/legends/{legendId} HTTP/1.1
    Host: host
    Accept: */*
    
    POST /v1/gisBB/reporting/scaleBars HTTP/1.1
    Host: host
    Content-Type: application/json
    Accept: */*
    Content-Length: 123
    
    {
      "title": "text",
      "style": "text",
      "length": 1,
      "units": "text",
      "positionX": 1,
      "positionY": 1,
      "font": "text",
      "size": 1,
      "color": "text"
    }
    DELETE /v1/gisBB/reporting/scaleBars/{scaleBarId} HTTP/1.1
    Host: host
    Accept: */*
    
    POST /v1/gisBB/reporting/northArrows HTTP/1.1
    Host: host
    Content-Type: application/json
    Accept: */*
    Content-Length: 123
    
    {
      "title": "text",
      "style": "text",
      "length": 1,
      "units": "text",
      "positionX": 1,
      "positionY": 1,
      "font": "text",
      "size": 1,
      "color": "text"
    }
    DELETE /v1/gisBB/reporting/northArrows/{northArrowId} HTTP/1.1
    Host: host
    Accept: */*