chris66
1
Moin,
wer kann mir einen guten Einstiegslink geben zum Thema shape-Files aus OSM generieren?
Grüße
Chris
wambacher
(Walter Nordmann)
2
Mit welcher Plattform? Software? Sprache?
Gruss
walter
Ich programmiere in Java (richtiges Java, nicht JavaScript! )
Und da verwende ich die GeoTools http://geotools.org/GeoTools
Der Einstieg ist nicht leicht aber wenn man das erstmal geschnallt hat, geht es ganz easy.
Und die anderen Formate, die man so kennt, sind auch dabei. z.B. geoJson, KML, …
dooley
(Dooley)
3
chris66
4
Optimal wäre ein Online-Tool, wo ich sagen kann: Exportiere mir mal alle Straßen (zB.) innerhalb einer BBox als Shapefiles.
Alternativ: Ein Windows Tool zum konvertieren von OSM nach shape.
Chenshi
(Chenshi)
5
QGIS + Erweiterung: QuickOSM → speicher als shape file
https://www.youtube.com/watch?v=aLmMovuydqI
chris66
6
Danke, demnach geht es auch mit OSMIUM. Gibt es dafür fertige Windows-Builds?
Nakaner
(Nakaner)
7
Hallo,
Was auf der Wikiseite zu Osmium stand, bezog sich auf das alte Osmium 1.x. Osmjs gehört zum alten Osmium. Osmium 2.x kann das auch. Wenn man aber richtig gute Shapefiles erzeugen möchte, muss man selber Zeit investieren und mit den Möglichkeiten der Libosmium-Bibliothek und gdalcpp.hpp selber seinen Konverter schreiben.
Ich habe die Wikiseite soeben aktualisiert.
Das Continous-Integration-Tool AppVeyor baut für jeden Commit Binaries für Windows (mit dem Ziel, zu prüfen, ob die Unit-Tests durchlaufen). Diese Builds sind aber nicht offiziell, d.h. wenn etwas kaputt geht und keiner es beheben kann, bleibt es kaputt. Siehe dazu auch https://github.com/osmcode/osmium-tool/issues/59
Viele Grüße
Michael
chris66
8
Hört sich für mich so an, dass der Weg via QGIS der bessere ist?
Hab die 2.18.16 - 64bit mal installiert…
gormo
9
Das ist auf jeden Fall eine gute Idee, aber bedenke bitte die inhärente Beschränkung der Datenfeldnamenslänge in Shapefiles [1].
[1] https://gis.stackexchange.com/questions/15784/how-to-bypass-10-character-limit-of-field-name-in-shapefiles
wambacher
(Walter Nordmann)
10
Aber das ist doch total unabhängig davon, womit das Shape erzeugt wird, oder?
Gruss
walter
wambacher
(Walter Nordmann)
11
Hi Chris,
das hängt mMn davon ab, was du eigentlich willst und wie du das Ganze implementieren willst.
Also WER das dann WIE von WO aus verwenden soll.
Klar, es gibt dutzende Programme, die Shapes erzeugen können, aber mir ist immer noch unklar, was du eigentlich machen willst.
QGIS z.B. ist primär interaktiv, d.h. nur du kannst damit Shapes erzeugen. Man kann QGIS aber auch mit Python-Scripts aufrufen, die dann den Job machen.
Lass mich nicht weiter raten.
Gruss
walter
gormo
12
Ja. Das ist das Format. Aber man muss es im Kopf haben, wenn man “railway:milestone:emergency_brake_override” o.ä. abfragen und ausgeben will.
OSM-Daten eignen sich nicht so besonders für Shapefiles.
QuickOSM liest als Zwischenformat aber shapefiles, d.h. man kriegt für https://overpass-turbo.eu/s/weI mit QuickOSM:
wkt_geom full_id osm_id osm_type railway railway_po railway_mi note_1 railway__1
Point (...) n1998351202 1998351202 node milestone 15.0 no keine NBÜ no
Point (...) n1998351212 1998351212 node milestone 14.4 yes
Point (...) n4336140357 4336140357 node milestone 14.2 yes
Point (...) n4336140358 4336140358 node milestone 14.0 yes
Point (...) n4336140360 4336140360 node milestone 13.8 yes
Point (...) n4336140361 4336140361 node milestone 13.6 yes
Point (...) n4336140363 4336140363 node milestone 13.4 yes
Also vllt. doch keine so gute Idee!
wambacher
(Walter Nordmann)
13
Stimmt, wenn man damit die Tags meint.
Ich hab ja damit auch ein Problem bei den Shape-Exports der Boundaries Map.
Einerseits kann ich nicht alle Tags in EIN Feld packen, da der String dann i.d.R viel zu lang ist und anderseits kann ich nicht für jeden Tag ein eigenes Feld aufmachen, da die Anzahl der Felder ebenfalls limitiert ist.
Als “Lösung” hab ich die mMn wichtigsten Tags ausgegeben, was aber immer wieder zu Nachfragen meiner “Kunden” führt, wieso für sie wichtige Tags im Shape fehlen würden.
Ich werde das Problem dadurch lösen, dass ich zusätzlich Exporte im GeoPackage-Format anbieten werde, da das ein anerkannter, offener OGC Standard für Spatiale Daten geworden ist. http://www.opengeospatial.org/standards/geopackage
@Chris: macht GeoTools mit links 
Gruss
walter
chris66
14
Das hiesige Stadt-Marketing möchte ein GIS aufbauen (mit QGIS!) und hatte mich gefragt, wie man die OSM Daten da reinbekommt.
ah ja, na dann kenne ich die antwort von wambacher schon 
PS: Mein Weg vor ein zwei Jahren: thüringen full und dann daily in eine postgresql mit postgis per osm2pgsql import und dann in QGis ganz einfach mit dieser DB verbunden. … ach hier sogar noch ein logfile von einem germany latest import auf meinem intel i3 laptop mit 8GB ram … fast 3 Tage 
wambacher
(Walter Nordmann)
16
wirklich? Lass dich überraschen.
Wenn die Stadt ein GIS aufbauen will, wird doch wohl ein Import des Kreises (Stadt + Umgebung) reichen, oder? Und dann sehen die Datenmengen ganz anders aus.
Zu meinem Lösungsansatz:
- Stadt könnte QGIS-Webserver einsetzen. Damit wäre die Frage der Anwendungsoberfläche und des Webservers geklärt. Oder sie manchen es anders - aber das ist eh nicht
unser Chris’s Problem 
- Kreisdaten mittels osm2pgsql in eine kleine Postgresql-DB importieren. Dauer: Minuten.
- Mit QGIS ab und zu Shapefiles erzeugen und lokal abspeichern. Ggf dafür einige Python-Scripte schreiben (lassen).
- Mit QGIS Webserver oder was anderm ins Netz stellen.
ym2c
walter
chris66
17
In der tat geht es nur um Stadt + 10 km, oder so, von daher sollte eine kleine Lösung (Import OSM direkt nach QGIS) gehen.
Habe das Marketing mit meiner Antwort erstmal zufrieden gestellt.