$relations = $osmApi->getRelations(); _assert(count($relations) == 1); $ways = $osmApi->getWays(); _assert(count($ways) == 8); $nodes = $osmApi->getNodes(); _assert(count($nodes) == 680); $objects = $osmApi->getObjects(); _assert(count($objects) == 689); // getRelation, getWay, getNode $relation = $osmApi->getRelation('164211'); _assert($relation != null); _assert($relation->isDirty() == false); $way = $osmApi->getWay('34717700'); _assert($way != null); _assert($way->isDirty() == false); $node = $osmApi->getNode('691558211'); _assert($node != null); _assert($node->isDirty() == false); // getObjectsByTags $objects = $osmApi->getObjectsByTags(array('ref:INSEE' => '37001')); _assert(count($objects) == 2); $objects = $osmApi->getObjectsByTags(array('ref:INSEE' => '')); _assert(count($objects) == 2); $objects = $osmApi->getObjectsByTags(array('ref:INSEE' => '', 'place' => '')); _assert(count($objects) == 1); // test removeObject $osmApi->removeObject(OSM_Api::OBJTYPE_NODE, '691558211'); $node = $osmApi->hasNode('691558211'); _assert($node == null); $time_end = microtime(true); _wl('Test well done in ' . number_format($time_end - $time_start, 3) . ' second(s).');
$tagName = 'yapafo.net::test::' . time(); $tagValue = 'Have a nice dev ;-)'; $node->addTag(new OSM_Objects_Tag($tagName, $tagValue)); $tags = $node->findTags(array($tagName => $tagValue)); _assert(count($tags) == 1); _assert($node->hasTags(array($tagName => $tagValue))); // save changes _assert($node->isDirty()); _wl(' saving changes...'); $osmApi->saveChanges('A yapafo.net test'); _assert($node->isDirty()); $tags = $node->findTags(array($tagName => $tagValue)); _assert(count($tags) == 1); _assert($node->hasTags(array($tagName => $tagValue))); // remove then reload object to get real changes $osmApi->removeObject(OSM_Api::OBJTYPE_NODE, '611571'); $node = $osmApi->getNode('611571'); $tags = $node->findTags(array($tagName => $tagValue)); _assert(count($tags) == 1); _assert($node->hasTags(array($tagName => $tagValue))); // test a node's tag modification $tagName = 'yapafo.net::test::modify'; $tagValue = '1'; $osmApi->removeAllObjects(); $node = $osmApi->getNode('611571'); if (!$node->hasTags(array($tagName => null))) { $node->addTag(new OSM_Objects_Tag($tagName, $tagValue)); _wl(' saving changes...'); $osmApi->saveChanges('A yapafo.net test'); $osmApi->removeAllObjects(); $node = $osmApi->getNode('611571');