TROBDB

Aus Geoinformation HSR
Wechseln zu: Navigation, Suche

Projekt "Traffic Obstruction Database und Webservice"

Website (inkl. DB, Webservice/API) für Verkehrshindernisse. Traffic Obstruction Database (TROBDB). Teil des BLUgis-Projekts.

Definition/Abgrenzung: Unter Verkehrshindernisse (engl.: "Traffic Obstructions", Driving Bans) verstehen wir hier temporäre Fahrverbote oder temporär gesperrte Strassen u.a. wegen Baustellen oder Veranstaltungen, die geplant und angekündigt sind. Staus oder andere Echtzeitinformationen gehören nicht dazu.

Spezifikation

User Szenarien:

  1. Als BLUgis/Regio144-Vertreter möchte ich von der TROBDB eine (speziell zugeschnittene und aufbereitete) Verkehrshindernisse-Datei täglich abholen.
  2. Als Web-Benutzer (u.a. Behörden, Regio144, Privatpersonen) möchte ich Verkehrshindernisse über einen Webclient von Hand auf der TROBDB-Karte erfassen (mit Login).
  3. Als Webapp-Entwickler möchte ich schweizweite Verkehrshindernisse als Datei (möglichst) frei herunterladen. (Lösungsvorschlag http://repository.opendata.ch ?)
  4. Als Webapp-Entwickler möchte ich ausgewählte Verkehrshindernisse von der TROBDB über einen Webservice/API (möglichst) frei lesen können.
  5. Als Webapp-Entwickler (u.a. BLUgis/Regio144) möchte ich - zur Veröffentlichung freigegebene - Verkehrshindernisse über einen Webservice/API der TROBDB hochladen/schreiben können (mit Login).

Verwendung der Daten:

    1. Rettungsdienst (BLUgis/Regio144) (Abholung von DB täglich)
    2. Forschungsarbeit tourpl (Abholung von DB täglich, jeweils ca. 03:00)
    3. Web (öffentlich, wenn implementiert) als ganzer Datensatz ("Opendata")
    4. Web (öffentlich, wenn implementiert) als Webkarte und als Webservice ("Opendata")

Hinweis:

  • Die konsolidierten Daten werden spätestens jeweils um ca. 11h und 16h aktualisiert.

Datenquellen

  1. Verkehrszentrale des Bundes (Baustellen, Pässe, Tunnelzufahrten und andere Verkehrssperrungen). Die Daten werden jeweils vor 11h und vor 16h von truckinfo.ch abgeholt.
  2. Stadt Zürich, Baustellen, als Download-Service.
  3. (geplant: Rettungsdienst BLUgis/Regio144)

Entwurf - Technologien

  • DB: PostgreSQL/PostGIS
  • Webserver: Apache
  • Webservice: Python, Flask
  • Web App: Javascript (Bootstrap, jQuery), Django-CMS?
  • Web Map: Leaflet

Datenstruktur

"Traffic Obstruction DB":

  • "trobdb_line":
 geometry: Linestring NOT_NULL                -- gesperrte Richtung, d.h. Reihenfolge der Stüzpunkte relevant!)
 id_ref: integer NULL                         -- id der Quell-Datenbank (und dort UNIQUE NOT_NULL) 
 title: varchar(100) NOT_NULL
 description: text NUL_NULL
 traffic_obstruction_start: date/datetime NOT_NULL
 traffic_obstruction_end: date/datetime NOT_NULL
 traffic_obstruction_string: text NULL        -- Intervall-Zeitangaben (vgl. Bemerkungen)
 emergency: boolean NULL                      -- Rettungs-Fz können trotzdem durchfahren
 direction: (0..1) ENUM(as_is, reverse) NULL  -- Default: NULL = "both directions"
 sysdate: datetime NOT_NULL                   -- Datum der Erfassung dieser Info
 issued: datetime NULL                        -- Datum von demjenigen, von wo die Meldung kam
 issuer_name: (0..1) text NULL                -- Name derjenigen, von wo die Meldung kam
 file_ref: URL NULL                           -- relative_path_to_file, allowed formats: PDF, JPG, PNG, GIF 
 osm_way_id: biginteger NULL                  -- OSM way id vom Matching (nur bei trobdb_line) 
 osm_way_type: string NULL                    -- Wert des highway-Tags, z.B. motorway, footway (nur bei trobdb_line)
 osm_way_oneway: boolean NULL                 -- Einbahnstrasse (nur bei trobdb_line)
  • "trobdb_area":
 geometry: Polygon                            -- gesperrte Fläche, z.B. bei Dorfkern-Sperrungen
 ...                                          -- ditto wie "trobdb_line"
  • "trobdb_poi":
 geometry: Point                              -- gesperrter Punkt, z.B. Pässe/Tunnel/Autoverlade 
 ...                                          -- ditto wie "trobdb_line"

Bemerkungen: