Get up and running with Fiware GIS integrations (QGIS, ArcGIS and OpenLayers).
This repository contains everything you need to setup a minimal Fiware Context Broker including sample data and support services to quickly get started with the ms.GIS Fiware GIS integrations.
Requirements
- docker 20.10.0+
- git
First clone the repository
git clone https://github.com/msgis/fiware-gis-quickstart.git
and then run docker to start the app
cd fiware-gis-quickstart
docker compose up
The Fiware Context Broker (Orion LD) should be accessible on http://localhost:1026.
To ensure the sample data has been imported, the entity types can be quieried via http://localhost:1026/ngsi-ld/v1/types
and should contain at least Hydrant
, Trinkbrunnen
, Schwimmbad
and NgsiProxyConfig
.
If everything is up and running, proceed with the configuration of one or more Fiware GIS implementations:
- Fiware GIS integration for OpenLayers (HTML5 Web App)
- Fiware GIS integration for QGIS
- Fiware GIS integration for ArcGIS
The docker-compose configuration includes the following services:
- orion - the Fireware Context Broker, listening on http://localhost:2026
- orionproxy - a simple reverse proxy (implemented with nginx) to allow CORS requests, listening on http://localhost:1026
- mongo-db - the database used by orion
- ngsiproxy - an instance of ngsi-proxy which exposes orion event subscriptions as EventSource for clients.
- setup - imports sample data and configures ngsiproxy as soon as orion and ngsiproxy are up and running. The container will stop after the setup process has been finished.
The setup process imports the following data into the Context Broker:
- Hydrant - fire hydrants in Vienna,
imported as entity type
Hydrant
, see http://localhost:1026/ngsi-ld/v1/entities?type=Hydrant. - Trinkbrunnen - drinking fountains in Vienna,
imported as entity type
Trinkbrunnen
, see http://localhost:1026/ngsi-ld/v1/entities?type=Trinkbrunnen. - Schwimmbad - public swimming pools in Vienna,
imported as entity type
Schwimmbad
, see http://localhost:1026/ngsi-ld/v1/entities?type=Schwimmbad - Anrainerparkplaetz - parking zones reserved to local residents of Vienna,
imported as entity type
Anrainerparkplaetz
, see http://localhost:1026/ngsi-ld/v1/entities?type=Anrainerparkplaetz - Begegnungszone - officially designated shared space zones in Vienn,
imported as entity type
Begegnungszone
, see http://localhost:1026/ngsi-ld/v1/entities?type=Begegnungszone
In addition to the entity types above, there is a special type called NgsiProxyConfig
. This type is used to store the ngsiproxy configuration,
so a client can find the matching EventSource url for an entity type if needed.
To reset the data/entities, the monog-db data volume can be removed by running
cd fiware-gis-quickstart
docker compose rm
docker volume rm fiware-gis-quickstart_mongo-db-data
There is also a Docker Compose configuration available for running the Scorpio Broker. To use the Scorpio Broker instead of Orion-LD, simple run the docker compose command with a different input file:
docker compose -f ./docker-compose-scorpio.yaml up
The entity types imported to the Scorpio Broker are the same as for the Orion-LD variant. To reset the data/entities, the postgres data volume can be removed by running
cd fiware-gis-quickstart
docker compose -f ./docker-compose-scorpio.yaml rm
docker volume rm fiware-gis-quickstart_pgdata
Everyone is invited to get involved and contribute to the project.
Simply create a fork and pull request for code contributions or feel free to open an issue for any other contributions or issues.