... bzw. was ist denn der Zweck davon, außer daß ein komplizierter Code ins Dokument dazukommt?

Bzw. wie krieg ich denn eine gescheite Route?

Ist wahrscheinlich so wie unten eh falsch.

Danke.

Beide Bilder :(

alt text

Open in writeLaTeX
% arara: pdflatex: { shell : yes }

\documentclass[varwidth, margin=10pt]{standalone}
%\documentclass{article}
\usepackage{selinput}
\SelectInputMappings{adieresis={ä},  germandbls={ß}}
\usepackage[ngerman]{babel}

\usepackage{graphicx}
\usepackage[overwrite=true, mode=gm, language=de]{getmap}
\usepackage{filecontents}

\begin{document}

\verb+Route+ \\
\getmap[file=bodensee1, %zoom=17, 
path={%
&path=weight:5|color:orange|
Seehalde 7,Bodman-Ludwigshafen,Deutschland|
Schlößleweg 9,Bodman-Ludwigshafen,Deutschland|
Kornblumenweg 17, Bodman-Ludwigshafen, Deutschland
}%
]{Seehalde 7,Bodman-Ludwigshafen,Deutschland}
\includegraphics[width=10cm]{bodensee1}  \\

\verb+Route mit Pfaddatei+ \\
\begin{filecontents*}{XYZ.epl}
&path=weight:5|color:orange|enc:okydHa}peAXOHi@jANv@A@kJJmFAi%
DJuAHmDXcBb@cC‘@gC^_DV}CJaCF{APaBVkBdAyEf@qC‘@{B\aDSwB
\end{filecontents*}
\getmap[file=XYZ, mode=gm,
markers={%
&markers=size:mid|label:A|color:green|Seehalde 7,Bodman-Ludwigshafen
&markers=label:B|color:yellow|Schlößleweg 19,Bodman-Ludwigshafen
&markers=label:C|color:blue|Kornblumenweg 17, Bodman-Ludwigshafen
},%
pathfile={XYZ.epl}]{}
\includegraphics[width=10cm]{XYZ}

\end{document}

gefragt 27 Jul '14, 16:41

cis's gravatar image

cis
9.5k75452491
Akzeptiert-Rate: 29%

bearbeitet 27 Jul '14, 16:45

Ich hab den Kommentar ganz übersehen, sry. Aber das ist mir für den Augenblick zu hoch. Scheints bekommt man so ja eh nicht die "reale Route", eher etwas Luftlinienartiges.

(30 Jul '14, 23:09) cis

@cis: Da Dir meine Antwort offenbar in keiner Weise zusagte, habe ich sie wieder entfernt und verweise stattdessen nur noch auf die Anleitung, in der das eigentlich erklärt ist. Man kann damit dann tatsächlich Routen statt Luftlinien zeichnen.

(25 Okt '14, 21:03) gast3

Ich war offengestanden noch nicht dazu gekommen, Deine AW mit nötiger Aufmerksamkeit durchzuarbeiten bzw. mich weiter mit dem Paket getmap zu beschäftigen (ich glaube, ich müßte erstmal wieder updaten). Ich würde Dich, was mich angeht, bitten, etwas mehr Geduld zu haben. Und, was andere Nutzer angeht -auch solche könnten sich für Beispiele interessieren-, sie nicht mit solchen "Kurzschlußreaktionen" zu bestrafen.

(25 Okt '14, 23:33) cis

Die AW war nur für mich - kein anderer sonst hatte sich mit ihr zu befassen. Alles klar, verstanden....

(26 Okt '14, 16:57) cis

@cis Warum regst Du Dich darüber auf, dass ich eine Antwort, die nach Wochen noch 0 Punkte hatte, also niemanden interessiert hat, wieder gelöscht habe? Wenn sie irgend jemanden interessiert hätte, hätte der Zeit genug gehabt, Punkte dafür zu geben. Es ist doch nur sinnvoll, uninteressante Antworten aufzuräumen.

(26 Okt '14, 17:25) gast3

getmap ist wohl ein bisschen speziell. Solche Beiträge, die man nicht leicht testen kann, bleiben auch mal ohne Punkt, während leicht verständliche oder populäre Beiträge schneller bewertet werden können. Gibt bestimmt sehr gute "schwere" Beträge ohne Punkt. Ist schon ein guter Ansatz, 0 Punkte als Anlass zum Aufräumen zu nehmen, schon wegen wenig demonstriertem Interesse. Falls doch Sachwert drin ist, kann ich auch gern "entlöschen", vielleicht haben wir doch was davon. Ich hab getmap schon getestet, wegen cis' Fragen, doch kriegte nur die default map, daher habe ich nicht weiteres getestet.

(26 Okt '14, 18:19) stefan ♦♦
Ergebnis 5 von 6 show 1 more comments

In der getmap-Anleitung ist in Abschnitt 5 sowohl für OpenStreetMap als auch für Google Maps beschrieben, wie man die polylines generiert. Solche Linienzüge können aus weit mehr Punkten als nur dem Startpunkt einer Route und deren Endpunkt bestehen. Damit können sie dann wirklich die Route wiedergeben statt nur die Luftlinie. Die Beispiele der Anleitung zeigen das auch:

Route(Bild unmittelbar aus der getmap-Anleitung übernommen, Sourcecode dort).

Die Route ist hier der blaue-violette Linienzug zwischen dem grünen und dem hellblauen Marker, bei der es sich keineswegs um eine Luftlinie handelt, sondern die dem Verlauf des Weges folgt.

Bei OpenStreetMap kann man sich dazu beispielsweise über den OpenRouteService – es gibt dazu aber auch Alternativen – eine Route als gpx-Datei exportieren. Diese kann man dann mit Hilfe des zum Paket gehörenden getmapdl in eine sogenannte encoded polyline umwandeln lassen. Das ist eine kompakte String-Codierung für die Koordinaten des zur Route gehörenden Linienzugs (engl. polyline). In obigem Beispiel würde der String _xq_IcgrpA?AFE@?^BFE@A^U@CLQXEZU?gCR?B?DBF@@?vA?D?D?BAHE@JBN@JLGFCG[DC~C?@?F?R?vA?p@iB@i@Fe@JWRSTO f@Gh@C^A?e@?gE?w@r@?lB@hA?‘@??M?aA?]dI??O?O?Cn@cBfBeF|AeEHNVNBc@H@H_AEwA?OAMNA@N lauten. Diesen String schreibt man dann zusammen mit weiteren path-Optionen in eine Datei und gibt diese via Option pathfile in \getmap an. \getmap wiederum baut die Angabe dann in die URL für den Abruf der Grafik mit ein.

Bei Google Maps geht es ganz ähnlich. Dort verwendet man jedoch keine gpx-Datei, sondern eine kml-Datei. Diese ist beispielsweise über My Maps erzeugbar. Die kml-Datei kann man ebenfalls mit getmapdl wieder in eine encoded polyline umwandeln. Ab hier geht es also genau wie bei OpenStreetMap.

Dass man den Pfad nicht direkt beim Aufruf von \getmap angibt, sondern den Weg über eine Pfaddatei geht, hat übrigens einen ganz einfachen Grund: Innerhalb der encoded polyline können Zeichen wie geschweifte schließende Klammern vorkommen, die bei der Interpretation als Wert für eine Option im optionalen Argument von \getmap Probleme bereiten würden. Durch den Umweg über eine externe Datei, werden diese Probleme umgangen.

Letztlich spielt es auch keine Rolle, ob man die Route als gpx-Datei oder als kml-Datei hat, da sowohl beim Weg über OpenStreetMap als auch beim Weg über Google Maps daraus zunächst eine encoded polyline erzeugt und dann diese verwendet wird. Das ist auch deshalb günstig, weil viele Navigationsprogramme sowohl online als auch auf dem Rechner oder Smartphone und viele GPS-Tracker eines der beiden Formate erzeugen können. Eine Rolle spielt derzeit allerdings die Anzahl der Punkte in den Linienzügen. Da die encoded polyline in der URL zum Abruf der Karte mit angegeben werden muss und URLs in der Länge beschränkt sind (derzeit max. 2048 Bytes), ist die Anzahl der Punkte, aus denen sich die Linienzüge zusammensetzen können, ebenfalls beschränkt. Das wird ggf. noch durch die Verwendung von vielen Markern, die ja ebenfalls in der URL angegeben werden, verschlechtert. Gerade bei Routen aus GPS-Trackern sollte man also ggf. mit einer passenden Software die Anzahl der Punkte zunächst reduzieren. Ggf. bietet das Paket seit Version 1.8 mit gps2gps auch selbst ein Programm, um die Anzahl der Punkte einer Route zu reduzieren.

Leider können die gpx- oder kml-Dateien derzeit auch nicht einfach über entsprechende Aufrufe von \getmap direkt erzeugt werden, sondern bedürfen gewisser Vorarbeiten. Teilweise könnte man mit Hilfe dieser oder ähnlicher Vorarbeiten auch bereits fertige Karten mit eingezeichneter Route erzeugen, so dass man dann getmap gar nicht mehr zwingend benötigen würde.

Permanenter link

beantwortet 13 Okt '14, 08:25

gast3's gravatar image

gast3
(ausgesetzt)
Akzeptiert-Rate: 53%

bearbeitet 14 Okt '14, 09:35

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×3

gestellte Frage: 27 Jul '14, 16:41

Frage wurde gesehen: 4,031 Mal

zuletzt geändert: 26 Okt '14, 18:19