TROBDB: Unterschied zwischen den Versionen
Aus Geoinformation HSR
Stefan (Diskussion | Beiträge) K (Die Seite wurde neu angelegt: „'''Projekt "Traffic Obstruction Database und Webservice"''' Website (inkl. DB, Webservice/API) für Verkehrshindernisse. Traffic Obstruction Database (TROBDB). T…“) |
Stefan (Diskussion | Beiträge) K |
||
Zeile 5: | Zeile 5: | ||
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. | 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: | User Szenarien: | ||
Zeile 22: | Zeile 22: | ||
* Die konsolidierten Daten werden spätestens jeweils um ca. 11h und 16h aktualisiert. | * Die konsolidierten Daten werden spätestens jeweils um ca. 11h und 16h aktualisiert. | ||
− | + | == Datenquellen == | |
# Verkehrszentrale des Bundes (Baustellen, Pässe, Tunnelzufahrten und andere Verkehrssperrungen). Die Daten werden jeweils vor 11h und vor 16h von truckinfo.ch abgeholt. | # Verkehrszentrale des Bundes (Baustellen, Pässe, Tunnelzufahrten und andere Verkehrssperrungen). Die Daten werden jeweils vor 11h und vor 16h von truckinfo.ch abgeholt. | ||
Zeile 28: | Zeile 28: | ||
# (geplant: Rettungsdienst BLUgis/Regio144) | # (geplant: Rettungsdienst BLUgis/Regio144) | ||
− | + | == Entwurf - Technologien == | |
− | |||
− | Technologien | ||
* DB: PostgreSQL/PostGIS | * DB: PostgreSQL/PostGIS | ||
* Webserver: Apache | * Webserver: Apache | ||
Zeile 37: | Zeile 35: | ||
* Web Map: Leaflet | * Web Map: Leaflet | ||
− | Datenstruktur "Traffic Obstruction DB": | + | == Datenstruktur == |
+ | |||
+ | "Traffic Obstruction DB": | ||
* "trobdb_line": | * "trobdb_line": | ||
− | + | geometry: Linestring NOT_NULL -- gesperrte Richtung, d.h. Reihenfolge der Stüzpunkte relevant!) | |
− | geometry: Linestring NOT_NULL -- Richtung, d.h. Reihenfolge der Stüzpunkte relevant!) | + | id_ref: integer NULL -- id der Quell-Datenbank (und dort UNIQUE NOT_NULL) |
− | id_ref: integer NULL -- id der Quell-Datenbank (und dort UNIQUE NOT_NULL) | + | title: varchar(100) NOT_NULL |
− | title: varchar(100) NOT_NULL | + | description: text NUL_NULL |
− | description: text NUL_NULL | + | traffic_obstruction_start: date/datetime NOT_NULL |
− | traffic_obstruction_start: date/datetime NOT_NULL | + | traffic_obstruction_end: date/datetime NOT_NULL |
− | traffic_obstruction_end: date/datetime NOT_NULL | + | traffic_obstruction_string: text NULL -- Intervall-Zeitangaben (vgl. Bemerkungen) |
− | traffic_obstruction_string: text NULL -- Intervall-Zeitangaben (vgl. Bemerkungen) | + | emergency: boolean NULL -- Rettungs-Fz können trotzdem durchfahren |
− | emergency: boolean NULL -- Rettungs-Fz können trotzdem durchfahren | + | direction: (0..1) ENUM(as_is, reverse) NULL -- Default: NULL = "both directions" |
− | direction: (0..1) ENUM(as_is, reverse) NULL -- Default: NULL = "both directions" | + | sysdate: datetime NOT_NULL -- Datum der Erfassung dieser Info |
− | sysdate: datetime NOT_NULL -- Datum der Erfassung dieser Info | + | issued: datetime NULL -- Datum von demjenigen, von wo die Meldung kam |
− | issued: datetime NULL -- Datum von demjenigen, von wo die Meldung kam | + | issuer_name: (0..1) text NULL -- Name derjenigen, 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 |
− | 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_id: biginteger NULL -- OSM way id vom Matching (nur | + | osm_way_type: string NULL -- Wert des highway-Tags, z.B. motorway, footway (nur bei trobdb_line) |
− | osm_way_type: string NULL -- Wert des highway-Tags, z.B. motorway, footway (nur | + | osm_way_oneway: boolean NULL -- Einbahnstrasse (nur bei trobdb_line) |
− | osm_way_oneway: boolean NULL | + | |
− | |||
* "trobdb_area": | * "trobdb_area": | ||
− | + | geometry: Polygon -- gesperrte Fläche, z.B. bei Dorfkern-Sperrungen | |
− | geometry: Polygon -- Fläche, z.B. bei Dorfkern-Sperrungen | + | ... -- ditto wie "trobdb_line" |
− | ... -- ditto wie "trobdb_line" | + | |
− | + | * "trobdb_poi": | |
+ | geometry: Point -- gesperrter Punkt, z.B. Pässe/Tunnel/Autoverlade | ||
+ | ... -- ditto wie "trobdb_line" | ||
Bemerkungen: | Bemerkungen: |
Version vom 13. November 2013, 10:21 Uhr
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.
Inhaltsverzeichnis
Spezifikation
User Szenarien:
- Als BLUgis/Regio144-Vertreter möchte ich von der TROBDB eine (speziell zugeschnittene und aufbereitete) Verkehrshindernisse-Datei täglich abholen.
- 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).
- Als Webapp-Entwickler möchte ich schweizweite Verkehrshindernisse als Datei (möglichst) frei herunterladen. (Lösungsvorschlag http://repository.opendata.ch ?)
- Als Webapp-Entwickler möchte ich ausgewählte Verkehrshindernisse von der TROBDB über einen Webservice/API (möglichst) frei lesen können.
- 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:
- Rettungsdienst (BLUgis/Regio144) (Abholung von DB täglich)
- Forschungsarbeit tourpl (Abholung von DB täglich, jeweils ca. 03:00)
- Web (öffentlich, wenn implementiert) als ganzer Datensatz ("Opendata")
- 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
- Verkehrszentrale des Bundes (Baustellen, Pässe, Tunnelzufahrten und andere Verkehrssperrungen). Die Daten werden jeweils vor 11h und vor 16h von truckinfo.ch abgeholt.
- Stadt Zürich, Baustellen, als Download-Service.
- (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:
- Intervall-Zeitangaben ("Behinderungszeiten", Öffnungszeiten, Betriebszeiten):
- Definition OSM: http://wiki.openstreetmap.org/wiki/DE:Key:opening_hours
- Demo (inkl. Source Code): http://robin.de.marissa.hostorama.ch/osm/opening_hours.js/demo.html