Geodata management subsystem

🌐 This document is available in both English and Ukrainian. Use the language toggle in the top right corner to switch between versions.

1. General description

The Geodata management subsystem searches and presents geographically bound registry objects in standardized formats.

2. Subsystem functions

  • Search and presentation of previously prepared database structures as geolayers.

  • Search and presentation of geographic objects (point, line, and polygon) in a standardized format.

3. Subsystem technical design

This diagram shows the components of the Geodata Management Subsystem and their interaction with other subsystems in implementing functional scenarios.

gis overview

Geodata management subsystem is built on the basis of open source software GeoServer and provides an API for searching geographically bound objects and their associated attributes in the Operational DB of the registry and presenting them in a standardized format for further visualization.

More information about the approach to processing geolocation requests is in the section:

Registry data access control (RLS) is implemented at the Istio Envoy layer using a policy-level configured rule list for the EnvoyFilter.

4. Subsystem components

Component name Representation in the registry Source Repository Appointment

Geo-data service

geo-server

3rd-party

github:/geoserver/geoserver

Search of registry objects by attributes and presentation of geo-data in a standardized format

Data access rights filter

geoserver-rls

origin

is generating

Application of RLS to read data according to user access rights

5. Technological stack

During the design and development of the subsystem, the following technologies were used:

6. Атрибути якості підсистеми

6.1. Interoperability

Compatibility of the subsystem with other geospatial systems is ensured by the use of industry standards for data representation:

  • OGC (Open Geospatial Consortium)

  • WMS (Web Map Service)

  • WFS (Web Feature Service)

  • WCS (Web Coverage Service)

6.2. Scalability

The subsystem components are stateless, allowing for horizontal scaling by adding additional instances to handle growing workloads.

More information about scaling subsystems is in the section: Container orchestration platform