OSM Kartenserver in lokalem Netzwerk und QGIS

Hallo zusammen,

ich bin auf der Suche nach einer Lösung für folgendes Problem:

Ich möchte OSM in QGIS (als WMS/WTS) bzw. über den Browser als Kartenserver nutzen, wobei die OSM-Daten für den Bereich von Interesse lokal im Netzwerk gespeichert werden (es steht an den Rechnern dann keine Internetanbildung zur Verfügung). Die Darstellung der OSM-Daten soll vom Style her wie beim OSM-Webserver bzw. wie bei Geofabrik erfolgen.

Ich habe schon viel gelesen und ausprobiert, aber leider noch keine zufriedenstellende Lösung gefunden.

Folgender ungefährer Prozess schien mir bisher bei allen Lösungen zugrunde zu liegen:

Genutzt werden pbf/osm-xml-Daten von Geofabrik.

Diese müssen in eine Datenbank importiert werden (SQlite/Postgresql/etc). Ich muss dazusagen, dass ich kein Experte bzgl. Postgresql bin und es hier viele Fehlermeldungen gab.

Ich brauch eine Style-Datei, um zu sagen, wie die Daten dargestellt werden sollen.

Die Daten werden gerendert, unter Anwendung des Styles, in Kacheln (Tiles) zerlegt, dazu verschiedene Zoomstufen.

Ich brauche einen Webserver (Apache o.ä.?) in irgendeiner Form, auf dem die gerenderten Kacheln angezeigt werden können.

Über WMS/WTS oder was auch immer möchte ich die Karte für mein Gebiet auch in QGIS / ArcGIS sehen können.

Ich suche dafür eine möglichst einfache Lösung, die OSM-Daten offline nutzen zu können und auch in ArcGIS/ QGIS mit schönem Style angezeigt zu bekommen.

Hab schon viel ausprobiert, auch viele Tutorials für mod_tile, mapnik etc, aber irgendwo gab es immer irgendwelche Probleme, wo ich nicht weiter kam, hauptsächlich wg. irgendwelcher Package-Abhängigkeiten, nicht mehr gepflegten Teilpackages oder fehlender Verfügbarkeit von benötigten Packages.

Eine einfache All-in-One-Lösung ist mir bisher leider nicht bekannt, Map in a box wird nicht mehr gepflegt.

Hat jemand einen Tipp für mich?

Vielen Dank!

Katze

Hallo Katze,

herzlich willkommen im Forum.

Zwei Tipps: http://switch2osm.org/ und der osm-dev-IRC.

Viele Grüße

Michael

Moin,

ich habe mir - mehr oder weniger - genau die selbe Aufgabe gestellt und bin inzwischen auch ein gutes Stück weit gekommen. Genau genommen fehlt “nur” noch der WMS/TMS für die Datenweitergabe an QGIS. ich kann gerne versuchen Dir zu helfen, aber ich habe als erstes zwei Fragen: Ist es zeitlich eilig bei dir? Und: Welches Betriebssystem setzt Du ein - ich habe den Server auf UBUNTU 14.04 laufen und bin bisher an keinerlei Paketabhängigkeiten o.ä. gescheitert.

Gruss,
Stefan aka nordie69

So wars bei mir auch, ich hab zuerst 14.10 versucht, aber das klappt nicht (weil das kakrueger-PPA nur für 14.04 Pakete hat). Dann 14.04, und es läuft, ich musste nur die Timeouts für mod_tile anpassen (ist ne schwachbrüstige VM, die ich nur zum Testen nehme).

Ich habe nicht das ka-krueger-package genommen sondern mir das alles einzeln vorgeknöpft. Das hat mein Verständnis für die ganze Sache deutlich nach Vorne gebracht und ich konnte mich schrittweise durcharbeiten ohne eine Blackbox vor mir zu haben, die ich nicht verstehe. :slight_smile:

Also, wenn ich Rede und Antwort stehen kann zu diesem Thema dann sehr gerne. Siehe dazu meine beiden Fragen an den ursprünglichen Fragesteller :wink:

Stefan

Hallo zusammen,

erst einmal vielen Dank für die zahlreichen Antworten und den netten Empfang :slight_smile:

Ich muss sagen, dass ich bisher hauptsächlich Windows-Nutzer war. Seit einiger Zeit probiere ich mich an Linux (Debian Wheezy auf meinem Pi, Linux Mint 17 auf Laptop/PC). Da sollte es testweise dann auch erst mal drauf laufen, auf dem PC bzw. Laptop.

Zeitdruck habe ich nicht. Hab die Komplexität der Thematik unterschätzt, aber durchaus das Interesse, da tiefer einzusteigen, um es zum Laufen zu bringen. Insbesondere was Datenbanken angeht etc. hab ich wohl Nachholbedarf :smiley:

Meine bisherigen Bemühungen fußten u.a. auf:

http://wiki.openstreetmap.org/wiki/DE:Ubuntu_tile_server#Installation
http://wiki.fse.uni-due.de/index.php/Howto:_Eigener_Maptile_Server
http://www.freietonne.de/mediawiki/Hauptseite_Freietonne%20+%20ModTile%20unter%20Ubuntu%20-%20FreieTonne-Wiki.pdf
http://switch2osm.org/serving-tiles/building-a-tile-server-from-packages/
https://www.mapbox.com/tilemill/docs/guides/osm-bright-ubuntu-quickstart/
http://www.christoph-ziehr.de/doku.php?id=computer:webdesign:tileserver
https://github.com/mapbox/osm-bright
http://switch2osm.org/serving-tiles/manually-building-a-tile-server-14-04/

Morgen abend werde ich mich mal daran setzen, meine Vorgehensweise bzw. Probleme etwas genauer / detaillierter zu schildern.

@ Nordie69: Ja, da stimme ich zu, selber step-by-step vorzugehen hat sicher einen höheren Lerneffekt als die Blackbox! :slight_smile:

Vielen Dank!

Katze01

Moin,

Ich empfehle Dir dringend auf UBUNTU LTS Trusty Tahr 14.04 umzusteigen. Die Server des OSM Projektes laufen meines Wissens alle unter UBUNTU und ich bin sehr zufrieden mit diesem System, nachdem ich “damals” viele Jahre unter SuSE Linux gearbeitet hatte. Vorteil ist bei dem LTS, dass diese Serverversion noch 4 Jahre unterstützt werden wird, also keine Probleme mit irgendwelchen Packages (LTS = Long Term Support). Weiterhin empfehle ich Dir, nicht imposm als Importer zu verwenden, auch wenn das Ding wirklich schnell ist, sondern beim osm2pgsql zu bleiben, weil ein deutlicher Teil der Map-Styles NICHT für imposm Datenbankschemata ausgelegt ist. Auch sind Updates aufgrund von Diff-Files meines Wissens nach (noch) nicht möglich. Ich habe deswegen mich auch wieder osm2pgsql zugewandt um in diesem Bereich keine Probleme zu bekommen.

Ich kann Dir - wenn Du willst - schrittweise beschreiben, wie ich vorgegangen bin und dann kannst Du versuchen das nachzuvollziehen.

Gruss,
Stefan

Als Katzenfreund (hab vier von den “Biestern”) zwei Fragen:

die OSM-Daten für den Bereich von Interesse” - wie groß und wie statisch ist der denn?
Statisch in dem Sinne, ob sich die Fläche nachher oft ändert und auch wie aktuell die Daten denn sein müssen.

Davon hängen sehr stark die zu empfehlende Vorgehensweise und die zu verwendenden Tools ab.

Und “in QGIS (als WMS/WTS)” - muss das sein?

QGIS kann die Tiles, die du eh für den Browser erstellen musst, ebenfalls anzeigen. Dafür braucht man keinen WMS/TMS-Server zu installieren. Ein OSM-Tileserver reicht für beide. Stichwort: QGIS Openlayers-Plugin. Dem braucht man “nur noch” zu sagen, dass er den lokalen Tileserver verwenden soll.

Gruss
walter

Moin,

ich habe unter Windows sehr gute Erfahrung mit dem “http://geoserver.org/” gemacht.

Dann noch die POSTGIS DB unter Windows installieren und du kannst über das Netzwerk auf dem WMS Server zugreifen.

Entweder mit QGis oder per Browser mit einem GIS Javascript Library deiner Wahl (Openlayer, Leaflet).
Dafür musst du dir dann aber noch einen lokalen Webserver installieren. Hier kann ich dir dann XAMPP empfehlen.

Bei Fragen kannst du mich natürlich immer gerne anhauen.

Viele Grüße,

Markus

Ich hätte da interesse daran. Wie kann ich mit dem Geoserver einen WMS aus einer Postgredatenbank erstellen?
Gibt es dazu eine Wikiseite?

Meine größte Frage beim drüber nachdenken war “Wie kriege ich geoserver dazu, den Mapnik-Stil zu rendern?”, und da gibt es wohl https://github.com/dwins/mapnik2geotools , mit dem man ein SLD erzeugen kann, das der Geoserver lesen kann.

Wikiseite kenn ich nicht. Aufgesetzt habe ich das noch nicht, bloß ergoogelt, und es sieht machbar aus.


    Install SBT. See the instructions at http://simple-build-tool.googlecode.com/
    sbt update to fetch dependencies
    sbt compile to build everything
    sbt run to run the gui, or sbt run-main me.winslow.d.mn2gt.Driver mapnikmap.xml for batch mode conversion (see options below)

Das sieht mir dann aber doch wieder stark nach Linux aus. Der Charme war ja gerade das unter Windows zu haben und aus einer postgredatenbank zu speisen.

http://www.scala-sbt.org/release/tutorial/Installing-sbt-on-Windows.html behauptet, es gäbe einen SBT-Installer für Windows.

Also eine Anleitung wie es unter Windows geht findet Ihr hier.

http://blog.geoserver.org/2009/01/30/geoserver-and-openstreetmap/

Wenn man sich da ein bisschen einließt sollte man schnell zu einem Ergebnis kommen.

Viele Grüße,

Markus

mapnik2geotools geht auch unter Windows, allerdings weiß ich nicht, ob das mit dem aktuellen CartoCSS-basierten Stil noch geht. Das Tool wurde für einen Uralt-Mapquest Stil geschrieben und unterstützt noch nicht alle Eigenschaften. Ich hatte mal angefangen, das für den OSM Stil auszubauen, das aber irgendwann abgebrochen, trotzdem evtl. besser mit meinem Branch versuchen.

Alternativen gibt es auch (nicht getestet):
https://github.com/MarkwareDOTNet/SLD-s

Ich vermute aber mal, dass die meisten was die Details angeht nicht an den Original-Stil rankommen. Heutzutage würde man eher einen CartoCSS → GeoServer CSS Konverter haben wollen.

Reicht da lokal nicht der eingebaute Server (Jetty), der auch für die Vorschau verwendet wird? Das war für mich mal der große Vorteil gegenüber Mapnik. Bei cross-domain Problemen im Browser könnte evtl. eine CORS Konfiguration helfen?

Generell hängt die Wahl für eine Offline Rendering Lösung auch von den verfügbaren Stilen und den eigenen Ansprüchen daran ab. Wenns genau wie auf osm.org aussehen soll, führt an Mapnik wohl kein Weg vorbei.

Ansonsten ist der Mapsforge Tile Server glaube ich mit die einfachste Möglichkeit, siehe Nachbarfaden Openlayers mit Vektorkarte.

@katze01: Hier http://forum.openstreetmap.org/viewtopic.php?pid=481934#p481934 kannst du eine Karte mit QGIS sehen, wo OpenLayers als Hintergrund verwendet wird. Oben drüber Daten aus PostGIS.

Gruss
walter

Ja, eigentlich zielt die zweite Frage genau auf das ab, was ich möchte :slight_smile:

Einen OSM-Tileserver offline bzw. ohne Internetanbindung ans laufen bekommen (localhost/später evtl. mal Netzwerk). Die Tiles habe ich, im Slippymapformat. Sie sollen in QGIS anzeigt werden. Der Bereich von Interesse ist NRW. Aber wie kriege ich den Tileserver jetzt am einfachsten ans laufen? Und welchen nehmen?

http://www.3liz.com/blog/rldhont/index.php?post/2012/07/17/OpenStreetMap-Tiles-in-QGIS
und
http://www.naviboard.de/vb/showthread.php?t=57617
sehen erst mal vielversprechend aus.

Die erste Version mit der XML-Datei habe ich ausprobiert, aber die png wird nicht korrekt angezeigt, egal, ob ich offline oder online habe.

Dazu schau ich mir jetzt mal den Mapsforge tileserver an.

Wäre Geoserver auch für mich jetzt eine Alternative, die infrage kommt? ich möchte KEINE tiles neu rendern, ich habe sie. Ich möchte die vorhandenenen, offline gespeicherten Tiles mit verschiedenen Leveln so darstellen, dass sie vernünftig in QGIS sichtbar sind.

Moin,

was Du machen willst ist recht einfach möglich, allerdings habe ich imposm verwendet und dafür gabs auch einen passenden Style aus dem ich mir einen Layer “basemap” zusammengestellt habe: http://maps.geo.hu-berlin.de/geoserver/web/ - flott arbeitet das aber nur für kleine Bereiche, ganz Deutschland zu rendern dauert sehr lange. Und von der Anzahl der Features die gerendert werden ist es auch nicht mit Mapnik oder so vergleichbar.

LG,

-moenk