Не удается получить доступ к базе данных OSM

Я пытаюсь получить ограничение скорости с помощью OSM через php. Но я не могу этого сделать, потому что я получаю сообщение, как написано ниже:

Данные, включенные в этот документ, взяты с сайта www.openstreetmap.org. Данные предоставляются в рамках ODbL.

В чем может быть проблема? Ниже мой файл php.
Примечание: код все еще не завершен, я сейчас проверяю, могу ли я получить доступ к базе данных OSM … Но я не могу. Я надеюсь, что кто-то может указать мне правильное направление ..

 <?php

$lat  = 24.32633;
$lng = 54.58061;

$latm = -0.00015 + $lat;
$latp = 0.00015 + $lat;
$lngm = -0.00015 + $lng;
$lngp = 0.00015 + $lng;

//$json_url = 'http://overpass-api.de/api/interpreter?data=[out:json];node(24.326180, 54.580460,24.336580, 54.580860);way(bn);(._;>;);out;';
$json_url = 'http://overpass.osm.rambler.ru/cgi/interpreter';
$data = '<query type="way"> <bbox-query s="' . $lngm . '" w="' . $latm . '" n="' . $lngp . '" e="' . $latp . '"/> <!--this is auto-completed with the current map view coordinates.--> </query> <print/>';
$ch = curl_init( $json_url );

$options = array(
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => array('Content-type: application/json') ,
CURLOPT_POSTFIELDS => $data,
CURLOPT_RETURNTRANSFER => true,
);

curl_setopt_array( $ch, $options );
$result =  curl_exec($ch);
echo curl_exec($ch);

/*$resultArr = explode("<",$result);
foreach ($resultArr as $val) {
$temp = explode('"', $val);
//check the size of the array, if it is == 5, then do
if ($temp[1]=="maxspeed")
$speedlimit=$temp[3];

}

echo '{"speedlimit": "120"}'; */
?>

0

Решение

Ваша ограничительная рамка достаточно мала, и в OpenStreetMap просто нет данных для вашей ограничительной рамки. Вот почему вы получаете следующий почти пустой, но верный результат:

<?xml version="1.0" encoding="UTF-8"?>
<osm version="0.6" generator="Overpass API">
<note>The data included in this document is from www.openstreetmap.org. The data is made available under ODbL.</note>
<meta osm_base="2015-06-06T08:10:03Z"/>

<bounds minlat="54.5805" minlon="24.3262" maxlat="54.5808" maxlon="24.3265"/>


</osm>

Я настоятельно рекомендую сначала попробовать разные опции в Overpass Turbo, чтобы лучше ознакомиться с API Overpass. Пожалуйста, проверьте следующую ссылку в качестве отправной точки: http://overpass-turbo.eu/s/9MQ — это также ограничено шоссе с тэгом maxspeed (это то, что вы ищете, верно?).

Для иллюстрации вот скриншот с крошечной ограничительной рамкой посередине:

введите описание изображения здесь

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]