Locus Map - forum

Support => [DE] - deutschsprachiger Forumsbereich => Topic started by: Perma on June 04, 2019, 19:28:56

Title: Ortsränder
Post by: Perma on June 04, 2019, 19:28:56
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.
Title: Re: Ortsränder
Post by: freischneider on June 05, 2019, 08:13:18
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.
Title: Re: Ortsränder
Post by: balloni55 on June 05, 2019, 11:06:55
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
Title: Re: Ortsränder
Post by: Saturo on August 04, 2019, 20:44:52
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?
Title: Re: Ortsränder
Post by: Christian on August 04, 2019, 21:48:33
Ortsgrenzen gehen damit nicht, aber Gemeinden, Landkreise, Regierungsbezirke usw.
Als WMS einzubinden:
http://www.geodaten.bayern.de/ogc/ogc_verwaltungsatlas_verwaltungsgrenzen.cgi?

hth.
Title: Re: Ortsränder
Post by: Saturo on August 06, 2019, 22:14:01
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.
Title: Re: Ortsränder
Post by: zossebart on September 05, 2019, 13:31:48
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?
Title: Re: Ortsränder
Post by: balloni55 on September 05, 2019, 14:31:52
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
Title: Re: Ortsränder
Post by: zossebart on September 05, 2019, 15:15:48
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.
Title: Re: Ortsränder
Post by: freischneider on September 05, 2019, 15:27:11
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 ?
Title: Re: Ortsränder
Post by: 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

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.
Title: Re: Ortsränder
Post by: freischneider on September 06, 2019, 08:44:25
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.
Title: Re: Ortsränder
Post by: fzk on September 06, 2019, 08:51:17
Bei Verwendung der Freizeitkarte kannst du die administrativen Grenzen zusätzlich aktivieren.
Title: Re: Ortsränder
Post by: zossebart on September 06, 2019, 08:55:15
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.
Title: Re: Ortsränder
Post by: balloni55 on September 06, 2019, 10:33:23
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
Title: Re: Ortsränder
Post by: zossebart on September 06, 2019, 10:54:49
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).
Title: Re: Ortsränder
Post by: balloni55 on September 06, 2019, 13:59:15
Vielen Dank !
Mit Deinem Demolink hat die Konvertierung auf Anhieb funktioniert ;D
Title: Re: Ortsränder
Post by: freischneider on October 08, 2019, 08:01:22
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%3A60%5D%
Hier ist bei Gemeinden 60 drin und bei Landkreisen 25

Die zweite Stelle: 5Badmin_level%3D8%
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.


Title: Re: Ortsränder
Post by: zossebart on October 11, 2019, 12:38:15
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...
Title: Re: Ortsränder
Post by: freischneider on October 12, 2019, 10:43:11
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