Urbi Pro
Urbi Pro service for managing and analyzing geodata:
- Manage and filter geodata by various attributes.
- Work with data layers by buildings, organizations, population, and infrastructure.
- Visualize geodata in the form of heat maps, clusters, hexagons, etc.
Urbi Pro is able to work with several types of geodata:
- Urbi's own collected, processed and published geodata (organizations, buildings, population, etc.).
- User datasets that can be uploaded to Urbi Pro.
Architecture
Urbi Pro consists of the following components:
- Pro UI — React web application interacting with the Pro API via the REST protocol over JSON. The UI is completely dynamic and builds on data coming from the backend. It can display any data with an arbitrary number of attributes, dynamically build filters, and display various geodata aggregates.
- Pro API — RESTful API is built on the ASP.NET Core 6.0 (.Net 6) web application. Provides all the necessary methods for obtaining metadata (datasets, projects, layers), as well as the data itself. Includes clustered markers and data aggregates with the ability to filter by any attribute of a feature and with full-text search by individual string attributes of features. Actively interacts with Elasticsearch and S3 storage.
- assetImporter — cron job to updating Elasticsearch with prepared datasets from S3.
Users can work with system (built-in) datasets or add their own data in two ways:
- Manually by uploading files of
.csv
,.geojson
,.shp
, and other formats. - Using API to dynamically push datasets from external sources.
Dependencies
Shared infrastructure:
- Elasticsearch — database with search and analytics engine that provides all the necessary filtering, aggregation, geo search and full-text search capabilities.
- PostgreSQL — metadata database that includes descriptions of datasets and their aggregates, as well as user data: projects and layers.
- S3 storage — data storage with prepared datasets from Urbi sources.
- Redis — cache storage.
- Apache Kafka — access and permission storage.
On-Premise services:
- Maps service (with MapGL JS API).
- Search service (with Places API and Suggest API).
- Navigation service (with Isochrone API).
- Authentication service (with Auth API).
- API Keys service (with API Keys backend).
- License service.
For more information on how to check requirements for each service, refer to the System requirements document.
What's next?
Find out how to install or update the service:
Read more about On-Premise: