OSM Kartenserver in lokalem Netzwerk und QGIS

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

Dann brauchst Du eigentlich gar keinen Server, sondern solltest die png Dateien direkt per “file://” URL lesen können.

Das GDAL_WMS XML unverändert (mit ServerUrl http://tile.openstreetmap.org/${z}/${x}/${y}.png)) funktioniert bei mir.

Gruß,
Norbert

Genau, das, funktioniert natürlich, ich kann die einzelnen pngs im Browser per file://[lokaler Pfad]/z/y/x.png anzeigen.

Ich möchte meine Offline-Tiles aber so in QGIS verwenden, wie wenn ich OSM online per Openlayersplugin in QGIS nutze.

Ha, jetzt noch mal etwas mit EPSG-Codes rumgespespielt, die Online-Map wird mir über die genannte XML-Datei von 3liz nun korrekt angezeigt.

Mit meiner Offline-Map funktioniert es noch nicht fehlerfrei. Sie wird in falschen Farben und verzerrt angezeigt. ich denke, da muss ich die XML-Einstellungen noch optimieren. Aber das scheint ein vielversprechender Weg zu sein!

So, mit meinen Tiles auf dem eigenen Laufwerk komme ich immer wieder auf das gleiche Problem wie dieser User hier:

http://gis.stackexchange.com/questions/81114/gdal-tms-wms-mini-driver

Das scheint auch nicht so einfach zu lösen zu sein, nur über einen lokal aufgesetzten Webserver…

Nun hab ich XAMPP installiert und den Rootpfad in der httpd.conf auf den Kartenordner angepasst.

Wenn ich in der XML-Datei nun die Server-URL dementsprechend ändere…

<ServerUrl>http://localhost/${z}/${x}/${y}.png</ServerUrl>

…und die XML in QGIS als Rasterlayer einlade, werden meine Tiles korrekt angezeigt.

Dazu hilft dann noch das Tile Map Scale Plugin, dass QGIS automatisch die richtigen Zoomstufen verwendet, dass die Tiles nicht so verwaschen aussehen und insbesondere die Schrift lesbar angezeigt wird.