Contribute to project
Intro

Filtro alrededor Improve page

“¡Vaya, está vacío! ¿Será que no hay restaurantes cerca de mí?”, pregunta Bob.

Pues no. Verás, nuestra primera sentencia node(2190458950) es ya un nodo, ¡así que filtrarlo más no haría nada! Y como hemos añadido un nuevo filtro (restaurantes) a una sentencia que sabemos que nos da un árbol, básicamente le hemos pedido a OSM que filtre aún más nuestro conjunto de resultados (un nodo árbol) para que sólo muestre restaurantes, lo que obviamente hace que OSM no haga nada (¡ya que un árbol no es un restaurante!).

Nuestros ejemplos anteriores funcionaron porque filtrabamos los nodos con etiquetas presentes en un área (la caja delimitadora - bounding box con puntos lat/lon). Esencialmente, buscamos nodos en un área y, a continuación, utilizamos filtros para filtrarlos en un árbol.

Ahora mismo, como nuestro nodo ya es un nodo, no podemos simplemente usar un filtro para obtener un restaurante de él. Tenemos que obtener una nueva área del nodo.

Para ello, podemos hacer un gran uso de otro filtro, llamado around.

Instructions
  1. Around es un filtro que busca cualquier cosa alrededor de nuestro conjunto de resultados (result set) existente (en este caso nuestro nodo árbol). Dado que nuestro conjunto de resultados está dado por nuestra primera línea, necesitamos hacer otra declaración. Para ello, crear una nueva línea después de la primera línea, por lo que tiene una segunda línea en blanco.
  2. A diferencia de los filtros “por etiqueta” (by tag), los filtros “alrededor” (around) están rodeados de paréntesis y siguen el formato “around:n”, donde “n” es el radio de distancia en metros. Probemos a establecer el radio de distancia en 50.
  3. En la segunda línea, escribe node seguido de filter. ¡Asegúrate de seguir el formato en 2!
  4. No olvides añadir punto y coma al final de la frase.
That doesn't seem right! Recuerda hacer una nueva consulta. No te limites a añadir alrededor de la primera línea.
node(48.5657094, 13.4490548, 48.5662416, 13.4501676)[natural=tree][height=20]; node(around:50); out;