Author Topic: Ortsränder  (Read 1116 times)

Offline balloni55

  • Global Moderator
  • Professor of Locus
  • *****
  • Posts: 2534
  • Thanked: 102 times
    • View Profile
  • Device: Motorola G3 MM 6.01
Re: Ortsränder
« Reply #15 on: September 06, 2019, 10:33:23 »
Quote
Ja, 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
Code: [Select]
[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
Code: [Select]
"); 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
Locus PRO 3.42.0
 

Offline zossebart

  • Apprentice of Locus
  • **
  • Posts: 166
  • Thanked: 22 times
    • View Profile
  • Device: Sony Z1 Compact
Re: Ortsränder
« Reply #16 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).
 
The following users thanked this post: balloni55

Offline balloni55

  • Global Moderator
  • Professor of Locus
  • *****
  • Posts: 2534
  • Thanked: 102 times
    • View Profile
  • Device: Motorola G3 MM 6.01
Re: Ortsränder
« Reply #17 on: September 06, 2019, 13:59:15 »
Vielen Dank !
Mit Deinem Demolink hat die Konvertierung auf Anhieb funktioniert ;D
Locus PRO 3.42.0
 

Offline freischneider

  • Padavan of Locus
  • ***
  • Posts: 410
  • Thanked: 23 times
    • View Profile
  • Device: Samsung S8, Locus Pro, always newest official version
Re: Ortsränder
« Reply #18 on: October 08, 2019, 08:01:22 »
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.


 

Offline zossebart

  • Apprentice of Locus
  • **
  • Posts: 166
  • Thanked: 22 times
    • View Profile
  • Device: Sony Z1 Compact
Re: Ortsränder
« Reply #19 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...
 

Offline freischneider

  • Padavan of Locus
  • ***
  • Posts: 410
  • Thanked: 23 times
    • View Profile
  • Device: Samsung S8, Locus Pro, always newest official version
Re: Ortsränder
« Reply #20 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