如何从PHP中的kml文件获取纬度和经度

如何从PHP中的kml文件获取纬度和经度

问题描述:

I want to obtain the list of cells in a specified area whit OpeCellID. I can get it writing:

http://www.opencellid.org/cell/getInArea?key=9f84179c-73f7-4694-9121-5bcb90e03608&BBOX=3.389,-76.5244777931681607,3.3764334069836786,-76.5119112001518393&mcc=732&mnc=123&lac=4003

And it give me a kml file whit this content:

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://earth.google.com/kml/2.1">
<Document>
<name>OpenCellID Cells</name>
<description>List of available cells</description>
<Placemark><name></name><description><![CDATA[lat: <b>3.378199</b><br/>lon:      <b>-76.523528</b><br/>mcc: <b>732</b><br/>mnc: <b>123</b><br/>lac: <b>4003</b><br/>cellid: <b>26249364</b><br/>averageSignalStrength: <b>0</b><br/>samples: <b>10</b><br/>changeable: <b>1</b>]]></description><Point><coordinates>-76.523528,3.378199,0</coordinates></Point></Placemark>
<Placemark><name></name><description><![CDATA[lat: <b>3.382578</b><br/>lon: <b>-76.518148</b><br/>mcc: <b>732</b><br/>mnc: <b>123</b><br/>lac: <b>4003</b><br/>cellid: <b>26251342</b><br/>averageSignalStrength: <b>0</b><br/>samples: <b>11</b><br/>changeable: <b>1</b>]]></description><Point><coordinates>-76.518148,3.382578,0</coordinates></Point> </Placemark>
</Document>
</kml>

I need to obtain specifically the latitude, longitude and the cell Id to each cell in a php file, because a want to make a map in google maps later.

How can I get this information ? Thanks a lot.

To get the KML into your script one answer as already suggested is to use the XMLReader class which can open a URI for reading.

If you really just want the XML as a string then look into the curl library. You should be able to easily find a load of tutorials on using either of these options, especially curl.

<?php

$url="PUT YOUR URL LINK";
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_URL, $url);    // get the url contents

$data = curl_exec($ch); // execute curl request
curl_close($ch);

$xml = simplexml_load_string($data);
print_r($xml)

?>