Openstreetmap — Wikidata
Hallo Liste, kennt sich jemand mit wikidata und openstreetmap aus und könnte mir dabei weiterhelfen. Ich würde gerne openstreetmap, wikidata und das Häuser wiki Lippe https://www.lippe-haeuser-wiki.de/wiki/Hauptseite verknüpfen. Habe aber zu wenig Ahnung, um das zu automatisieren. Ich stelle mir vor, dass ich als ersten Schritt alle Straßen in Detmold auch in Wikidata nach dem Straßen Schema anlege. https://www.wikidata.org/wiki/EntitySchema:E317 Nun denke ich, dass die Eigenschaft connects with sich aus openstreetmap herauslesen lässt, wenn man es kann. Also kann ich bei openstreetmap abfragen, welchen Straßen z.B. in Detmold eine Verbindung bzw. Berührung zum Haselnussweg haben? Ich vermute, dass es auch zu kompliziert ist, es in der Mailingsliste zu behandeln, aber für einen Tipp wie ich damit weiterkommen könnte und die nötigen Informationen finden, bin ich dankbar. Liebe Grüße Björn
Hola Björn, On Thu, Jun 12, 2025 at 03:53:11PM +0200, Björn Kruschke wrote:
Hallo Liste,
kennt sich jemand mit wikidata und openstreetmap aus und könnte mir dabei weiterhelfen. Ich würde gerne openstreetmap, wikidata und das Häuser wiki Lippe https://www.lippe-haeuser-wiki.de/wiki/Hauptseite verknüpfen. Habe aber zu wenig Ahnung, um das zu automatisieren. Ich stelle mir vor, dass ich als ersten Schritt alle Straßen in Detmold auch in Wikidata nach dem Straßen Schema anlege. https://www.wikidata.org/wiki/EntitySchema:E317 Nun denke ich, dass die Eigenschaft connects with sich aus openstreetmap herauslesen lässt, wenn man es kann. Also kann ich bei openstreetmap abfragen, welchen Straßen z.B. in Detmold eine Verbindung bzw. Berührung zum Haselnussweg haben? Ich vermute, dass es auch zu kompliziert ist, es in der Mailingsliste zu behandeln, aber für einen Tipp wie ich damit weiterkommen könnte und die nötigen Informationen finden, bin ich dankbar.
Also - das zu automatisieren halte ich für relativ gefährlich. Ist auch nicht so gern gesehen in OSM - Wenn du das weiter verfolgst gehts auch darum genau zu dokumentieren was und wie du das vor hast - Hier ist die Mechanical Edit Policy. https://wiki.openstreetmap.org/wiki/Automated_Edits_code_of_conduct Bezüglich des "Connects" - meinst du die Straße mit namen A kreuzt Straße mit namen B? Keine ahnung ob man das mit Overpass Turbo hin bekommt. Ich würde mir den owl als PBF in eine postgres laden und dann so vorgehen - Nur mal schnell gehackt auf einem NRW export: Boundary von Detmold geholt von osm-boundaries und in die Postgis packen: create table boundaries ( id serial primary key, name varchar, osmb jsonb, geom public.geometry(MultiPolygon,4326) ); \set content `cat OSMB-ca487ae64eed6ded6afe49829c9889fc4ff33ccf.geojson` insert into boundaries ( osmb ) values ( :'content'::jsonb ); update boundaries set geom = ST_Multi(ST_GeomFromGeoJSON(osmb->'features'->0->'geometry')), name = osmb->'features'->0->'properties'->>'name'; Und dann entsprechend die Kreuzungen selektieren: select a.osm_id aid, a.highway ahighway, a.name aname, b.osm_id bid, b.highway bhighway, b.name bname, ST_AsText(ST_Intersection(a.way,b.way)) from boundaries bound join planet_osm_line as a on ( ST_Intersects(bound.geom, a.way) ) join planet_osm_line as b on ( ST_Intersects(bound.geom, b.way) ) where bound.name = 'Detmold' and a.highway <> '' and b.highway <> '' and a.name <> '' and b.name <> '' and 'Haselnußweg' in ( a.name, b.name ) and a.osm_id < b.osm_id and ST_Intersects(a.way, b.way) limit 100; Resultat: aid | ahighway | aname | bid | bhighway | bname | st_astext ----------+-------------+-------------+------------+-------------+-------------+----------------------------- 35340663 | residential | Krokusweg | 35731462 | footway | Haselnußweg | POINT(8.8432215 51.9218607) 35731463 | residential | Haselnußweg | 1223209838 | residential | Römerweg | POINT(8.8448084 51.9215907) 35731462 | footway | Haselnußweg | 35731463 | residential | Haselnußweg | POINT(8.8436812 51.9217497) Flo -- Florian Lohoff f@zz.de Any sufficiently advanced technology is indistinguishable from magic.
participants (2)
-
Björn Kruschke -
Florian Lohoff