Alle Highways ortsbezogen in Bayern

Guten Mittag,

ich war vielleicht doch sehr blauäuig um zu glauben, dass wir es innerhalb 1-2 Tagen schaffe können uns in dass riesen Thema OSM einzulesen, deshalb bin ich jetzt hier gelandet mit der Bitte um Unterstützung.

Kurze Erklärung:

Wir müssen für ein Unternehmen in Bayern alle Objekte die an einer Straße angrenzen überprüfen. Da es aber unmöglich wäre sich einen Tag lang für jedes Objekt an die Straße zu stellen um den Verkehrsfluss (Häufigkeit, Geschwindigkeit etc.) zu analysieren, wollen wir den Großteil mit OSM abarbeiten.

Zum ausprobieren, haben wir von der Geofabrik ein Shapefile von Oberfranken genommen. Dieses anschließend als CSV konvertiert und uns mit der Datei “roads” beschäftigt. In dieser Datei stand die Straßenart, Oberfläche, Straßenname (kein Straßenname bei kleineren Dörfer). Jetzt fehlt uns allerdings noch die Verschneidung mit den Orten.

Anschließend habe ich mich an Overpass probiert aber leider ohne jeglichen Erfolg…

Kann uns hier jemand behilflich sein?

Wie lauten denn die konkreten Fragen? PS: Overpass ist schon mal ein guter Ansatz?

Ist das ein kommerzielles Projekt/ein Auftrag, d.h. also wer ist “wir” - eine Firma? Ich will garkeinen Namen wissen, ich will nur wissen ob wir hier im Forum unentgeltlich euren Auftrag übernehmen sollen, für den Ihr dann bezahlt werdet? :wink:

Hallo,

das ist keine spezielle OSM-Sache, sondern was du machst, ist eine typische Anwendung von GIS. OSM ist hier nur die Datenquelle und für die Umwandlung von OSM-Rohdaten in ein Format, mit dem typische GIS-Software umgehen kann gibt es zahlreiche Wege:

  1. OSM-Rohdaten mit Osm2pgsql in eine PostgreSQL-Datenbank mit der PostGIS-Erweiterung importieren, eure Daten in die Datenbank laden, von dir ausgedachte SQL-Abfragen ausführen.

  2. OSM-Rohdaten mit Osm2pgsql in eine PostgreSQL-Datenbank mit der PostGIS-Erweiterung importieren, die Datenbank in QGIS als Quelle einbinden, mit QGIS und dessen Funktionen weiterarbeiten

  3. Shapefiles aus OSM-Rohdaten erstellen lassen, diese in QGIS laden und mit dessen Funktionen weiterarbeiten

  4. Shapefiles aus OSM-Rohdaten erstellen lassen, diese mit ogr2ogr oder shp2pgsql in eine PostgreSQL-Datenbank mit der PostGIS-Erweiterung importieren und mit dessen Funktionen weiterarbeiten

  5. OSM-Rohdaten mit Osm2pgsql in eine PostgreSQL-Datenbank mit der PostGIS-Erweiterung importieren, mit pgsql2shp oder ogr2ogr Shapefiles/Geopackage/Spatialite exportieren, in QGIS importieren und mit dessen Funktionen weiterarbeiten

Verwaltungsgrenzen sind in den OSM-Rohdaten enthalten. In den kostenlosen Shapefiles der Geofabrik fehlen sie, denn diese enthalten nicht alles (siehe Kapitel 7 der Shapefile-Dokumentation der Geofabrik).

Für konkretere Antworten musst du entweder mehr Details offenlegen oder dich an einen Dienstleister wenden.

Viele Grüße

Michael

EDIT: Schreibfehler bei PostgreSQL korrigiert

Wie bereits festgestellt: Du musst Dich eher in das Thema Geoinformationssysteme als in Openstreetmap einlesen. Das kann man ja nicht ohne Grund studieren und es gibt viele Fachzeitschriften.

Für Deinen Anwendungsfall gibt es vermutlich diverse Soezialsoftware.

Ein guter Ansorechpartner wäre sicherlich ein lokales Verkehrsplanungsbüro.

mit qgis könnte man da doch bestimmt viel machen. (vielleicht eher mit geopackage als mit shape-files arbeiten, mein beobachtung bei diesem test)

alle straßen als layer einem neuen qgis projekt hinzufügen, die grenzen aus osm als weiteren layer dazu (polygone von den boundary=administrative + admin_layer=8). dann in qgis: vektor → geoverarbeitungswerkzeuge → zuschneiden, dann den straßenlayer als “eingabelayer” und die grenzpolygone als “layer überlagern” auswählen und den grünen “kreispfeil” anklicken.

qgis spuckt dann alle straße zugeschnitten auf die gemeindegebiete als eigene layer aus. danach wieder alle straßenlayer, wieder in einem layer zusammenfügen (vektor → Datenmanagment-Werkzeuge → Vektorlayer zusammenführen), aber eben scharf an den grenzen geteilt.

Dann zum schluss kann man allen straßenstücken ein neues attribut (postleitzahl oder name) hinzufügen. vektor → Datenmanagment-Werkzeuge → “Attribute nach Position zusammenfügen”: eingabe layer ist der straßen-layer und bei layer verknüpfen wieder den osm-grenz-layer, geometrische prädikat: “innerhalb” auswählen, hinzuzufügende Felder: Name oder PLZ, und dann neuen layer (temporär) erstellen.

dann sind die straßen mit den orten verschnitten (ein paar straßen vielen bei meinem test aus und haben komischerweise kein neues attribut bekommen, 62 von 1565 teilstücken). das war eine herangehensweise für fortgeschrittene-anfänger, profis würden bestimmt nicht soviel einzeln umwandeln und wieder zusammenführen etc.