Namen der Autobahnen raufiltern, sofern vorhanden
-
Namen der Autobahnen raufiltern, sofern vorhanden · joergi2012 (Gast) · 20.01.2013 16:14 · [flux]
Hi,
ich suche eine Möglichkeit, mittels PHP die Namen von Autobahnen, soweit vorhanden auszulesen. Diese befinden sich im array "->elements->tags->ref". Aber irgendwie funktioniert das nicht. Wo der Fehler liegt ist mir klar ($z3=......). Aber ich weiß nicht, wie ich das Problem lösen kann. Habt Ihr eine Idee? Danke im voraus für Eure Hilfe 🙂
<?php $url='http://www.overpass-api.de/api/interpreter?data=[out:json];way[highway="motorway_link"]('.$x1.','.$x2.','.$x3.','.$x4.');out;'; $ja7␣=␣file_get_contents($url); $jb7␣=␣json_decode($ja7); $z1=0; $z2=count($jb7->elements);␣//␣gibt␣die␣richtige␣Anzahl␣der␣Elemente␣zurück while␣($z1<$z2) { $z3=$jb7[$z1]->tags->ref;␣//␣hier␣ist␣der␣Fehler␣:-( echo␣"<br>*".$z3; $z1++; } ?>
- Re: Namen der Autobahnen raufiltern, sofern vorhanden · mmd (Gast) · 20.01.2013 16:36 · [flux]
Hallo,
vorab: geht hier noch um das gleiche Problem wie in diesem Thread? http://forum.openstreetmap.org/viewtopic.php?id=19775
Wenn ja, schau doch bitte nochmal im Post unten nach, Roland hat dort die Funktionsweise der Abfrage im Detail erklärt. Dort sollten dann auch die Autobahnen samt ref=* herauskommen, sofern sie an einer Auf- oder Abfahrt liegt.
http://forum.openstreetmap.org/viewtopi … 80#p305380
Gruß,
- Re: Namen der Autobahnen raufiltern, sofern vorhanden · joergi2012 (Gast) · 20.01.2013 19:01 · [flux]
Hi mmd,
ja, es ist dasselbe Problem. Leider blicke ich bei der foreach Schleife nicht durch. Bin noch PHP Anfänger. Wie gesagt suche ich einen einfachen Weg, das Element "ref" anzuzeigen 🤔
-
- Re: Namen der Autobahnen raufiltern, sofern vorhanden · Netzwolf (Gast) · 20.01.2013 21:20 · [flux]
Nahmd,
joergi2012 wrote:
Leider blicke ich bei der foreach Schleife nicht durch. Bin noch PHP Anfänger. Wie gesagt suche ich einen einfachen Weg, das Element "ref" anzuzeigen.
<?php $url='http://www.overpass-api.de/api/interpreter?data=[out:json];way[highway="motorway_link"]('.$x1.','.$x2.','.$x3.','.$x4.');out;'; $ja7␣=␣file_get_contents($url); $jb7␣=␣json_decode($ja7); $z1=0; $z2=count($jb7->elements);␣//␣gibt␣die␣richtige␣Anzahl␣der␣Elemente␣zurück while␣($z1<$z2) { $z3=$jb7[$z1]->tags->ref;␣//␣hier␣ist␣der␣Fehler␣:-( echo␣"<br>*".$z3; $z1++; } ?>
Probiere es mal so:
[...] $text␣=␣file_get_contents($url); $tree␣=␣json_decode($text); $elements␣=␣$tree->elements; $refs=array(); foreach␣($elements␣as␣$element)␣{ $tags␣=␣$element->tags; $ref␣=␣$tags->ref; if␣($ref)␣$refs[]␣=␣$ref; } sort($refs); echo␣join␣(",␣",␣array_unique($refs)); ?>
Gruß Wolf
- Re: Namen der Autobahnen raufiltern, sofern vorhanden · joergi2012 (Gast) · 20.01.2013 22:00 · [flux]
Hi Netzwolf,
Suuuppäärr, klappt einwandfrei. Du hast mir sehr geholfen. Vielen Dank 🙂