This page is a collection of notes concerning open government data provided by the city of Vienna. This page continues in German.
GIP (seit Mai 2015)
Seit Anfang Mai stehen mit der Beta der GIP-OGD-Datensätzen zwei Ausschnitte zum Test zur Verfügung: https://www.data.gv.at/katalog/dataset/3fefc838-791d-4dde-975b-a4131a54e7c5
Straßen (seit 2013)
Anstelle eine Straßengraphen werden mehrere Datensätze angeboten:
- Straßengraph Wien (ohne Autobahnen)
- Verkehrsgraph Wien (Erlaubnisse und Beschränkungen)
- Straßengraph ASFINAG (nur Asfinag-Straßen)
- Verkehrsgraph ASFINAG Wien (Erlaubnisse und Beschränkungen)
Um die Datensätze in PostGIS zu importieren:
ogr2ogr -overwrite -lco GEOMETRY_NAME=geom -f PostgreSQL PG:"user=postgres password=password dbname=gis" "WFS:http://data.wien.gv.at/daten/geoserver/ows?service=WFS&request=GetFeature&version=1.1.0&typeName=ogdwien:STRASSENGRAPHOGD&srsName=EPSG:31256" -nln ogdwien.strassengraph ogr2ogr -overwrite -lco GEOMETRY_NAME=geom -f PostgreSQL PG:"user=postgres password=password dbname=gis" "WFS:http://data.wien.gv.at/daten/geoserver/ows?service=WFS&request=GetFeature&version=1.1.0&typeName=ogdwien:STRASSENSPEEDOGD&srsName=EPSG:31256" -nln ogdwien.strassenspeed ogr2ogr -overwrite -lco GEOMETRY_NAME=geom -f PostgreSQL PG:"user=postgres password=password dbname=gis" "WFS:http://data.wien.gv.at/daten/geoserver/ows?service=WFS&request=GetFeature&version=1.1.0&typeName=ogdwien:ASFINAGSTRASSEOGD&srsName=EPSG:31256" -nln ogdwien.asfinaggraph ogr2ogr -overwrite -lco GEOMETRY_NAME=geom -f PostgreSQL PG:"user=postgres password=password dbname=gis" "WFS:http://data.wien.gv.at/daten/geoserver/ows?service=WFS&request=GetFeature&version=1.1.0&typeName=ogdwien:ASFINAGSPEEDOGD&srsName=EPSG:31256" -nln ogdwien.asfinagspeed
Einige Notizen zu den Datensätzen (Stand 2013-12-28):
- Sowohl Straßengraph Wien als auch Verkehrsgraph Wien sollen lt. Metadaten ein GIP_OBJECTID Attribut enthalten. Tatsächlich enthält nur Straßengraph Wien ein Attribut mit diesem Namen. Verkehrsgraph Wien enthält ein Attribut namens EDGE_OBJECTID, aber keine GIP_OBJECTID.
- Die GIP_OBJECTID in Straßengraph Wien ist nicht eindeutig. In mehreren Fällen sind zwei Features mit gleicher GIP_OBJECTID und gleicher Geometrie enthalten. Die Features scheinen sich nur anhand des REG_STRNAME zu unterscheiden.
SELECT COUNT(*) AS n, str.gip_objectid, ST_ASTEXT(geom) FROM ogdwien.strassengraph AS str GROUP BY str.gip_objectid, geom ORDER BY COUNT(*) DESC;
- Straßengraph Wien enthält Informationen zur Topologie des Straßennetzes: NODEFROM_OBJECTID und NODETO_OBJECTID können zum Routing mittels Dijkstra verwendet werden.
- Verkehrsgraph Wien enthält Informationen zu Einbahnen, die ebenfalls wichtig für Routing wären, aber keine NODEFROM_OBJECTID und NODETO_OBJECTID.
- Straßengraph Asfinag enthält Lücken und teilweise unplausible Knoten-Ids, die außerhalb des int4-Bereichs von PostGIS liegen und daher nicht in pgRouting verwendet werden können.
Update: Knoten
ogr2ogr -overwrite -lco GEOMETRY_NAME=geom -f PostgreSQL PG:"user=postgres password=password dbname=gis" "WFS:http://data.wien.gv.at/daten/geo?SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&TYPENAME=ogdwien:STRASSENKNOTENOGD&SRSNAME=EPSG:31256" -nln ogdwien.strassenknoten ogr2ogr -overwrite -lco GEOMETRY_NAME=geom -f PostgreSQL PG:"user=postgres password=password dbname=gis" "WFS:http://data.wien.gv.at/daten/geo?SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&TYPENAME=ogdwien:ASFINAGKNOTENOGD&SRSNAME=EPSG:31256" -nln ogdwien.asfinagknoten
Update vom 2014-11-15
Email an open@post.wien.gv.at
Sehr geehrte Damen und Herren,
Vielen Dank für Ihre Arbeit im OGD-Bereich!
Während die meisten Datensätze gut nutzbar sind, sind die veröffentlichten Daten zum Straßennetz leider problematisch. Einige der von mir angesprochenen Probleme https://anitagraser.com/projects/ogdwien-notizen/ scheinen zwar im letzten Update behoben worden zu sein, aber leider scheinen auch die neuen Daten nicht wirklich verwendbar.
Zur Erklärung: Die Tatsache, dass der Straßengraph im Wiener Stadtgebiet nicht in einem Download enthalten ist, sondern auf 4 Downloads aufgeteilt wurde, ist an sich schon wenig nutzerfreundlich. Noch problematischer ist allerdings, dass die beiden Datensätze (Strassenspeedogd und Strassengraphogd) nicht miteinander verknüpft werden können, da keine gemeinsamen IDs enthalten sind. Im angefügten Screenshot sehen sie beispielsweise, dass ein und der selbe Straßenabschnitt in den beiden Datensätzen unterschiedliche GIP_OBJECT ids hat.
Ein kurzer Check von https://www.data.gv.at/datensatz/?id=1039ed7e-97fb-435f-b6cc-f6a105ba5e09 zeigt, dass zum Straßengraphen noch keine einzige Anwendung existiert. Ich bin überzeugt davon, dass Anwendungen nicht am Interesse der Community, sondern am Zustand des Datensatzes scheitern.
Mit freundlichen Grüßen
Auszug aus der Antwort der MA14:
Wegen der 4 Bestände: Wien und ASFINAG sind aufgeschlüsselt, da die ASFINAG Daten von der ASFINAG gewartet werden und nur über das OGD Wien Portal angeboten werden.
Straßengraph und Verkehrsgraph sind 2 verschiedene Ursprungsdatensätze, daher werden sie auch getrennt angeboten.Wegen der ID: Beim Datensatz Strassenspeedogd gibt es das Attribut EDGE_OBJEC, welches auf die GIP_OBJECT des Datensatzes Strassengraphogd verweist.
Update 2014-11-22
ogr2ogr -overwrite -lco GEOMETRY_NAME=geom -f PostgreSQL PG:"user=postgres password=password dbname=gis" "WFS:http://data.wien.gv.at/daten/geo?service=WFS&request=GetFeature&version=1.1.0&typeName=ogdwien:STRASSENGRAPHOGD&srsName=EPSG:31256" -nln ogdwien.strassengraph ogr2ogr -overwrite -lco GEOMETRY_NAME=geom -f PostgreSQL PG:"user=postgres password=password dbname=gis" "WFS:http://data.wien.gv.at/daten/geo?service=WFS&request=GetFeature&version=1.1.0&typeName=ogdwien:STRASSENSPEEDOGD&srsName=EPSG:31256" -nln ogdwien.strassenspeed ogr2ogr -overwrite -lco GEOMETRY_NAME=geom -f PostgreSQL PG:"user=postgres password=password dbname=gis" "WFS:http://data.wien.gv.at/daten/geo?service=WFS&request=GetFeature&version=1.1.0&typeName=ogdwien:ASFINAGSTRASSEOGD&srsName=EPSG:31256" -nln ogdwien.asfinaggraph ogr2ogr -overwrite -lco GEOMETRY_NAME=geom -f PostgreSQL PG:"user=postgres password=password dbname=gis" "WFS:http://data.wien.gv.at/daten/geo?service=WFS&request=GetFeature&version=1.1.0&typeName=ogdwien:ASFINAGSPEEDOGD&srsName=EPSG:31256" -nln ogdwien.asfinagspeed ogr2ogr -overwrite -lco GEOMETRY_NAME=geom -f PostgreSQL PG:"user=postgres password=password dbname=gis" "WFS:http://data.wien.gv.at/daten/geo?SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&TYPENAME=ogdwien:STRASSENKNOTENOGD&SRSNAME=EPSG:31256" -nln ogdwien.strassenknoten ogr2ogr -overwrite -lco GEOMETRY_NAME=geom -f PostgreSQL PG:"user=postgres password=password dbname=gis" "WFS:http://data.wien.gv.at/daten/geo?SERVICE=WFS&VERSION=1.0.0&REQUEST=GetFeature&TYPENAME=ogdwien:ASFINAGKNOTENOGD&SRSNAME=EPSG:31256" -nln ogdwien.asfinagknoten
Bekannte Probleme:
- Ogr2ogr importiert asfinaggraph.gip_objectid als integer, was negative IDs aufgrund von Integer-Overflows verursacht. Dadurch können asfinaggraph und asfinagspeed nicht gejoint werden. – Bisher konnte ich das Problem nur händisch beheben.
- Aufgrund fehlender Abbiegeverbote werden einige Routingfehler unvermeidbar, z.B.
- Aufgrund von Lücken im Graphen ist es notwendig eine Toleranz von mindestens 2 Metern bei der Erstellung der Topologie zu setzen, z.B.
- Bei mehren verschiedenen Geschwindigkeitsbegrenzungen auf einer edge_objectid habe ich mich dazu entschieden den Durchschnitt in den Routinggraphen zu übernehmen.
- Es ist notwenig die Graphentopologie neu zu berechnen, da die Topologie auf Basis der bereitgestellten fromnode and tonode IDs Lücken aufweist, z.B.