<?php /** * example2_loadandparselocaldata.php * 22-Nov-2009 * * PHP Version 5 * * @category Services * @package Services_OpenStreetMap * @author Ken Guest <*****@*****.**> * @license BSD http://www.opensource.org/licenses/bsd-license.php * @version Release: @package_version@ * @link osmx.php */ $version = '@package_version@'; if (strstr($version, 'package_version')) { set_include_path(dirname(dirname(__FILE__)) . ':' . get_include_path()); } require_once 'Services/OpenStreetMap.php'; $osm = new Services_OpenStreetMap(); $osm->loadXML("./ballinacurragardens.osm"); $results = $osm->search(array("building" => "yes")); var_dump($results); // vim:set et ts=4 sw=4:
list($k, $v) = explode('|', $_GET['q']); $k = trim($k); $v = trim($v); } else { die; } } if (isset($_GET['lat'])) { $lat = $_GET['lat']; } if (isset($_GET['lat'])) { $lon = $_GET['lon']; } $osm = new Services_OpenStreetMap(); $osm->loadXML("./map.osm"); $results = $osm->search(array($k => $v)); echo "List of {$k}/{$v}\n"; echo "==================\n\n"; $oh = new Services_OpenStreetMap_OpeningHours(); foreach ($results as $result) { if ($result->getType() == 'node') { $bLat = $result->getLat(); $bLon = $result->getLon(); } elseif ($result->getType() == 'way' && $result->isClosed()) { $nodes = $result->getNodes(); array_pop($nodes); $bLat = 0; $bLon = 0; foreach ($nodes as $node) { $n = $osm->getNode($node); $bLat += $n->getLat();
/** * Test searching for a value where it is part of a semicolon delimited * string. * * @return void */ public function testSearchDelimited() { $mock = new HTTP_Request2_Adapter_Mock(); $mock->addResponse(fopen(__DIR__ . '/responses/capabilities.xml', 'rb')); $mock->addResponse(fopen(__DIR__ . '/responses/area.xml', 'rb')); $config = array('adapter' => $mock, 'server' => 'http://api06.dev.openstreetmap.org/'); $osm = new Services_OpenStreetMap($config); $results = $osm->search(array('amenity' => 'pharmacy')); $this->AssertTrue(empty($results)); $osm->get(52.84824191354071, -8.247245026639696, 52.89957825532213, -8.174161478654796); $results = $osm->search(array('amenity' => 'restaurant')); $tags = array(); foreach ($results as $result) { $tags[] = $result->getTags(); } $this->assertEquals($tags, array(0 => array('addr:city' => 'Nenagh', 'addr:country' => 'IE', 'addr:housenumber' => '19', 'addr:street' => 'Pearse Street', 'amenity' => 'restaurant', 'building' => 'yes', 'building:levels' => '3'), 1 => array('addr:city' => 'Nenagh', 'addr:country' => 'IE', 'addr:housenumber' => '26', 'addr:street' => 'Kenyon Street', 'amenity' => 'restaurant', 'name' => 'The Peppermill'), 2 => array('amenity' => 'restaurant', 'cuisine' => 'italian', 'name' => 'Pepe\'s Restaurant'), 3 => array('addr:city' => 'Nenagh', 'addr:country' => 'IE', 'addr:housenumber' => '19', 'addr:street' => 'Kenyon Street', 'amenity' => 'restaurant', 'name' => 'Simply Food'), 4 => array('amenity' => 'restaurant', 'cuisine' => 'chinese', 'name' => 'Jin\'s'), 5 => array('addr:city' => 'Nenagh', 'addr:country' => 'IE', 'addr:housenumber' => '23', 'addr:street' => 'Sarsfield Street', 'amenity' => 'pub;restaurant', 'name' => 'Andy\'s', 'phone' => '+353 67 32494', 'tourism' => 'guest_house', 'website' => 'http://www.andysnenagh.com'), 6 => array('amenity' => 'restaurant', 'cuisine' => 'chinese', 'name' => 'Golden Star', 'opening_hours' => 'Mo-Su 17:00-24:00'), 7 => array('amenity' => 'restaurant', 'cuisine' => 'indian', 'email' => '*****@*****.**', 'name' => 'Turban', 'opening_hours' => 'Mo-Su 16:30-23:00; Fr,Sa 16:30-23:30', 'phone' => '+353 67 42794'))); }
* * @category Services * @package Services_OpenStreetMap * @author Ken Guest <*****@*****.**> * @license BSD http://www.opensource.org/licenses/bsd-license.php * @version Release: @package_version@ * @link osmx.php */ $version = '@package_version@'; if (strstr($version, 'package_version')) { set_include_path(dirname(dirname(__FILE__)) . ':' . get_include_path()); } require_once 'Services/OpenStreetMap.php'; $osm = new Services_OpenStreetMap(); $osm->loadXML("./osm.osm"); $results = $osm->search(array("amenity" => "pharmacy")); echo "List of Pharmacies\n"; echo "==================\n\n"; foreach ($results as $result) { $name = $result->getTag('name'); $addrStreet = $result->getTag('addr:street'); $addrCity = $result->getTag('addr:city'); $addrCountry = $result->getTag('addr:country'); $addrHouseName = $result->getTag('addr:housename'); $addrHouseNumber = $result->getTag('addr:housenumber'); $openingHours = $result->getTag('opening_hours'); $phone = $result->getTag('phone'); $line1 = $addrHouseNumber ? $addrHouseNumber : $addrHouseName; if ($line1 != null) { $line1 .= ', '; }