/**
  * Should get an empty array (unauthorised connection)
  *
  * @return void
  */
 public function testPermissionsUnauthorised()
 {
     $mock = new HTTP_Request2_Adapter_Mock();
     $mock->addResponse(fopen(__DIR__ . '/responses/capabilities.xml', 'rb'));
     $mock->addResponse(fopen(__DIR__ . '/responses/permissionsUnauthorised.xml', 'rb'));
     $config = array('adapter' => $mock, 'server' => 'http://api.openstreetmap.org/', 'user' => '*****@*****.**', 'password' => 'wilmaAevah');
     $osm = new Services_OpenStreetMap($config);
     $permissions = $osm->getPermissions();
     $expected = array();
     $this->assertEquals($permissions, $expected);
 }
 /**
  * Test20205
  *
  * @return void
  */
 public function test20205()
 {
     $mock = new HTTP_Request2_Adapter_Mock();
     $mock->addResponse(fopen(__DIR__ . '/responses/capabilities.xml', 'rb'));
     $mock->addResponse(fopen(__DIR__ . '/responses/PEARBug20205_moskau_ru.xml', 'rb'));
     $mock->addResponse(fopen(__DIR__ . '/responses/PEARBug20205_moskau_en.xml', 'rb'));
     $mock->addResponse(fopen(__DIR__ . '/responses/PEARBug20205_russia_en.xml', 'rb'));
     $mock->addResponse(fopen(__DIR__ . '/responses/PEARBug20205_russia_fr.xml', 'rb'));
     $config = array('adapter' => $mock, 'server' => 'http://api06.dev.openstreetmap.org/');
     $osm = new Services_OpenStreetMap($config);
     $osm->getConfig()->setAcceptLanguage('ru,en-AU');
     $test = $osm->getPlace('Moskau');
     $attribs = $test[0]->attributes();
     $display = (string) $attribs['display_name'];
     $expected = "Москва, " . "Центральный федеральный округ, " . "Российская Федерация";
     $this->assertEquals($display, $expected);
     $osm->getConfig()->setAcceptLanguage('en');
     $test = $osm->getPlace('Moskau');
     $attribs = $test[0]->attributes();
     $display = (string) $attribs['display_name'];
     $expected = 'Moscow, Central Federal District, Russian Federation';
     $this->assertEquals($display, $expected);
     $test = $osm->getPlace('Russia');
     $attribs = $test[0]->attributes();
     $display = (string) $attribs['display_name'];
     $expected = 'Russian Federation';
     $this->assertEquals($display, $expected);
     $osm->getConfig()->setAcceptLanguage('fr');
     $test = $osm->getPlace('Russia');
     $attribs = $test[0]->attributes();
     $display = (string) $attribs['display_name'];
     $expected = 'Fédération de Russie';
     $this->assertEquals($display, $expected);
 }
 /**
  * Test reverse lookup
  *
  * @return void
  */
 public function testReverse()
 {
     $mock = new HTTP_Request2_Adapter_Mock();
     $mock->addResponse(fopen(__DIR__ . '/responses/capabilities.xml', 'rb'));
     $mock->addResponse(fopen(__DIR__ . '/responses/mapquestReverseGeocodeIrishTimes.xml', 'rb'));
     $mock->addResponse(fopen(__DIR__ . '/responses/mapquestReverseGeocodeChurchtown.xml', 'rb'));
     $config = array('server' => 'http://open.mapquestapi.com/nominatim/v1/', 'adapter' => $mock);
     $osm = new Services_OpenStreetMap($config);
     $nominatim = new Services_OpenStreetMap_Nominatim($osm->getTransport());
     $nominatim->setServer('mapquest');
     $xml = $nominatim->setFormat('xml')->reverseGeocode("53.3459641", "-6.2548149");
     $this->AssertEquals($xml[0]->addressparts->house, "The Irish Times");
     $this->AssertEquals($xml[0]->addressparts->house_number, "24-28");
     $this->AssertEquals($xml[0]->addressparts->road, "Tara Street");
     $this->AssertEquals($xml[0]->addressparts->city, "Dublin");
     $this->AssertEquals($xml[0]->addressparts->county, "County Dublin");
     $this->AssertEquals($xml[0]->addressparts->state_district, "Leinster");
     $this->AssertEquals($xml[0]->addressparts->postcode, "2");
     $this->AssertEquals($xml[0]->addressparts->country, "Ireland");
     $this->AssertEquals($xml[0]->addressparts->country_code, "ie");
     $nominatim->setCountryCodes('ie');
     $res = $nominatim->search('churchtown');
     $this->assertEquals(count($res), 10);
 }
 /**
  * Test reverse geocode.
  *
  * This is also a good example of how to use Services_OpenStreetMap_Nominatim
  * separate from the core Services_OpenStreetMap object.
  *
  * @return void
  */
 public function testNomimatimReverseGeocode()
 {
     $mock = new HTTP_Request2_Adapter_Mock();
     $mock->addResponse(fopen(__DIR__ . '/responses/nominatim_reverse_it.xml', 'rb'));
     $osm = new Services_OpenStreetMap(array('adapter' => $mock));
     $nominatim = new Services_OpenStreetMap_Nominatim($osm->getTransport());
     $xml = $nominatim->setFormat('xml')->reverseGeocode("53.3459641", "-6.2548149");
     $this->AssertEquals($xml[0]->result, "The Irish Times, 24-28, Tara Street, Dublin 2, Dublin, " . "County Dublin, Leinster, D02, Ireland");
     $this->AssertEquals($xml[0]->addressparts->road, "Tara Street");
     $this->AssertEquals($xml[0]->addressparts->city, "Dublin");
 }
<?php

/**
 * example1_cahir.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->getConfig()->setServer('http://api.openstreetmap.org/');
try {
    $osm->get(52.821022799999994, -8.3564758, 53.0428644, -7.7330017);
    file_put_contents("homelands.osm", $osm->getXml());
} catch (Exception $e) {
    echo $e->getMessage(), "\n";
}
// vim:set et ts=4 sw=4:
 /**
  * Test getting user info for user other than authorised user
  *
  * @return void
  */
 public function testUser11324()
 {
     $mock = new HTTP_Request2_Adapter_Mock();
     $mock->addResponse(fopen(__DIR__ . '/responses/capabilities.xml', 'rb'));
     $mock->addResponse(fopen(__DIR__ . '/responses/user11324.xml', 'rb'));
     $config = array('adapter' => $mock, 'server' => 'http://api06.dev.openstreetmap.org/', 'user' => '*****@*****.**', 'password' => 'w1lma4evah');
     $osm = new Services_OpenStreetMap($config);
     $user = $osm->getUserById(6367);
     $this->assertEquals($user->getDisplayName(), 'kenguest');
     $this->assertEquals($user->getId(), 11324);
     $this->assertEquals($user->getChangesets(), 1910);
     $this->assertEquals($user->getTraces(), 115);
     $this->assertEquals($user->getBlocksReceived(), 0);
     $this->assertEquals($user->getActiveBlocksReceived(), 0);
     $this->assertNull($user->getBlocksIssued());
     $this->assertNull($user->getActiveBlocksIssued());
     $this->assertNull($user->getLanguages());
     $this->assertEquals($user->getRoles(), array());
 }
<?php

/**
 * example4_getchangeset.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();
try {
    var_dump($osm->getChangeset(2217466));
} catch (Services_OpenStreetMap_Exception $e) {
    var_dump($e);
}
// vim:set et ts=4 sw=4:
 /**
  * Open a new changeset, create a node and save it by associating it with
  * that changeset and then committing.
  * The id of the node should change from -1 to a positive integer/double.
  *
  * @return void
  */
 public function testSaveNode()
 {
     if (!file_exists($this->credentialsFile)) {
         $this->markTestSkipped('Credentials file does not exist.');
     }
     $mock = new HTTP_Request2_Adapter_Mock();
     $mock->addResponse(fopen(__DIR__ . '/responses/capabilities.xml', 'rb'));
     $mock->addResponse(fopen(__DIR__ . '/responses/changeset_id', 'rb'));
     $mock->addResponse(fopen(__DIR__ . '/responses/diff_create_node.xml', 'rb'));
     $mock->addResponse(fopen(__DIR__ . '/responses/changeset_closed', 'rb'));
     $config = array('adapter' => $mock, 'server' => 'http://api06.dev.openstreetmap.org/', 'passwordfile' => $this->credentialsFile);
     $osm = new Services_OpenStreetMap($config);
     $lat = 52.8638729;
     $lon = -8.1983611;
     $node = $osm->createNode($lat, $lon, array('building' => 'yes', 'amenity' => 'vet'));
     $this->assertEquals($node->getTags(), array('building' => 'yes', 'amenity' => 'vet'));
     $this->assertEquals($lat, $node->getlat());
     $this->assertEquals($lon, $node->getlon());
     $node->setTag('amenity', 'veterinary')->setTag('name', 'O\'Kennedy');
     $this->assertEquals($node->getTags(), array('building' => 'yes', 'amenity' => 'veterinary', 'name' => 'O\'Kennedy'));
     $this->assertEquals(-1, $node->getId());
     $changeset = $osm->createChangeset();
     $changeset->begin("Add O'Kennedy vets in Nenagh");
     $changeset->add($node);
     $changeset->commit();
     $this->assertEquals($node->getId(), 1448499623);
 }
 /**
  * Test getRelations called with more than one argument/parameter.
  *
  * @return void
  */
 public function testGetRelationsManyArgs()
 {
     $mock = new HTTP_Request2_Adapter_Mock();
     $mock->addResponse(fopen(__DIR__ . '/responses/capabilities.xml', 'rb'));
     $mock->addResponse(fopen(__DIR__ . '/responses/relations_917266_20645_2740.xml', 'rb'));
     $mock->addResponse(fopen(__DIR__ . '/responses/relation_changeset.xml', 'rb'));
     $config = array('adapter' => $mock, 'server' => 'http://api06.dev.openstreetmap.org/');
     $osm = new Services_OpenStreetMap($config);
     $relations = $osm->getRelations(917266, 20645, 2740);
     $this->assertEquals(3, sizeof($relations));
     $relationsInfo = array(array('id' => 2740, 'name' => 'The Wicklow Way', 'type' => 'route', 'members' => array('role' => '', 'count' => 113, 'type' => 'node')), array('id' => 20645, 'name' => 'International E-road network', 'type' => 'network', 'members' => array('role' => '', 'type' => 'relation', 'count' => 48)), array('id' => 917266, 'name' => 'Dublin Bus route 14', 'type' => 'route', 'members' => array('role' => 'forward', 'type' => 'way', 'count' => 112)));
     foreach ($relations as $key => $relation) {
         $tags = $relation->getTags();
         $members = $relation->getMembers();
         $this->assertEquals($tags['name'], $relationsInfo[$key]['name']);
         $this->assertEquals($tags['type'], $relationsInfo[$key]['type']);
         $this->assertEquals($relation->getId(), $relationsInfo[$key]['id']);
         $this->assertEquals(sizeof($members), $relationsInfo[$key]['members']['count']);
         $this->assertEquals($members[0]['type'], $relationsInfo[$key]['members']['type']);
         $this->assertEquals($members[0]['role'], $relationsInfo[$key]['members']['role']);
     }
 }
    $v = strpos($_GET['q'], '|');
    if ($v != false) {
        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) {
<?php

/**
 * example1_savetolocalfile.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     example12_notes.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();
try {
    $osm->getConfig()->setServer('http://api.openstreetmap.org/');
} catch (Exception $ex) {
    var_dump($ex->getMessage());
    // Fall back to default server...so carry on.
}
var_dump($osm->reverseGeocode("52.9158472", "-8.1755081", 0));
var_dump($osm->reverseGeocode("34.6863136", "94.7452061", 0));
Esempio n. 12
0
 /**
  * Test retrieving relations that refer to a specific node.
  *
  * @return void
  */
 public function testGetRelations()
 {
     $mock = new HTTP_Request2_Adapter_Mock();
     $mock->addResponse(fopen(__DIR__ . '/responses/capabilities.xml', 'rb'));
     $mock->addResponse(fopen(__DIR__ . '/responses/node_597697114.xml', 'rb'));
     $mock->addResponse(fopen(__DIR__ . '/responses/relation_405053.xml', 'rb'));
     $config = array('adapter' => $mock, 'server' => 'http://api06.dev.openstreetmap.org/');
     $osm = new Services_OpenStreetMap($config);
     $relations = $osm->getNode(597697114)->getRelations();
     $this->assertInstanceOf('Services_OpenStreetMap_Relations', $relations);
     $this->assertEquals(sizeof($relations), 1);
     $this->assertInstanceOf('Services_OpenStreetMap_Relation', $relations[0]);
     $this->assertEquals($relations[0]->getTags(), array('complete' => 'no', 'name' => 'Dublin Bus route 75', 'operator' => 'Dublin Bus', 'ref' => '75', 'route' => 'bus', 'type' => 'route'));
 }
Esempio n. 13
0
 /**
  * Return an array of specified nodes.
  *
  * If none can be retrieved, for example if they all have been deleted,
  * then the boolean false value is returned.
  *
  * <code>
  * $osm = new Services_OpenStreetMap();
  * var_dump($osm->getNodes(52245107, 52245108));
  * </code>
  * Or
  * <code>
  * $osm = new Services_OpenStreetMap();
  * var_dump($osm->getNodes(array(52245107, 52245108)));
  * </code>
  *
  * @return Services_OpenStreetMap_Nodes
  */
 public function getNodes()
 {
     return $this->getTransport()->getObjects('node', Services_OpenStreetMap::getIDs(func_get_args()));
 }
 /**
  * Test searching changesets for those by a specific person via
  * display_name and created within a certain timespan.
  *
  * @return void
  */
 public function testTimeAfterOnly()
 {
     $mock = new HTTP_Request2_Adapter_Mock();
     $mock->addResponse(fopen(__DIR__ . '/responses/capabilities.xml', 'rb'));
     $mock->addResponse(fopen(__DIR__ . '/responses/changeset_search_timespan.xml', 'rb'));
     $config = array('adapter' => $mock, 'server' => 'http://api06.dev.openstreetmap.org/');
     $osm = new Services_OpenStreetMap($config);
     $time = '17 November 2011';
     $time2 = '29 November 2011';
     $displayName = new Services_OpenStreetMap_Criterion('display_name', 'kenguest');
     $this->assertEquals($displayName->query(), 'display_name=kenguest');
     $this->assertEquals($displayName->type(), 'display_name');
     $c = new Services_OpenStreetMap_Criterion('time', $time, $time2);
     $this->assertEquals($c->query(), 'time=2011-11-17T00%3A00%3A00Z%2C2011-11-29T00%3A00%3A00Z');
     $this->assertEquals($c->type(), 'time');
     $changesets = $osm->searchChangesets(array($displayName, $c));
     $this->assertInstanceOf('Services_OpenStreetMap_Changesets', $changesets);
 }
 * 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     example10_user_info.php
 */
$version = '@package_version@';
if (strstr($version, 'package_version')) {
    set_include_path(dirname(dirname(__FILE__)) . ':' . get_include_path());
}
require_once 'Services/OpenStreetMap.php';
$id = 1;
$osm = new Services_OpenStreetMap();
$user = $osm->getUserById($id);
if ($user === false) {
    die("User #{$id} not found\n");
}
echo "Display Name: ", $user->getDisplayName(), " (", $user->getId(), ")\n";
echo "Roles ";
var_dump($user->getRoles());
echo "\n";
echo "#Changesets ", $user->getChangesets(), "\n";
echo "#Traces ", $user->getTraces(), "\n";
echo "#BlocksReceived ", $user->getBlocksReceived(), "\n";
echo "#ActiveBlocksReceived ", $user->getActiveBlocksReceived(), "\n";
echo "#BlocksIssued ", $user->getBlocksIssued(), "\n";
echo "#Languages ";
var_dump($user->getLanguages());
<?php

/**
 * example3_genericdemo.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  CVS: <cvs_id>
 * @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();
// var_dump($osm->getCoordsOfPlace("Nenagh, Ireland"));
var_dump($osm->getNode(52245107));
// vim:set et ts=4 sw=4:
 *
 * 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     example12_notes.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(array('verbose' => true));
try {
    $osm->getConfig()->setServer('http://api.openstreetmap.org/');
} catch (Exception $ex) {
    var_dump($ex->getMessage());
    // Fall back to default server...so carry on.
}
$notes = $osm->getNotesByBbox(-8.247245026639691, 52.8482419135407, -8.17416147865479, 52.8995782553221);
echo $notes;
foreach ($notes as $note) {
    echo 'ID: ', $note->getId(), "\n";
    echo 'LAT/LON:     ', $note->getLat(), "/", $note->getLon(), "\n";
    echo 'STATUS:      ', $note->getStatus(), "\n";
    echo 'CREATED:     ', strftime("%c %T", $note->getDateCreated()), "\n";
    echo 'URL:         ', $note->getUrl(), "\n";
    echo 'COMMENT URL: ', $note->getCommentUrl(), "\n";
/**
 * example5_history.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     example5_history.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();
try {
    $w = $osm->getWay(118063652);
    $w = $osm->getWay(24443279);
} catch (Services_OpenStreetMap_Exception $e) {
    var_dump($e);
}
$all_versions = $w->history();
foreach ($all_versions as $way) {
    var_dump($way->getVersion());
}
// vim:set et ts=4 sw=4:
<?php

require_once 'Services/OpenStreetMap.php';
$id = 1707362;
$osm = new Services_OpenStreetMap();
$relation = $osm->getRelation($id);
file_put_contents("relation.{$id}.xml", $relation->getXml());
#!/usr/bin/php
<?php 
/**
 * Check API/DB/GPX server status
 * 28 May 2012
 *
 * PHP Version 5
 *
 * @category Services
 * @package  Services_OpenStreetMap
 * @author   Ken Guest <*****@*****.**>
 * @license  BSD http://www.opensource.org/licenses/bsd-license.php
 * @link     example11_checkstatus.php
 */
$version = '@package_version@';
if (strstr($version, 'package_version')) {
    set_include_path(dirname(dirname(__FILE__)) . ':' . get_include_path());
}
require_once 'Services/OpenStreetMap.php';
$config = array('server' => 'http://api.openstreetmap.org/');
$osm = new Services_OpenStreetMap($config);
echo "Querying {$config['server']}\n\n";
echo "API Status: ", $osm->getApiStatus(), "\n";
echo "DB  Status: ", $osm->getDatabaseStatus(), "\n";
echo "GPX Status: ", $osm->getGpxStatus(), "\n";
Esempio n. 21
0
 /**
  * Test the bboxToMinMax method
  *
  * @return void
  */
 public function testBboxToMinMax()
 {
     $mock = new HTTP_Request2_Adapter_Mock();
     $mock->addResponse(fopen(__DIR__ . '/responses/capabilities.xml', 'rb'));
     $config = array('adapter' => $mock);
     $osm = new Services_OpenStreetMap($config);
     $this->assertEquals($osm->bboxToMinMax('0.0327873', '52.260074599999996', '0.0767326', '52.282047299999995'), array('52.260074599999996', '0.0327873', '52.282047299999995', '0.0767326'));
 }
$version = '@package_version@';
if (strstr($version, 'package_version')) {
    set_include_path(dirname(dirname(__FILE__)) . ':' . get_include_path());
}
require_once 'Services/OpenStreetMap.php';
require_once 'HTTP/Request2.php';
require_once 'HTTP/Request2/Adapter/Mock.php';
$osm = new Services_OpenStreetMap();
$mock = new HTTP_Request2_Adapter_Mock();
$mock->addResponse(fopen(__DIR__ . '/../tests/responses/capabilities.xml', 'rb'));
$mock->addResponse(fopen(__DIR__ . '/../tests/responses/changeset.xml', 'rb'));
$mock->addResponse(fopen(__DIR__ . '/../tests/responses/changeset.xml', 'rb'));
$mock->addResponse(fopen(__DIR__ . '/../tests/responses/diff_create_node.xml', 'rb'));
$mock->addResponse(fopen(__DIR__ . '/../tests/responses/changeset_closed', 'rb'));
$config = array('adapter' => $mock, 'server' => 'http://api.openstreetmap.org/', 'passwordfile' => __DIR__ . '/credentials');
$osm = new Services_OpenStreetMap($config);
$mm = $osm->bboxToMinMax(-8.6519835, 52.638735499999996, -8.6214513, 52.649915099999994);
$osm->get($mm[0], $mm[1], $mm[2], $mm[3]);
$results = $osm->search(array("building" => "yes"));
$changeset = $osm->createChangeset();
$changeset->begin('Additional details for ballinacurra gardens.');
foreach ($results as $result) {
    $addrStreet = $result->getTag('addr:street');
    if ($addrStreet != 'Oakview Drive') {
        continue;
    }
    $user = $result->getUser();
    $name = $result->getTag('name');
    if ('exampleusername' == $user) {
        $tags = $result->getTags();
        if (isset($tags['building_roof'])) {
/**
 * example1_savetolocalfile.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(array('verbose' => true));
var_dump($osm->getConfig());
try {
    $osm->getConfig()->setServer('http://api.openstreetmap.org/');
} catch (Exception $ex) {
    var_dump($ex->getMessage());
    // Fall back to default server...so carry on.
}
$osm->get(52.84824191354071, -8.247245026639696, 52.89957825532213, -8.174161478654796);
// $osm->get(52.9208049, -8.1156559, 52.9695733, -8.0005314);
file_put_contents("osm.osm", $osm->getXml());
// vim:set et ts=4 sw=4:
Esempio n. 24
0
 /**
  * Test retrieving relations which refer to a specific way.
  *
  * @return void
  */
 public function testWayBackRelations()
 {
     $mock = new HTTP_Request2_Adapter_Mock();
     $mock->addResponse(fopen(__DIR__ . '/responses/capabilities.xml', 'rb'));
     $mock->addResponse(fopen(__DIR__ . '/responses/way_5850969.xml', 'rb'));
     $mock->addResponse(fopen(__DIR__ . '/responses/way_5850969_relations.xml', 'rb'));
     $config = array('adapter' => $mock, 'server' => 'http://api06.dev.openstreetmap.org');
     $osm = new Services_OpenStreetMap($config);
     $relations = $osm->getWay(5850969)->getRelations();
     $this->assertInstanceOf('Services_OpenStreetMap_Relations', $relations);
     $this->assertEquals(2, sizeof($relations));
     $this->assertEquals($relations[0]->getTag('name'), 'Dublin Bus route 14');
     $this->assertEquals($relations[1]->getTag('name'), 'Dublin Bus route 75');
 }
<?php

/**
 * example6_closedway.php
 * 21-Aug-2011
 *
 * PHP Version 5
 *
 * @category example6_closedway
 * @package  example6_closedway
 * @author   Ken Guest <*****@*****.**>
 * @license  BSD http://www.opensource.org/licenses/bsd-license.php
 * @version  Release: @package_version@
 * @link     example6_closedway.php
*/
$version = '@package_version@';
if (strstr($version, 'package_version')) {
    set_include_path(dirname(dirname(__FILE__)) . ':' . get_include_path());
}
require_once 'Services/OpenStreetMap.php';
$id = 18197393;
$osm = new Services_OpenStreetMap();
try {
    $w = $osm->getWay($id);
} catch (Services_OpenStreetMap_Exception $e) {
    var_dump($e);
}
$h = $w->isClosed();
echo "Way {$id} is ", $h ? 'closed' : 'not closed', "\n";
 * example7_searchchangeset.php
 * 21-Aug-2011
 *
 * PHP Version 5
 *
 * @category example6_closedway
 * @package  example6_closedway
 * @author   Ken Guest <*****@*****.**>
 * @license  BSD http://www.opensource.org/licenses/bsd-license.php
 * @version  Release: @package_version@
 * @link     example7_searchchangeset.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();
try {
    $changesets = $osm->searchChangesets(array(new Services_OpenStreetMap_Criterion('user', 11324), new Services_OpenStreetMap_Criterion('bbox', -8.059027499999999, 52.9347449, -7.9966939, 52.9611999), new Services_OpenStreetMap_Criterion('closed')));
} catch (Services_OpenStreetMap_Exception $e) {
    die($e->getMessage());
}
foreach ($changesets as $changeset) {
    echo $changeset->getCreatedAt(), "\t";
    try {
        echo $changeset->getTag('comment'), "\n";
    } catch (Exception $e) {
        echo "\n";
    }
}
Esempio n. 27
0
<?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:
 *
 * 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("./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) {
Esempio n. 29
0
 /**
  * Testa
  *
  * @return void
  */
 public function testa()
 {
     $mock = new HTTP_Request2_Adapter_Mock();
     $mock->addResponse(fopen(__DIR__ . '/responses/capabilities.xml', 'rb'));
     $mock->addResponse(fopen(__DIR__ . '/responses/get_notes.xml', 'rb'));
     $server = 'http://api06.dev.openstreetmap.org/';
     $config = array('adapter' => $mock, 'server' => $server);
     $osm = new Services_OpenStreetMap($config);
     $minlon = "-8.2456593";
     $minlat = "52.8488977";
     $maxlon = "-8.1751247";
     $maxlat = "52.8839662";
     $notes = $osm->getNotesByBbox($minlon, $minlat, $maxlon, $maxlat, 200, 14);
     $note = $notes[0];
     $this->assertInstanceOf('Services_OpenStreetMap_Notes', $notes);
     $this->assertInstanceOf('Services_OpenStreetMap_Note', $note);
     $comments = $note->getComments();
     $comment = $comments[0];
     $this->assertInstanceOf('Services_OpenStreetMap_Comment', $comment);
     $this->assertInstanceOf('Services_OpenStreetMap_Comments', $comments);
 }
 /**
  * Test generator
  *
  * @return void
  */
 public function testGenerator()
 {
     $mock = new HTTP_Request2_Adapter_Mock();
     $mock->addResponse(fopen(__DIR__ . '/responses/capabilities.xml', 'rb'));
     $config = array('api_version' => '0.6', 'adapter' => $mock, 'password' => null, 'passwordfile' => null, 'user' => null, 'verbose' => false, 'User-Agent' => 'Services_OpenStreetMap', 'server' => 'http://api06.dev.openstreetmap.org/');
     $osm = new Services_OpenStreetMap($config);
     $generator = $osm->getConfig()->getGenerator();
     $this->assertEquals($generator, 'OpenStreetMap server');
     $mock2 = new HTTP_Request2_Adapter_Mock();
     $mock2->addResponse(fopen(__DIR__ . '/responses/capabilities_jxapi.xml', 'rb'));
     $config['adapter'] = $mock2;
     $osm = new Services_OpenStreetMap($config);
     $generator = $osm->getConfig()->getGenerator();
     $this->assertEquals($generator, 'Java XAPI Server');
 }