Daten von Openstreetmap auslesen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Daten von Openstreetmap auslesen

    Hallo zusammen,

    ich hatte vor langer Zeit ein Programm geschrieben, dass anhand von Längen und Breitengrad bestimmte Objektarten herausfiltert. Ursprünglich hatte ich dafür die folgende Routine benutzt:

    PHP-Code:
    require ("useragent.php");
    $agent = new userAgent();
    $browser $agent->generate('chrome');
    $opts = array('http'=>array('header'=>"User-Agent: ".$browser."\r\n"));
    $context stream_context_create($opts);

    $lat=50.991108;
    $lon=6.893529;

    $uk1=$lon-0.04300// 3 KM
    $uk2=$lat-0.02700// 3 KM
    $uk3=$lon+0.04300// 3 KM
    $uk4=$lat+0.02700// 3 KM​

    echo "<br>------------------- Bushaltestelle ---------------------------------<br>";

    $url='https://www.overpass-api.de/api/interpreter?data=[out:json];node[highway="bus_stop"]('.$uk2.','.$uk1.','.$uk4.','.$uk3.');out+999;';
    $e1 file_get_contents($url);
    $e2 json_decode($e1);
    print_r ($e2);

    echo 
    "<br>------------------- Bahnhof ---------------------------------<br>";

    $url='https://www.overpass-api.de/api/interpreter?data=[out:json];node[railway="station"]('.$uk2.','.$uk1.','.$uk4.','.$uk3.');out+999;';
    $f1 file_get_contents($url);
    $f2 json_decode($f1);
    print_r ($f2);

    echo 
    "<br>------------------- Autobahn ---------------------------------<br>";

    $url='https://www.overpass-api.de/api/interpreter?data=[out:json];way[highway="motorway_link"]('.$uk2.','.$uk1.','.$uk4.','.$uk3.');out+999;';
    $g1 file_get_contents($url);
    $g2 json_decode($g1);
    print_r ($g2);​ 

    Das ganze funktionierte bis vor kurzem auch einwandfrei. Nun jedoch erhalte ich keine Daten mehr Oder hat sich die Syntax geändert? Ich finde einfach keine Lösung

    Ich versuche nun, dass ganze mittels "nomination" wie folgt zu ersetzen:

    PHP-Code:
    require ("useragent.php");
    $agent = new userAgent();
    $browser $agent->generate('chrome');
    $opts = array('http'=>array('header'=>"User-Agent: ".$browser."\r\n"));
    $context stream_context_create($opts);

    $lat=50.991108;
    $lon=6.893529;

    $uk1=$lon-0.04300// 3 KM
    $uk2=$lat-0.02700// 3 KM
    $uk3=$lon+0.04300// 3 KM
    $uk4=$lat+0.02700// 3 KM​​

    echo "<br>------------------- Bushaltestelle ---------------------------------<br>";

    $b1 file_get_contents('https://nominatim.openstreetmap.org/search?viewbox='.$uk1.','.$uk2.','.$uk3.','.$uk4.'&bounded=1&format=json&polygon=0&addressdetails=0&q=Bushaltestelle&limit=999'false$context);
    $b2 json_decode($b1);
    print_r ($b2);

    echo 
    "<br>------------------- Bahnhof ---------------------------------<br>";

    $c1 file_get_contents('https://nominatim.openstreetmap.org/search?viewbox='.$uk1.','.$uk2.','.$uk3.','.$uk4.'&bounded=1&format=json&polygon=0&addressdetails=0&q=Bahnhof&limit=999'false$context);
    $c2 json_decode($c1);
    print_r ($c2);

    echo 
    "<br>------------------- Autobahn ---------------------------------<br>";

    $d1 file_get_contents('https://nominatim.openstreetmap.org/search?viewbox='.$uk1.','.$uk2.','.$uk3.','.$uk4.'&bounded=1&format=json&polygon=0&addressdetails=0&q=Autobahn&limit=999'false$context);
    $d2 json_decode($d1);
    print_r ($d2);​ 

    Das ganze scheint auch zu funktionieren. Jedoch erhalte ich beim Thema "Autobahn" nie eine Ausgabe. Dabei habe ich für dieses Beispiel extra eine Stelle mit nahe gelegenen Autobahnzubringern gesucht. Habt Ihr eine Idee oder kennt Ihr eine bessere Lösung?

    Vielen Dank im voraus für Eure Hilfe


Lädt...
X