* 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"; } }
/** * 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); }