Mobac/Osmconvert/Osmfilter/Maperitive/Mobac-Kettenverarbeitung

Hallo

ich habe jetzt mal einen neuen Thread aufgemacht der die Thematik zur Erstellung einer lokalen Map ohne Größenbeschränkung auf einem 32 Bit WindowsSystem hat. Dann gehts vermutlich auch auf nem 64 Bit System. Ich befürchte, dass bald die Forderung nach einem 128 Bit System kommt, denn die OSM Datenbank ist “mächtig” groß. Diese Thematik wurde schon in dem Thread ausgiebig diskutiert und verwässert dort so langsam das eigentliche Threadthema http://forum.openstreetmap.org/viewtopic.php?id=14360 Sorry Markus fürs zwischenfunken und danke für dein Tool
Bevor wir anfangen an jeder Ecke zu frickeln sollte man eventuell versuchen auf die Weiterentwicklung Einfluss zu nehmen, indem man bei den Autoren um erforderliche Grundfunktionen bittet. DieAutoren von MOBAC http://sourceforge.net/apps/phpbb/mobac/index.php und Maperitive http://groups.google.com/group/maperitive sind sehr hilfsbereit. Natürlich auch Markus mit seinem OSMCONVERT/OSMFILTER hier im Forum.
Sollte man nicht auch eine Wikiseite anfangen wo man den Weg zur Erstellung beschreibt und gemachte Erfahrungen festhält?
Giebt es überhaupt grosses Interesse?

In diesem Sinne
Achim

Ps: Ich habe im Maperitive mal wegen den vollständigen Tiles nachgefragt und dort kam die Aussage man soll mal die Option “exclude-partial” beim Comand “generate-tiles” probieren ( help-commands generate-tiles). Igendwie stehe ich da auf dem Schlauch und scheiter an der Syntax der Option. Hat das jemand erfolgreich ausprobiert?

Was das Filtern angeht ist das ja nicht so ganz einfach. Man müßte den gesamten Rulesfile parsen und in Äbhängigkeit vom zu generierenden Level auswerten…
Ich setze da aber eher auf Maperitive in einer zukünftigen Version. Da soll das Problem dur die Verwendung von SQLite gemildert werden.

Ich bin schon mal mit dem jetzt erreichten Einbau der Auswahlbox in MOBAC mit externem Programmaufruf zu frieden und kann da mal mit nem eigenen Programm frickeln, bis ich meinen Bedarf konkretisieren kann.

Jetzt steh ich aber auf dem Schlauch.

Wieso das gesamte Rules-Script in Abhängigkeit vom zu generierenden Level auswerten?

In Maperitive baut man eine RulesDatei in 3 Schritten auf:

  1. Features
  2. Properties
  3. rules

Für den Filtervorgang betrachte ich ausschließlich die Features.
Hier wird unterschieden zwischen points, lines, areas. (Was vergessen? Bin damit noch neu.)
Ist eine dieser Objektarten nicht gefragt, kann man diese schon mal komplett ausschließen.
Ansonsten muß man differenzieren.
Das geht auf unterschiedliche Weise:

  • alles raus, mit Ausnahme von …
  • speziell das und das raus, der Rest darf bleiben

Da bei einer Grundkarte, wie sie mir vorschwebt, nur sehr wenige Punkte enthalten sind, ist der Filter schnell erstellt:

  • alle Punkte raus, mit Ausnahme von place=* und natural=*
    Mit dem Filter behält man dann beispielsweise alle Ortsbezeichnungen, Gipfel und ähnliches.
    Aber die ganzen in Layer auszulagernden POIs sind raus.

Je nach Art der Layer ist es ähnlich einfach, einen dafür passenden Filter zu erstellen.

Eine 1:1-Kopie der Features macht meiner Meinung nach keinen Sinn.
Besser ist, zusammenfassende Kriterien zu finden und mit denen zu filtern.

Gruß
tippeltappel

manche Objekte werden Levelabhängig eingeblendet (Taget: … minzoom:…)

Ja, schon klar.
Aber wieso levelabhängig filtern.
Objekte sind entweder drin oder draußen, egal, ob man sie nun gerade sieht oder nicht.
Für mich seht es so aus, daß Maperitiv erst mal eine zoomfähige Karte erstellt. Und da muß dann alles drin sein, was man braucht.
Anschließend werden von dieser zoomfähigen Karte die Kacheln in den gewünschten oder per Default bestimmten Zoomstufen “abfotografiert”.

Hi

ja aber wenn ich eine Übersichtskarte von ganz Deutschland für den Zoomlevel 5-8 erstellen will und habe ALLES drin was auch in Level 16 eingeblendet wird, dann wird doch der OSM File zu groß und Maperitive packt den nicht zum Rendern.

Naja gut, verstehe - das ist für mich so etwas wie eine “Themenkarte” aus der man halt alles rausschmeißt, was man nicht braucht.

Habe soeben inkscape gefunden http://www.chip.de/downloads/Inkscape_15274752.html
und damit die SVG-Datei geöffnet. Merkwürdigerweise ist mit diesem Dateiformat auf meinem Rechner der InternetExplorer verknüpft. Dadurch hab ich erst nicht geschnallt, wie die Sache gemeint war. Aber jetzt läuft’s.

Ist ja faszinierend, was mit dem Programm geht!

Für eine Legende kann man sich in JOSM eine lokale Datei anlegen, in der alles enthalten ist, was erklärt werden soll, rendert diese OSM-Datei mit Maperitive, gibt das Ergebnis als SVG aus und kopiert die so entstandene Legende in die Karte. Klar braucht das Zeit. Alles eine Frage der Zielsetzung sowie von Aufwand und Nutzen.

Jetzt muß ich nur noch herausfinden, welche Befehle man in einem Script zusammenstellen muß, damit man den Kartenausschnitt unabhängig vom Bildschirmfenster definieren und in einem bestimmten Maßstab ausgeben kann.

Feine Sache! :slight_smile:

Hi

schau mal das “set-geo-bounds” Comando an oder teste das zuerst interaktiv. Rechte Mousetaste im Kontextmenü (Maperitive build 2001 erforderlich!)
Du weißt aber, dass MOBAC auch einen Druckatlas bis A0 erstellen kann…

Nein, weiß ich nicht.
Im Moment ist es mir zu viel, auch noch Mobac aufzusetzen.
Möchte erst einmal die Möglichkeiten von Maperitve kennen, bevor ich etwas Neues ausprobiere. Maperitive ist ein Programm, von dem ich bis vor kurzem nicht mehr kannte, als seinen Namen. Und von Inkscape wußte ich nicht einmal, daß es das gab.
Also alles der Reihe nach. Sonst geht am Ende nur alles durcheinander. :slight_smile:

Mit dieser Vorlage kam ich nicht weiter, weil da keine Koordinaten enthalten sind.
export-bitmap zoom=15 file=output/test.png width=3000 height=3000 scale=3
http://wiki.openstreetmap.org/wiki/DE:Maperitive

Und daraus wurde ich auch nicht schlau:

export-svg
[file=]
[bounds=]
[zoom=]
[map-scale=]
[compatibility=<Inkscape/Illustrator>]
[compressed=<true/false>]
[copy-images=<true/false>]
[scale=]
[ai-autorescale=<true/false>]
[precision-typo=<true/false>]

http://maperitive.net/docs/manual/Commands/ExportSvg.html

Hi tippeltappel

bei MOBAC mußt du nichts installieren wen Java drauf ist. Du kannst Paper Atlas PDF und PNG erzeugen. Bei PDF kannst du dan leich mit “Foxit Reader” über das PDF zeichnen schreiben etc. Das Ganze geht bis A0. Ich habe aber nur mit Kartenausdruck für Wanderungen A4 Format “geübt”.

Ich habe mal testweise eine Karte von mir in PDF gewandelt und was sinnloses drüber gemalt. Ich weiß ja nicht was dein Ziel ist. Aber wenn du mal das in MOBAC drin hast kannst du da vieles Genieren und leicht auswählen. Iits easy…

==> http://augilabs.de/osm/bild/maperitive_test.pdf

Hmmmmmmm - gut und schön.
Aber im Moment weiß ich einfach nicht, wo ich hin packen muß, damit die von mir generierten Karten auftauchen usw.

In MOBAC mapsources-Ordner eine xml-Datei
mit folgendem Inhalt anlegen:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <localTileFiles>
        <name>Local</name>
        <sourceFolder>G:\Maperitive\Tiles</sourceFolder>
        <backgroundColor>#00000000</backgroundColor>
    </localTileFiles>

logisch Ordner für Mapritive anpassen.

Und schon kannst du den Standard-Ordner von Maperitive zugreifen.

Prima! Hat geklappt :slight_smile:

Wär natürlich schön, wenn ich das mit der *.svg auch noch klappen würde, weil ich die Bearbeitungsmöglichkeiten so schön finde.

Was ich vor habe? Eine vorbereitete Tour auf einer schönen Karte ausdrucken. Ich hab immer eine Wanderkarte in großem Maßstab in der Tasche, trotz GPS.
Da wär’s halt nett, wenn ich meine eigene Karte mit all meinen Lieblingsrouten schön anzeigen und ausdrucken könnte. :slight_smile:
Macht halt mehr her, wenn man die im Reiterstübchen auf dem Tisch ausbreiten kann als nur so’n winziges Display. :smiley:

Hi

du kannst natürlich auch deine GPS gpx Route in Maperitive anzeigen.

Wenn du GPX Routen planen/bearbeiten und anzeigen willst kannst du mal nach “GPSPRUNE” schauen. Das ist dafür sehr gut geeignet. Ist ein Java Programm und braucht nicht installiert werden.

Hi

ich habe mal ein wenig mit dem Script gespielt…ist aber noch nicht Rund

  • Befehl ins Toolmenü von Mobac (Version 19.2 tools test3) eitragen im MOBAC Ordner ein subdir tools und XML-File erstellen zB.:mobactest.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> osmconvert cmd.exe /c start d:\www\_MyMap\batch\mobac.bat MIN_LON MIN_LAT MAX_LON MAX_LAT MIN_ZOOM MAX_ZOOM MAPSOURCE_NAME MAPSOURCE_DISPLAYNAME NAME_EDITBOX true

dann mobac.bat File erstellen:

pushd d:\www_MyMap\batch
…\OsmConvert\osmconvert ^
–drop-author ^
–complete-ways ^
…\bpf\baden-wuerttemberg.osm.pbf ^
-b=%1,%2,%3,%4> ^
…\osm%9.osm
makeScript.bat %1 %2 %3 %4 %5 %6
rem exit

makescript.bat erstellen:

@echo clear-map>yy.mscript
@echo use-ruleset alias=womisa>>yy.mscript
@echo load-source “D:\www_MyMap\osm\maperitive.osm”>>yy.mscript
@echo set-geo-bounds %1,%2,%3,%4>>yy.mscript
@echo generate-contours>>yy.mscript
@echo generate-tiles minzoom=%5 maxzoom=%6>>yy.mscript

Natürlich müssen Pfade/bpf-Datei angepasst bzw relativiert werden.

Dann in MOBAC ne Karte wählen Level selektieren Level vom Grid sollte 12 oder so sein. In MOBAC dann Tools==>osmconvert aufrufen.
Zum test in Name: maperitive eintragen später kann das beliebig gewählt werden und mit dem “NAME_EDITBOX” Parameter im Batch verwendet werden

Es wird mit osmconvert der entsprechende Bereich ausgeschnitten und ein yy.mscript File erstellt.

Maperitive starten und unter File==> Run Scipt yy.mscript ausführen. Im Maperitive tile Dir werden die Tiles erzeugt. Diesen Pfad wie oben beschrieben in MOBAC als Mapsource definieren.

Ist noch nicht rund aber mal ein Anfang. Man kann natürlich wenn das mal funzt auch den Maperitive Aufruf ins Script einbinden und am Ende alle Fenster schließen. Aber zum Test ist das halautomatische mal praktischer.
Nach dem generieren in MOBAC eventuell Debug==> Refresh custom mapsources und F5 …refresh Mapdisplay

Ich hoffe es hilft jemanden und hat Spass damit…

Vielen Dank für Eure Hilfe!
Habe eine Menge gelernt. :slight_smile:

Mobac führt mich nun aber nicht wirklich zum Ziel.
Und mit GPSPrune bin ich überhaupt nicht klar gekommen.
Macht aber nichts. Meine GPS-Track-Tools plane ich eh nicht zu wechseln.

Es ist zwar ganz nett, die Tiles mit MobAC sammeln und anzeigen lassen zu können. Doch zu welchem Preis?!
Um beispielsweise alle Straßennamen lesen zu können, muß ich mindestens bis zur Zoomstufe 17 rendern. Und das dauert schon Stunden für den Streifen Nordeifel bis Bonn.
Zeige ich dagegen die Karte nur mit Maperitive an, muß ich sie zwar jedes Mal neu berechnen lassen, doch dann ist dieser Kartenausschnitt mit frisch angeschmissenem PC ruckzuck in aktualisierter Version auf dem Schirm und nach Belieben zoombar.
Da ich die Tiles nicht für ein Ausgabegerät benötige, sondern nur mal eine schöne Tourenkarte ausdrucken möchte, werde ich lieber weiter herauszufinden suchen, wie die Ausgabe der SVG-Datei genauer bestimmt wird. Also Koordinateneingabe und Zoomstufe. Dann habe ich, was ich mir wünsche.

In Mobac vermisse ich die Möglichkeit, die Anzeige des GPS-Track zu verändern. Das ist da standardmäßig eine dünne rote Linie, die die dünnen Wege total abdeckt, andererseits aber je nach Kartenlayout nicht wirklich gut zu sehen ist. Daher würde ich diese Tracklinie gerne anpassen können.
In Maperitive muß ich mal schaun, auf welche Weise man GPS-Tracks in die Karte bekommt. Am einfachsten wird es sein, in JOSM eine lokale Datei zu generieren, in der eine einzelne Route abgebildet wird oder mehrere Routen ein Wegenetz bilden. Das läßt sich dann mit Maperitive rendern und legt sich über die zuvor generierte Karte. In den Renderregeln können Farbe, Breite und Transparenz der Tracks nach Belieben justiert werden. Wenn man in der Touren.osm obendrein jeder Linie verschiedene beschreibende Eigenschaften verpasst, lassen auch die sich mit Renderregeln auswerten. Das bietet viele schöne Möglichkeiten. Ich denke, so in etwa wird mein Weg sein.

Dann hoffe ich jetzt mal auf einen Geistesblitz oder jemanden, der schon weiß, wie man den Export der *.svg genauer bestimmt und es mir zeigt. :slight_smile:

Viele Grüße
tippeltappel

Hi,

einige deiner Aussagen verstehe ich nicht…

Mit GpsPrune hatte ich am Anfang auch meine Probleme, aber wenn man mal geschnallt hat wie es geht, ist es unverzichtbar. Zumindest für mich. Besonders zum Bearbeiten von aufgezeichneten Tracks anzeigen, unplausible Punkte löschen,ausdünnen (Douglas-Peucker) etc.
Besonders nützlich für mich ist das Planen von Wanderungen mit der Funktion “Punktreihe aufzeichnen” für die spätere verwendung im Gps. Du kannst auch OSM Daten für diesees Gebiet runterladen runterladen wenn die XAPI (?) Lust hat Daten zu liefern. Schön ist auch dass man von diesem Gebiet dann auch Wikipediaartikel runterladen/anschauen kann. SVG exportieren geht wohl auch, habe das aber nie benutzt.
Ruf das einfach mal auf und lade bei Datei==>Datei öffnen einen GPS Track. Bei Einstellungen kannst du einstellen dass die Tiles auf Platte abgelegt werden. Haken bei Karten aus dem Internet. Diese Tileablage kannst du wieder in MOBAC als Mapsource konfigurieren

Was benutzt du da? Welches GPS hast du? Ich habe seit kurzem ein auf Android basierendes, vorher PDA WindowsMobile…

…das verstehe ich nun aber garnicht. Das kommt doch drauf an wie du das in den Rules auswertest. Ich sehe bei mir zB: die Waldwegenamen ab Level 14. Die OrtsstrassenNamen blende ich ab 15 ein. Ich Rendere gewöhnlich nicht höher als 16.
Das ist eben unter Android mit OSMAND ne feine Sache. Da hast du Vektorkarten die angezeigt werden die man bis zum Staubkorn zoomen kann. Ganz Baden-Württemberg ist da kein Problem und das “rendern” als Vorbereitung fällt weg.
Man kann aber auch zusätlzlich selbstgerenderte Karten anzeigen.

…ok. Ich brauche das eben auch als Outdoorkarten in Verbindung mit dem GPS

Mit SVG/Inkscape habe ichnoch nicht viel gemacht. Achau dir aber als alternative Die Paper Atlas Funktion an. Bei PDF kannst du da gut mit Foxit reader drüberzeichnen

…das vermisse ich dort auch. Ich habe das im Forum schon als “gwünchtes” Features Request als Biite eingebracht, aber ohne Resonanz. Aber MOBAChat eben ne ander Zielrichtung wie GPX Verarbeitung

…das ist wiederum ganz einfach. Als Mapsource den GPX File laden. Oder einfach per Drag und Drop draufziehen. Aber vermutlich meinst du das nicht, sondern das Erstellen der Routen/Tracks ? Das geht eben mit GPSPRUNE gut hat aber kein Automatisches Routing oder Routeconverter
.

…keine Erfahrung. Was Maperitive betrifft verweist Igor auf die nächste Version. Da kann man dann wohl mit dem eingebauten Phyton-Interpreter “ALLES” selber erweitern und seine gewünschte Funktionalität realisieren.

MfG
Achim

Das kann DYJtrack ganz gut:
http://www.dimitri-junker.de/html/body_openstreetmap.html#DYT

… und natürlich läuft auch das mit lokal erzeugten Tiles.

EDIT: Die gpx-Anzeige in Mobac ist ja auch eher dazu gedacht, die passenden Tiles zu einer Route abgedeckt zu haben.

Gruß,
ajoessen

Hi

ich habe ein Gebiet um Dobel http://www.openstreetmap.org/?lat=48.7957&lon=8.4913&zoom=14&layers=M Export als OSM und auch von einem bpf File ausgeschnitten. Wenn ich das jetzt mit Maperitive rendere ist der Wald um Dobel verschwunden. Ich habe aber ältere gerenderte Karten wo das noch drin war.

Kann eventuell mal jemand dieses Gebiet um Dobel bei sich rendern mit dem default hiking Style. An was könnte das liegen? Hat sich da was an den OSM Daten geändert? In Mapnik wird das aber dargestellt?

Kann mir da jemand helfen?

MfG
Achim

Ps: Ich sehe da den Wald vor lauter (weißen) Bäumen nicht…

Ich bin nicht so bewandert in JOSM aber an anderen Stellen taucht da Multipoligon ("FORST…) auf, das sehe ich um Dobel nicht…???

Hast du osmconvert mit --complex-ways benutzt ?

Ohne dies wird das MP nicht komplett geladen und ist dadurch nicht geschlossen.
Geschlossene MP werden nicht gerendert

Geb mal in die Eingabezeile von Maperitive :

find landuse=forest

ein dann werden die MP Lila hervorgehoben

mit
find-next
wird das nächste Objekt ausgewählt
ung mit
get-info
werden die Tags des Objekts angezeigt.

Wenn man nur Dobeln ohne --complex-ways auschneitet bleibt von MP forest nur ( Ich glaub outer = also die Fläche ohne Wald) vom MP übrig und da soll natürlich kein Wald sein!

Selber Ausschnitt mit --complex-ways kein Problem mit dem Wald!

–complex-ways sollte man eigentlich immer verwenden