$xmlQuery = ' <osm-script> <union> <query type="relation" into="qr"> <has-kv k="boundary" v="administrative"/> <has-kv k="admin_level" v="8"/> <has-kv k="ref:INSEE" v="37001"/> </query> <recurse type="relation-node" from="qr"/> <recurse type="relation-way" from="qr"/> <recurse type="way-node"/> </union> <print /> </osm-script> '; $osmApi->queryOApi($xmlQuery); // getRelations, getWays, getNodes $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);
Documentation: <a href="http://wiki.openstreetmap.org/wiki/Overpass_API">Overpass_API</a>, <a href="http://wiki.openstreetmap.org/wiki/Overpass_API/Language_Guide">Overpass_API/Language_Guide</a> </p> <?php //echo 'get_magic_quotes_gpc(): ' . (get_magic_quotes_gpc() ? 'true' : 'false'); $xmlResult = null; $xmlQuery = null; if (array_key_exists('xmlquery', $_POST) && trim($_POST['xmlquery']) != "") { if (get_magic_quotes_gpc()) { $xmlQuery = stripslashes($_POST['xmlquery']); } else { $xmlQuery = $_POST['xmlquery']; } $timeStart = microtime(true); $response = $osmop->queryOApi($xmlQuery); $timeEnd = microtime(true); $loadedBytes = $osmop->getStatsLoadedBytes(); $xmlResult = $osmop->getLastLoadedXmlString(); } ?> <form method="post" accept-charset="UTF-8"> <p> <textarea name="xmlquery" rows="25" cols="80"><?php if ($xmlQuery != null) { echo htmlspecialchars($xmlQuery); } else { echo htmlspecialchars(' <osm-script> <query type="node">