Skip to content
The Geospatial Data Infrastructure (GDI) component is used by a number of other CityPulse components to tackle geo-spatial tasks.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
CityPulseGDI_Public
WebsocketRoutingInterface-R
GDI_Example1.png
GDI_Example2.png
LICENSE.md
README.md

README.md

GDI - Geospatial Data Infrastructure

The GDI component is used by a number of other CityPulse components to tackle geo-spatial tasks. For example, the Composite Monitoring uses the GDI to find nearby sensors or the Decision Support uses the GDI to get a set of routes across the city, which follow non-functional user requirements. AreasToAvoid

Requirements and Dependencies

The GDI uses OpenStreetMap Data (OSM) and is implemented in R and Java. Therefore it depends on the following components:

  • For Websocket Routing Interface: R >= V3.2.3 (required libraries: websockets, RPostgreSQL,rgeos,DBI,jsonlite)
  • For Java GDI Implementation: Java 8
  • PostgreSQL version >= V9.3
  • OpenStreetMap data
  • osm2pgsql >= V0.82.0
  • osm2pgrouting >= V2.1.0

Installation

Before using the GDI, an PostgreSQL instance must be set up. The following lists the necessary steps:

  • Install PostgreSQL (http://www.postgresql.org/)

  • Install PostGIS extension for Postgresql (http://postgis.net/)

  • Install pgRouting (http://pgrouting.org/)

  • Download Openstreetmap(OSM) dataset from required (e.g. from http://download.geofabrik.de/)

  • Create and import database

  • At shell level:

     user@server:~$: createdb cp_sweden
    
     user@server:~$: psql cp_sweden
    
  • At Database level:

     cp_sweden=# CREATE EXTENSION postgis; 
    
     cp_sweden=# CREATE EXTENSION hstore; 
    
     cp_sweden=# CREATE EXTENSION pgrouting;
    
     cp_sweden=# \q 
    
  • Optional (at shell level) cut down area smaller area by bounding box:

     osmosis   --read-xml sweden-latest.osm --tee 1 --bounding-box left=17.2410 top=60.2997 bottom=58.5328 right=20.0253 --write-xml stockholm.osm
    
  • At shell level (example Import of OSM LAyer and Routing process for sweden data):

     user@server:~$: osm2pgsql -C2000 -d cp_sweden -k -l --slim --flat-nodes flat-nodes.bin --number-processes 8  sweden-latest.osm.pbf
    
     user@server:~$: osm2pgrouting --file ./sweden-latest.osm --conf /usr/share/osm2pgrouting/mapconfig.xml --dbname cp_sweden -p5432  --user XXX --passwd XXX 
    
  • At shell level create some CityPulse specific tables and indizes (sql file in the repository)

     user@server:~$: psql cp_sweden -f CityPulseGDI_Public/res/Initialise-CP-specials.sql
    

Running the component

After the installation of the GDI, - the websocket routing interface can be started with: user@server:~$: R -f websocketRoutingInterface.R - Websocket usage parameters are defined in the README file. - The GDI Java implementation can be found at https://github.com/CityPulse/GDI/tree/master/CityPulseGDI_Public - It provides a full Javadoc Documentation - Example class for first experiments: eu.citypulse.uaso.gdiclient.CpClientExampleStockholm

Contributers

The GDI component was developed as part of the EU project CityPulse. The consortium member University of Applied Sciences Osnabrück provided the main contributions for this component.

Link

The code of the Resource Management can be found here: https://github.com/CityPulse/GDI.git MultipleRoutes

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.