Lokaler TileGenerator mit Maperitive unter Windows

@ viw & ikonor
Vielen Dank für Eure Erläuterungen.
Das ist mir im Moment dann doch zu komplex.
Da bleib ich wirklich lieber bei Maperitive und schaue mal, was sich alles so anbietet, um damit gerenderte Rasterkarten-Kacheln am PC anzeigen zu lassen, am besten noch mit der Möglichkeit, durchsichtige Kartenlayer einzublenden.

NRW.osm.pbf schluckt Maperitive auf dem großen Rechner problemlos, obwohl da wegen der Ballungsgebiete an Rhein und Ruhr eine Menge Daten drin stecken. Also da kommt man dann schon wirklich weit mit. Und wenn ich über einer Grundkarte besondere Informationen anzeigen möchte, filtere ich den Planet-File-Auszug vor dem Rendern. Das beschleunigt das Erzeugen der Overlaykarte.

Gruß
tippeltappel

Hallo,
würde das Problem durch eine Option gelöst werden, das bei Osmosis “CompleteWays” heißt?

Hi Marqqs
Ich vermute, daß das nicht ganz zum Ziel führen wird. Ich kenne mich mit Osmosis aber nicht aus und weiß daher nicht, was dieser Befehl außer dem Vervollständigen abgeschnittener Wege noch bewirkt.
In JOSM kannst Du Dir folgendes ansehen:

  • Die Bonner Südstadt so heranzoomen, so daß oben rechts im Fenster ein kleines Stück vom Rhein und mit der Ecke ein winziger Zipfel von Bonn Beuel erfaßt wird.
  • Download

Rheinufer re und links jeweils als über die Grenzen der BBox hinaus laufende Linie, deren Endpunkte jeweils verbunden werden und zwei sich schneidende Flächen bilden;
Flußlinie weit über die Grenze der BBox verlängert;
landuse residential (Bonn-Beuel) komplettiert und korrekt als Fläche dargestellt;

Die Wege werden also automatisch vervollständigt. Und wenn sie geschlossen sind ergibt sich daraus auch ganz korrekt die Fläche.
Bei den beiden Uferlinien entsteht die erwartete Fläche nicht. Da ist irgendetwas anders.

eine Uferlinie angeklickt > Eigenschaften kontrolliert
Aha! > Multipolygon 9 Elemente, unvollständig, outer
Rechtsklick auf diese Eigenschaft > Menü > Menüpunkt “unvollständige Elemente herunter laden” >
Nachdem alle Elemente komplettiert wurden, wird dieser Rheinabschnitt korrekt angezeigt.

Fazit:
Das Vervollständigen der Wege allein reicht nicht.
Wenn die Umrandung der Fläche aus mehreren Wegen besteht, muß die Flächenrelation vervollständigt werden. Ansonsten bleiben die außerhalb der Box liegenden Wege, die die angeschnittene Fläche umschließen, unberücksichtigt.

HG
tt

EDIT
P.S. Wenn Du ein Kommando “complete-relations” entwickelst, wäre es gut, zwischen den verschiedenen Relationstypen zu unterscheiden. Außerhalb der Box liegende Mitglieder einer Routenrelation sind ja z.B. uninteressant.

Dein Fazit hängt davon ab, wie ein Renderer mit (mehrfach) nicht geschlossenen Flächen(-Relationen) umgeht. Dafür ist JOSM nicht unbedingt die Referenz-Implementierung. Dein Beispiel ist auf jeden Fall gut geeignet, um die Problematik zu veranschaulichen.

Wenn man nach Relationstypen unterscheidet, kann man sich die Frage stellen:
Sind Inner-Flächen, die komplett außerhalb der BBox liegen notwendig?

Edbert (EvanE)

Auf einer mit Maperitive und einer mit MapComposer (mkgmap) gerenderten Karte sah das Ergebnis bei ähnlicher Konstellation im Prinzip genauso aus. Andere Renderer hab ich nicht installiert.

Da Inner-Flächen, die komplett außerhalb der BBox liegen, nicht angezeigt werden, kann ich keinen Sinn darin erkennen, sie in die Vervollständigung einzubeziehen.

Alle Mitglieder eines Multipolygon zu laden ist gegebenenfalls einfacher als selektiv nur die Outer.
Dazu kommen natürlich noch die Inner mit mehreren Wegen, welche nicht alle in in deiner BBox liegen.
Und wie findest du heraus, welche noch nicht geladenen Inner-Wege die unvollständigen Inner ergänzen?

Genau da liegt das Problem, weswegen es einfacher sein kann, alle Outer und Inner zu laden.
Es ist leider manchmal nicht so einfach, wie man sich das wünscht.

Edbert (EvanE)

Hallo

mit der Integration einer VektorMap in MOBAC sieht es wohl in naher Zukunft nicht so vielversprechend aus http://sourceforge.net/apps/phpbb/mobac/viewtopic.php?f=4&t=39

Eventuell bleibt der Notnagel bzw. die Weiterentwicklung von Maperitive die einzige Alternative auf der Windowsschiene. Das Mapnik aufsetzen schein mir für den OTTOnormalverbraucher doch zu aufwändig zu sein.

MfG
Achim

Ps: Was kann man für eine Karte undbedenklich aus dem OSM bzw bpf File rausschmeißen (Autor,…) und mit welchen TOOLs (OSMCONVERT, OSMFILTER,OSMOSIS…)
Hintergrund:Ich möchte zum Beispiel baden-wuerttemberg.osm.pbf so ausdünnen, dass man mit Maperitive ganz BW rendern kann und dann erst TILES (Gebiete) erstellen?

Wow, danke! Das war eine prima Erklärung. Ich denk, ich hab das Problem nun verstanden. Dann bräuchtest du eine Funktion wie “completeRelations” bei Osmosis. Ganz schön aufwändig - aber wenn mir etwas Brauchbares dazu einfällt, meld ich mich.

Es hängt immer davon ab, was du auf deiner Karte sehen willst! Wenn du nicht an ÖPNV interessiert bist, dann kann alles raus was public_transport als key hat oder route=bus tram railway etc.
solltest du kein Interesse an Gebäuden haben, dann spart dies viel Speicher in dem du alles mit Building raus schmeißt.
Vielleicht interessiert dich auch keine Landnutzung. Dann immer raus mit landuse. Warscheinlich werden keine Shops und Ärzte dargestellt. Also immer raus mit Healthcare und shop. Dann bieten sich amenity=vending_machine und doctors ebenfalls zur Löschung an.
Ansonsten mach doch einfach eine Vergleich mit den Schlüsseln die vorkommen und jeden die du wirklich auswertest. Insbesondere bei Relationen könnte da noch einiges bereinigt werden turnrestriction und TMC. Aber auch maxspeed und maxheight und andere maxwerte fürs Routing.

Edit: Als tools würde ich auf osmfilter/osmconvert zurückgreifen, da sie erstens sehr schnell sind und zweitens die Filter auch in Textdateien vorbereitet werden können. Damit werden die Befehle übersichtlicher und die Konfiguration leichter.

Außerdem gibts noch Relationen vom Type collection site und ähnliche Sammelrelationen, welche mit sicherheit nicht in der Karte dargestellt werden.

Hallo

…da wird doch immer der kompletten Knoten (NOde) entfernt, oder?. Kann man da auch einzelne Attribute rausschmeissen bzw. überflüssige Subtags zB.: etc? Oder umgekehrt kann man eine Schablone erstellen was drin beleiben soll.

ZB;
===> version=“2” raus
======>raus

Hintegrund der Frage sind die Renderrules von Maperitive. Ich brauche ja nichts was nicht in den Renderregeln ausgewertet wird und das möchte ich eben vorher rausschmeißen wegen der Größe.

MfG
Achim

In Kürze:

–keep=, --drop= beziehen sich immer auf ganze Objekte (nodes, ways, relations) und lassen diese drin bzw. schmeißen sie raus.

–keep-tags=, --drop-tags= beziehen sich immer nur auf einzelne Tags und lassen diese Tags drin bzw. schmeißen sie raus, sie löschen keine Objekte.

Am besten, du experimentiert mit einer kleinen OSM-XML-Datei, die du von Hand editierst, und schaust, was nach dem Filtern drinbleibt. Wichtig ist übrigens auch das Schlüsselwort “all”, das du direkt nach dem “=” schreiben kannst, um eine UND-Verknüpfung zu bewirken. Beispiel:
–keep=“all type=route route=bus”

Da ist Qlandkarte allerdings etwas sperrig. Die verfügbaren Tile-Quellen sind dort leider fest einprogrammiert.

GPSprune ist in den aktuellen Versionen leider auch wenig kooperativ.

Bei viking kann man auch eigene Quellen definieren. Mit einem lokalen apache-Server kann ich dann über http://localhost drauf zugreifen. Bei meinem osmviewer/gpxviewer klappt das auch mit file:/// ganz ohne apache:
http://wiki.openstreetmap.org/wiki/User:Ajoessen/Osmviewer_und_GPXviewer

Also Anwendungsmöglichkeiten gibt es!

Gruß,
ajoessen

… also wenn es nur um die Darstellung der erzeugten Tiles von Maperitive geht geht es einfach in MOBAC in dem man unter mapsources den Tilepfad konfiguriert: zB.:

<?xml version="1.0" encoding="UTF-8"?>
<!-- Map source name as it appears in the map sources list. --> 
<name>womisa Maperitive-Beta </name>

<!-- 
  Directory in which the existing atlas is located.
  Inside the specified folder the different zoom level directories have to present.
  
  Structure example: 0/0/0.png for the "world tile" on zoom level 0   
-->
<sourceFolder>D:\www\_GPS\Maperative\Beta\Maperitive-1.1.2001\Maperitive\Tiles</sourceFolder>

	
<backgroundColor>#000000</backgroundColor>

MfG
Achim

Der Vollständigkeit halber: Die Tourenverwaltungsprogramme myToorbook und bikeXperience laufen bei mir auch mit lokalen Tiles.

Gruß,
ajoessen

… und um noch einen drauf zu setzen:

In Quantum Gis und Qlandkarte GT geht es (jetzt) auch:

Quantum GIS benötigt das openlayers Plugin von http://build.sourcepole.ch/qgis/plugins.xml
In diesem gibt es eine osm.htm, in der man den Pfad von den openstreetmap.org Servern auf http://localhost/ oder file:/// umbiegen kann. Für den localhost braucht man einen lokalen Apache Dienst, entweder direkt von apache, im mapserver for Windows Paket oder OSGeo4W-Paket.

Bei Qlandkarte Gt kann man in der Version 1.3.0 eine zusätzliche URL hinzufügen, wenn man unter “Karten” auf “–OSM–” doppelklickt. In der Version 1.3.2 kann man unter “Stream” eine zusätzliche URL eintragen.

Gruß,
ajoessen