OSM-Daten werden analysiert, um die Knoten mit dem untergeordneten Element abzurufen

Ich lade Open Street Map-Daten für eine kleine Region herunter und möchte die Daten filtern, um die Knoten mit einer speziellen Kategorie zu erhalten.

Hier ist ein Beispiel der OSM-Daten

 <node id="505126369" lat="31.2933856" lon="34.2687443" user="JumpStart International" uid="125156" visible="true" version="1" changeset="2568758" timestamp="2009-09-22T13:05:10Z"/>
 <node id="505126372" lat="31.2682934" lon="34.2745680" user="JumpStart International" uid="125156" visible="true" version="1" changeset="2568758" timestamp="2009-09-22T13:05:10Z"/>
 <node id="505126375" lat="31.2953082" lon="34.3471630" user="JumpStart International" uid="125156" visible="true" version="1" changeset="2568758" timestamp="2009-09-22T13:05:10Z"/>
 <node id="505126378" lat="31.2807872" lon="34.2757999" user="JumpStart International" uid="125156" visible="true" version="1" changeset="2568758" timestamp="2009-09-22T13:05:11Z">
   <tag k="amenity" v="school"/>
   <tag k="name" v="Al Aqqad Basic &amp; Secondary Female School"/>
   <tag k="name:ar" v="مدرسة العقاد الأساسية والثانوية للبنات"/>
  </node>

Ich möchte die ganzen Schulen, Krankenhäuser in die Daten bekommen.

Wenn jemand das XML-Parsing mit PHP oder Java durchgeführt hätte, würde ich es gerne mit mir und allen Interessen teilen.

Bearbeiten Hier ist ein einfacher Anfang, den ich gerade habe

$dataFile = base_url() . 'media/files/osmdata/map_3.xml';
    //echo ($dataFile);

    $xml = simplexml_load_file($dataFile);

    //    $countTotal = count($xml->node);
    //   echo 'here'.$countTotal;
    foreach ($xml as $key => $val) {
        var_dump($val);
               // can't manage things overs here

    }

Antworten auf die Frage(1)

Ihre Antwort auf die Frage