need all schools - globally - with all kinds of objects

hello openstreetmappers

need all schools - globally - want to extract schools from Overpass-api:

by the way: some schools are included as nodes, while others are areas (polygons or multipolygons), or both.

nodes, ways and relations - All kind of objects

i must catch them with - **all kinds of objects: **

And, finally, we search for all kind of objects with a certain tag within a bounding box. You need to repeat the tag for every type and to use the union operator. To allow us displaying everything on a map, we also ask for the nodes and ways that are referred by the relations and ways in the result:

    <query type="node">
      <has-kv k="amenity" v="fire_station"/>
      <bbox-query e="7.3" n="50.8" s="50.6" w="7.0"/>
    <query type="way">
      <has-kv k="amenity" modv="" v="fire_station"/>
      <bbox-query e="7.3" n="50.8" s="50.6" w="7.0"/>
    <query type="relation">
      <has-kv k="amenity" modv="" v="fire_station"/>
      <bbox-query e="7.3" n="50.8" s="50.6" w="7.0"/>
    <recurse type="down"/>

Easy: Use taginfo, search for amenity=school and click the overpass icon. Then remove the 3 bounding boxes and start the query. You might want to increase the timeout.

hello theodin

thanks for the hint - i will do so.

by the way - what do you mean by use taginfo?!

at the moment i actually do not know which kind of tagsare includet?`

well if you can help me i would be very happy…!!!

and futthermore i want to do some search with php - and subsequently store the results in a db. see what i allready have

 * OSM Overpass API with PHP SimpleXML / XPath
 * PHP Version: 5.4 - Can be back-ported to 5.3 by using 5.3 Array-Syntax (not PHP 5.4's square brackets)

// 1.) Query an OSM Overpass API Endpoint

$query = 'node

$context = stream_context_create(['http' => [
    'method'  => 'POST',
    'header' => ['Content-Type: application/x-www-form-urlencoded'],
    'content' => 'data=' . urlencode($query),

# please do not stress this service, this example is for demonstration purposes only.
$endpoint = '';
$start = microtime(true);

$result = simplexml_load_file($endpoint);
printf("Query returned %2\$d node(s) and took %1\$.5f seconds.\n\n", microtime(true) - $start, count($result->node));

// 2.) Work with the XML Result

# get all school nodes with xpath
$xpath = '//node[tag[@k = "amenity" and @v = "school"]]';
$schools = $result->xpath($xpath);
printf("%d School(s) found:\n", count($schools));
foreach ($schools as $index => $school)
    # Get the name of the school (if any), again with xpath
    list($name) = $school->xpath('tag[@k = "name"]/@v') + ['(unnamed)'];
    printf("#%02d: ID:%' -10s  [%s,%s]  %s\n", $index, $school['id'], $school['lat'], $school['lon'], $name);

well i want to extend the tags - and gather more information - n

in other words - not only the name and the lat, lon - info.

doing so - i have to extend the xpath -querys

at the moment i figure out how…

any and all help will be greatly appreciated