ES:Overpass turbo/Wizard

From OpenStreetMap Wiki
Jump to: navigation, search
Idiomas disponibles — Overpass turbo/Wizard
· Afrikaans · Alemannisch · aragonés · asturianu · azərbaycanca · Bahasa Indonesia · Bahasa Melayu · Bân-lâm-gú · Basa Jawa · Basa Sunda · Baso Minangkabau · bosanski · brezhoneg · català · čeština · corsu · dansk · Deutsch · eesti · English · español · Esperanto · estremeñu · euskara · français · Frysk · Gaeilge · Gàidhlig · galego · Hausa · hrvatski · Igbo · interlingua · Interlingue · isiXhosa · isiZulu · íslenska · italiano · Kiswahili · Kreyòl ayisyen · kréyòl gwadloupéyen · Kurdî · latviešu · Lëtzebuergesch · lietuvių · magyar · Malagasy · Malti · Nederlands · Nedersaksies · norsk bokmål · norsk nynorsk · occitan · Oromoo · oʻzbekcha/ўзбекча · Plattdüütsch · polski · português · română · shqip · slovenčina · slovenščina · Soomaaliga · suomi · svenska · Tagalog · Tiếng Việt · Türkçe · Vahcuengh · vèneto · Wolof · Yorùbá · Zazaki · српски / srpski · беларуская · български · қазақша · македонски · монгол · русский · тоҷикӣ · українська · Ελληνικά · Հայերեն · ქართული · नेपाली · मराठी · हिन्दी · भोजपुरी · অসমীয়া · বাংলা · ਪੰਜਾਬੀ · ગુજરાતી · ଓଡ଼ିଆ · தமிழ் · తెలుగు · ಕನ್ನಡ · മലയാളം · සිංහල · བོད་ཡིག · ไทย · မြန်မာဘာသာ · ລາວ · ភាសាខ្មែរ · ⵜⴰⵎⴰⵣⵉⵖⵜ ⵜⴰⵏⴰⵡⴰⵢⵜ‎ · አማርኛ · 한국어 · 日本語 · 中文(简体)‎ · 中文(繁體)‎ · 吴语 · 粵語 · ייִדיש · עברית · اردو · العربية · پښتو · سنڌي · فارسی · ދިވެހިބަސް
Overpass API logo.svg
±
Overpass API · Language reference · Language guide · Technical terms · Areas · Query examples · Advanced examples · Sparse Editing · Permanent ID · FAQ · más (español) · Web site
Servers status · Versions · Development · Technical design · Installation · XAPI compatibility layer · Public transport sketch lines · Aplicaciones · Source code and issues
Overpass turbo · Wizard · Overpass turbo shortcuts · MapCSS stylesheets · Export to GeoJSON · más (español) · Source code and issues · Web site
1. Selecciona el asistente en la barra de herramientas
2. Ingresa lo que deseas buscar
3. Pulsa el botón "Ejecutar consulta"
4. Disfruta de los resultados

Propósito

Escribir consultas de Overpass, puede ser a veces un trabajo bastante tedioso, repetitivo y que requiere del conocimiento del lenguaje de consulta en primer lugar. Overpass turbo es un asistente de consulta que le ayuda a consultar términos de búsquedas, mediante la conversión de términos simples y legibles por el hombre. He aquí un ejemplo: para obtener fuentes de agua potable, todo lo que tiene que hacer es iniciar el Asistente y escribir la etiqueta correspondiente amenity=drinking_water, en lugar de escribir una consulta de Overpass de múltiples líneas.

La sintaxis que entiende el Asistente está inspirado en las funciones de búsqueda/filtro de JOSM. Una búsqueda consiste en expresiones de filtro individuales, por ejemplo key=value (para una simple búsqueda de etiqueta) o type:node (para limitar el resultado sólo a los nodos). Esto puede combinarse con operaciones lógicas como and o or. Aquí puedes ver algunos ejemplos:

  • tourism=hotel
  • amenity=drinking_water and type:node
  • (highway=primary or highway=secondary) and type:way

Por defecto, los datos se buscan en la vista de la pantalla actual. Pero el Asistente también entiende algunos otros filtros de ubicación. Aqui hay un eemplo de búsqueda en una determinada ciudad:

  • tourism=museum in Vienna

Etiquetas de búsquedas

selector descripción
key=value

key==value

Coincide con los objetos que tienen una etiqueta con la clave key y el valor value.
key:valuefragment Coincide con los objetos que tienen una etiqueta con la clave key y cuyo valor contiene la cadena valuefragment.
key~regex

key~=regex
key like regex

Coincide con los objetos que tienen una etiqueta con la clave key y cuyo valor coincide con la expresión regular regex.
~keyregex~regex

~keyregex~=regex

Coincide con los objetos que tienen una etiqueta con una clave que coincide con la expresión regular keyregex y cuyo valor coincide con la expresión regular regex.
key=*

key==*
key is not null

Coincide con los objetos que tienen una etiqueta con una clave key.
key!=value

key!==value

Coincide con los objetos que NO tienen una etiqueta con una clave key y el valor value.
key!~regex

key not like value

Coincide con:
a) objetos que tienen una etiqueta con una clave key y cuyo valor NO coincide con la expresión regular regex
b) objetos que NO tienen una etiqueta con una clave key
key!=*

key!==*
key is null

Coincide con los objetos que NO tienen una etiqueta con una clave key.

Si una cadena (por ejemplo, el valor de una de las etiquetas selectores anteriores) contiene espacios en blanco u otro caracter especial (como dos puntos, guiones, caracteres no-ascii, etc.) debe estar encerrado en comillas:

  • name="New York"
  • "addr:housenumber" = *

Las expresiones regulares pueden ser tanto, como cadenas simples o con la notación de expresiones regulares bien conocida:

  • ref ~ "[0-9]+"
  • name ~ /street$/i (el modificador i distingue entre mayúsculas y minúsculas)

Asistente inteligente

En lugar de las búsquedas de etiqueta, se puede filtrar por categorías de objetos. Por ejemplo, se puede usar los términos Hotel, "Drinking Water", Hospital, etc. en lugar de la correspondiente etiqueta. Este trabajo sirve para todos los objetos del programa definidos en el editor iD.

Filtros de metadatos

selector description
type:osm-type Coincide con los objetos que tienen el tipo osm-type (nodo, via o relación).
id:osm-id Coincide con los objetos que tienen el identificador osm-id.
user:osm-user Coincide con los objetos modificados por el usuario osm-user.
uid:osm-uid Coincide con los objetos modificados por un usuario con el identificador osm-uid.
newer:date Coincide con los objetos añadidos o modificados recientemente en la fecha date.

El parámetro date para el selector newer puede ser, ya sea una cadena de tiempo ISO 8601 (p.e. "2013-11-24T19:01:00Z") o una fecha relativa el cual indica una cantidad relativa de tiempo en el pasado:

  • newer:1day (selecciona todo lo añadido o modificado en las últimas 24 horas)
  • newer:"4 weeks"

Se permite unidades como: second(s), minute(s), hour(s), day(s), week(s), month(s) y year(s).

Filtros de ubicación

Por defecto, el Asistente crea consultas de búsquedas para la vista actual del mapa (via <bbox-query {{bbox}}/>). Para detallar un filtro de ubicación al final de la búsqueda, también se puede buscar en diferentes lugares o incluso a nivel mundial:

selector descripción
in bbox (predefinido) Coincide con los objetos que están dentro de la vista actual del mapa.
in place Coincide con los objetos que están dentro del área llamada place.
around place Coincide con los objetos que están cerca del lugar llamado place.
global Búsqueda global de objetos, sin ningún tipo de restricción de ubicación. For results falling outside the current view-port, use the Zoom to Data control to locate it..

El lugar place - los nombres mencionados anteriormente pasan primero a través de una búsqueda Nominatim. Esto significa que, puedes usar cualquier nombre de lugar que también se pueda encontrar en el cuadro de búsqueda de OSM, como nombres de ciudades, puntos de interés, direcciones, etc.

  • tourism=museum in Vienna
  • amenity=restaurant around "1600 Pennsylvania Ave NW, Washington"
  • tourism=attraction around "Riesenrad, Wien"

Operaciones booleanas

operator description
X or Y

X || Y, X | Y

Coincide cuando cualquiera de los objetos tienen una etiqueta con la clave key y el valor value.
X and Y

X && Y, X & Y

Coincide cuando cualquiera de los objetos tienen una etiqueta con la clave key y el valor value.

Todas las operaciones booleanas, pueden usarse con pinzas para cambiar las prioridades de operador:

  • (highway=bus_stop or railway=platform) and shelter=yes

Wizard filled by URL-parameter

You can create links to overpass turbo that use the query wizard to create a query (which is loaded on startup and presentet to the user). An example is http://overpass-turbo.eu/?w=pub+in+dublin. Such URLs to overpass turbo are both quite short and at least somewhat human readable.

By appending &R to this link, the query will be executed immediately and query results are shown on the map. Example: http://overpass-turbo.eu/?w=pub+in+dublin&R

This feature is also utilized by the search engine DuckDuckGo: You can simply type your query in their search box accompanied by !otw (which stands for "Overpass Turbo Wizard") and when starting the search you are immediately taken to the overpass turbo page with the query you entered.

You can use wildcards

You would like to see all ham-radio repeater in a certain region in Germany. The callsigns of the ham-radio repeater in Germany start all with: DB0* examples: DB0XS, DB0SR ... and the callsigns are located in the name tag.

Solution: Use this regular expression: name~"^DB0.*".

So far, when searching for a tag that consists of key=value, wildcards are only possible when defining the value of a tag, you cannot apply any wildcard to the key. Feature to search also for a key via regex is available now, see above.

Technical Details

The wizard defines it's own grammar written in PEG.js (a simple parser generator for JavaScript). The parsed query (a tree of boolean operations and filters) is then normalized into disjunctive normal form (A∧B∧…) ∨ (X∧Y∧…) ∨ … which is much easier to represent as an Overpass query (i.e. a simple union of queries). After that, an annotated Overpass QL query is constructed quite trivially. For some filters special query-shortcuts (such as {{geocodeArea:*}} for an … in Area search) are used.