Hallo,
bei einer Freundin auf ihrer normalen Map vom iPhone, habe ich eine Funktion entdeckt, die mir lange fehlt. Und zwar handelt es sich um Linien um Ortschaften, die vor allem deutlich machen wo der Ort endet. Diese sind sehr present.
Im OSM-Forum habe ich die Information erhalten, dass es Gebietslinien bereits gibt. Diese zeigen bspw. auch bei zerstückelten Ortschaften deutlich die Zusammengehörigkeit, hier ein Beispiel: http://overpass-turbo.eu/s/JFy .
Beides sind wohl unterschiedliche Sachen. Ich habe alle in Locus gelisteten OSM Online-Karten durchgeschaut und lediglich die "Hike & Bike" und die "Classic" gefunden welche die letztgenannten Linien anzeigen.
Meine genutzte Offline-LoMaps-Karte aus dem Store zeigt diese Linien mit keinem mir zur Verfügung stehenden Thema an.
(Interne Themen: Wandern & Radfahren, Ski, Stadt, Straße; Externe Themen: Hiking Map, HiLo, Waymark-V2a)
Gibt es Themen, die wenigstens diese 2. genannten Linien anzeigen können?
Kann man auf andere Art auf den LoMaps diese Linen anzeigen lassen?
Ansonsten ist das ein Vorschlag.
Wenn es da dann mal was gibt, hätte ich auch interesse dran. Ich brauche das öfter wenn ich Trails in Trailforks.com einpflege. Da weiß ich oft auch nicht welcher Landkreis bzw. welche Stadt bzw. Gemeinde die aktuelle Position ist.
QuoteKann man auf andere Art auf den LoMaps diese Linen anzeigen lassen?
ja z.B.:
- erstelle deine Abfrage mit Overpass
- export > speicher als .kml
- mit Google Earth öffnen
- die Daten erscheinen links unter temporäre Orte
- klapp den Ordner auf und entferne alle Pushpins welche du nicht benötigst
- öffne im Hauptordner die Eigenschaften und wähle deine Linienfarben/Breite und Füllung
- jetzt mit Rechtsklick auf den Hauptordner > Ort speichern unter
- diese Datei
kopierst du nach Locus MapItems
- jetzt kannst du die Grenzen anzeigen lassen
in Locus Einstellungen/Punkte und Tracks unter Tracks die Einstellung StartEndesymbol auf "kein Symbol stellen"
Viel Spass
Gruß Wolfgang
Das sieht ja echt super aus!
Leider komme ich mit Overpass so gar nicht klar. Wie müsste ich den vorgehen um an Landkreisgrenzen bzw. Regierungsbezirke zu kommen?
Ortsgrenzen gehen damit nicht, aber Gemeinden, Landkreise, Regierungsbezirke usw.
Als WMS einzubinden:
http://www.geodaten.bayern.de/ogc/ogc_verwaltungsatlas_verwaltungsgrenzen.cgi?
hth.
Nach eingehender Beschäftigung mit dem Thema habe ich das Ganze nun einmal für Bundesländer, Regierungsbezirke und Landkreise durchexzerziert.
Leider wird Locus beim Einblenden großer Overlays doch recht langsam, eine nette Spielerrei aber wohl nicht wirklich praxisrelevant.
Falls das Thema noch interessant ist...ich hab mir ein paar PHP-Scripte gebastelt, mit denen man eine Overpass-Abfrage direkt aus Locus heraus z.B. mit dem aktuellen Kartenausschnitt machen kann.
Ich hab mal eine Abfrage-URL für border=administrative und admin_level=8 (Städte und Gemeinden) erzeugt:
locus-actions://http/futureback.de/op2gpx/op2gpx-locus.php?query=%5Btimeout%3A60%5D%5Bout%3Ajson%5D%3Brel%0D%0A++%5Bboundary%3Dadministrative%5D%0D%0A++%5Badmin_level%3D8%5D%0D%0A++%28{screenLatBottom}%2C{screenLonLeft}%2C{screenLatTop}%2C{screenLonRight}%29%3B%0D%0A%28._%3B%3E%3B%29%3B%0D%0Aout%3B
Diese URL einfach in einen neuen Locus "Favoriten" (Menü -> Weitere Funktionen -> Favoriten) kopieren und dann mit entsprechend gewähltem Kartenausschnitt aufrufen. Geht das in etwa in die Richtung, was vom Threadersteller gesucht wird?
Super, funktioniert bestens :D Danke
Fragen:
- läuft das über deinen privaten Server?
- obwohl das angezeigte Ergebniss ja wohl nur temporär ist, wird es bei einem Neustart von Locus erneut angezeigt. Ich habe nur über temporäre Elemente entfernen einen Weg gefunden die Grenzen wieder unsichtbar zu machen.
- in dem Skript kann ich leider nicht den Tag "border=administrative" erkennen, für mich wäre die Abfrage historic=boundary_stone interessant, kann ich die Abfrage selbst erzeugen?
Gruß Wolfgang
Quote from: balloni55 on September 05, 2019, 14:31:52
Super, funktioniert bestens :D Danke
Fragen:
- läuft das über deinen privaten Server?
ja, aber wenn du einen eigenen Server hast, kannst du es auch selber hosten, den Source findest du hier:
https://github.com/zossebart/overpass-to-locus
Quote from: balloni55 on September 05, 2019, 14:31:52
- obwohl das angezeigte Ergebniss ja wohl nur temporär ist, wird es bei einem Neustart von Locus erneut angezeigt. Ich habe nur über temporäre Elemente entfernen einen Weg gefunden die Grenzen wieder unsichtbar zu machen.
Ja, das ist bei Locus so. Alternativ kann das Script das Ergebnis auch zum Import anbieten, dann kannst du es in einen Ordner importieren, den du dann einfach ein-/ausblenden kannst.
Quote from: balloni55 on September 05, 2019, 14:31:52
- in dem Skript kann ich leider nicht den Tag "border=administrative" erkennen, für mich wäre die Abfrage historic=boundary_stone interessant, kann ich die Abfrage selbst erzeugen?
Sorry, Tippfehler, meinte boundary=administrative. Ja, du kannst dir die Abfrage selbst erzeugen. Kopiere deine Overpass-Apfrage in das Formular unter /opq2locus.html und geh auf convert. Den String unter Locus-URL musst du dir dann als Favorit abspeichern. In dem Formular kannst du z.B. auch die Option für den Import in Locus aktivieren.
Das ist ja richtig super...Danke
Das sind jetzt Gemeindegrenzen.
Was muss ich tun wenn ich Landkreise möchte und die dann in einer anderen Farbe ? Muss ich da was in der URL ändern ?
Landkreise wären admin_level=6, das ergibt folgende URL:
locus-actions://http/futureback.de/op2gpx/op2gpx-locus.php?query=%5Btimeout%3A25%5D%5Bout%3Ajson%5D%3Brel%0D%0A++%5Bboundary%3Dadministrative%5D%0D%0A++%5Badmin_level%3D6%5D%0D%0A++%28{screenLatBottom}%2C{screenLonLeft}%2C{screenLatTop}%2C{screenLonRight}%29%3B%0D%0A%28._%3B%3E%3B%29%3B%0D%0Aout%3B
Andere Farbe kann das Script noch nicht so ohne weiteres, die Unterstützung von Styles habe ich noch in der Entwicklung, weiß noch nicht wann ich dazu komme das weiter zu machen.
Ich hab nur mal einen Style für MTB-Trails fest eingebaut für Stuntzi ausm mtb-news Forum, damit er schnell sehen kann, wo noch MTB-Tags fehlen.
Du kannst dir aber erstmal je einen Favorit für Gemeindegrenzen und Landkreise machen und das Ergebnis dann jeweils in einen anderen Ordner in Locus importieren. Für die Ordner kannst du ja unterschiedliche Styles festlegen. Ist ein bisschen umständlicher, aber geht erstmal so.
Danke...das mit der Farbe ist auch nicht so wichtig. Wenn du mal was hast. Kannst du ja Bescheid geben.
Aber wie importiert man es in einen Ordner. Bei mir ist das Ergebnis Temporär, was auch beim ausblenden nicht so einfach geht.
Bei Verwendung der Freizeitkarte kannst du die administrativen Grenzen zusätzlich aktivieren.
Quote from: freischneider on September 06, 2019, 08:44:25
Aber wie importiert man es in einen Ordner. Bei mir ist das Ergebnis Temporär, was auch beim ausblenden nicht so einfach geht.
Entweder du klickst jeden temporären Pfad an, den du importieren willst und wählst dann in den Trackdetails über das ^ - Menü unten rechts "Kopie erstellen", oder du hängst einfach "&act=import" (ohne Anführungszeichen) an die URL an, dann sollte der Import-Dialog direkt nach dem Download aufgehen.
QuoteJa, du kannst dir die Abfrage selbst erzeugen. Kopiere deine Overpass-Apfrage in das Formular unter /opq2locus.html und geh auf convert
danke für den Tipp, doch leider reichen meine Kenntnisse (noch) nicht aus, um deine Info erfolgreich umzusetzen ;)
Hab meine Anfrage "historic=boundary_stone" in overpass-turbo erstellt und erhielt folgende Abfrage
[out:json][timeout:25];
// gather results
(
// query part for: "historic=boundary_stone"
node["historic"="boundary_stone"]({{bbox}});
way["historic"="boundary_stone"]({{bbox}});
relation["historic"="boundary_stone"]({{bbox}});
);
// print results
out body;
>;
out skel qt;
hab deine "overpass-to-locus-master" runtergeladen und die "opq2locus" mit Firefox geöffnet, meine Abfrage dort eingefügt und folgendes erhalten
"); print("opq2locus got input:
$input
"); //construct the url $url = $input; if(!strpos($url, "out:json")){
if(!preg_match('/\[(out|timeout|maxsize|bbox|date|diff|adiff)\:.*\]\;/',
$url, $dummy)) $url = ";".$url; $url = "[out:json]".$url; }
if(!strpos($url, "timeout:")){
if(!preg_match('/\[(out|timeout|maxsize|bbox|date|diff|adiff)\:.*\]\;/',
$url, $dummy)) $url = ";".$url; $url = "[timeout:25]".$url; } $url =
strip_comments($url); $url = urlencode($url); $url =
preg_replace($patterns, $replacements, $url); $url =
$locusurl."?query=".$url; if($locusaction == "import") $url =
$url."&act=import"; if($naming != "") $url = $url."&naming=".$naming;
if($tbase == "locus") $url = $url."&timebase={timeUtc}"; $shpmode = 0;
if($shpmode1 != "") $shpmode |= $shpmode1; if($shpmode2 != "") $shpmode
|= $shpmode2; if($shpmode3 != "") $shpmode |= $shpmode3; // | $shpmode2
| $shpmode3; if($shpmode != 0) $url = $url."&shpmode=".$shpmode; if($zip
== "yes") $url = $url."&zip=yes"; if($editlink != "") $url =
$url."&editlink=".$editlink; if($style != "") $url =
$url."&style=".$style; if($waytopoi != "") $url =
$url."&waytopoi=".$waytopoi; //print("&timebase={timeUtc}");
print("locus-url:
$url
"); print(""); ?>
jetzt muss ich wohl locus-action://http/futureback.de/opq2locus...... davor setzen???
meine bisherigen Versuche waren leider nicht erfolgreich :-[
kannst du mir hierzu bitte weiterhelfen?
Gruß Wolfgang
Hallo Wolfgang,
du musst das Ganze auf einem PHP-fähigen Webserver aufrufen. Es sind ja (bis auf das Convert-Formular) PHP-Scripte und dafür brauchst du einen Interpreter. Direkt lokal auf einem PC funktioniert das nicht. Das Formular generiert auch die URL immer relativ zu dem Server, auf dem es aufgerufen wurde, das würde dir lokal also auch nichts nützen.
Du kannst ja testweise meine Demo-Installation probieren (http://futureback.de/op2gpx/opq2locus.html).
Vielen Dank !
Mit Deinem Demolink hat die Konvertierung auf Anhieb funktioniert ;D
Quote from: zossebart on September 06, 2019, 08:33:59
Landkreise wären admin_level=6, das ergibt folgende URL:
locus-actions://http/futureback.de/op2gpx/op2gpx-locus.php?query=%5Btimeout%3A25%5D%5Bout%3Ajson%5D%3Brel%0D%0A++%5Bboundary%3Dadministrative%5D%0D%0A++%5Badmin_level%3D6%5D%0D%0A++%28{screenLatBottom}%2C{screenLonLeft}%2C{screenLatTop}%2C{screenLonRight}%29%3B%0D%0A%28._%3B%3E%3B%29%3B%0D%0Aout%3B
Das mit den Gemeinden funktioniert super aber mit den Landkreisen nicht. Bei den Landkreisen kommt immer eine Fehlermeldung bzw. mal die eine und mal die andere. Siehe Bild.
Habe gedacht ich muss vielleicht bei Landkreisen weiter raus zoomen aber immer die Fehlermeldungen.
Nun habe ich die URL mal verglichen und sie unterscheiden sich an 2 Stellen:
Die erste Stelle: 5Btimeout%3A
60%5D%
Hier ist bei Gemeinden 60 drin und bei Landkreisen 25
Die zweite Stelle: 5Badmin_level%3D
8%
Her ist bei Gemeinden 8 drin und bei Landkreisen 6
Die zweite Stelle ist mir klar, das ist das Level 6 von dem du geschrieben hast.
Nur die erste Stelle war mir nicht klar. Also habe ich noch eine Variante gemacht mit 60 und mit 6. Aber auch hier kommt die Fehlermeldung.
Hallo Freischneider,
die erste Stelle ist das timeout für den Overpass-Server (in Sekunden). Wenn der Server bis zu dieser Zeit kein Ergebnis geliefert hat, wird die Anfrage abgebrochen und du erhälst einen Fehler. Das es zwei unterschiedliche Fehler sind, könnte daran liegen, dass entweder der Overpass-Server ins Timeout läuft (dürfte der Fehler 500 sein), oder mein Script bei der Nachbearbeitung (Fehler 404).
Da solche Grenzrelationen (insbesondere Landkreise) sehr groß und komplex werden können, kann auch die Verarbeitung sehr lange dauern. Ich würde erstmal versuchen, das Timeout zu erhöhen. Kann aber gut sein, dass das irgendwann zu viel für den Server wird...
Ich habe die Zeit mal auf 120 (und dann auf 260, 360) erhöht. Fehler kommt immer noch. Wobei 2 mal eine gpx erstellt wurde aber ohne Inhalt.
Ich werde es dann lassen. Brauche Landkreise nur sehr selten und die Grenzen verlaufen immer auf einer Gemeinde Grenze. Wichtig ist damit ich die Gemeinden habe und dann kann ich ja bei googel fragen zu welchem Landkreis die Gemeinde gehört.
Danke für deine Mühe