1 votos

QuickOSM utilizando comodines en las líneas (ríos)

Intento encontrar todos los ríos con un nombre que contenga una palabra específica (o parte de ella). F. ej. todos "Danubio ríos, o "Danu , "Dan y así. En otro tema que he encontrado consulta útil, que después de la modificación de ejemplo se parece a esto:

<osm-script output="xml" timeout="250">
<union>
    <query type="nwr">
        <has-kv k="river"/>
        <has-kv k="name" regv="Danube(.*)"/>
        <bbox-query {{bbox}}/>
    </query>
</union>
<print mode="body"/>

y no encuentra nada.

También probé esto:

<osm-script output="xml" timeout="250">
<union>
    <query type="nwr">

        <has-kv k="name" regv="Danube(.*)"/>
        <bbox-query {{bbox}}/>
    </query>
</union>
<print mode="body"/>

y encontrará todos los Danubio restaurantes y hoteles, pero no el propio río.

¿Puede alguien explicarme cómo encontrar también ríos (líneas)? Lo necesito para mi investigación histórica (toponimia). Debo añadir que no soy muy bueno en la codificación.

Editar: El Danubio era sólo un ejemplo. No necesito el Danubio en sí mismo, sino otros ríos y el comodín es una necesidad.

Te daré un mejor ejemplo - Estoy buscando el "Stob- ríos y necesito una consulta que encuentre ríos como "Stob-nica , "Stob-ianka y Stob-niczanka y otros ríos 'Stob-' cuyos sufijos desconozco. No se puede hacer sin comodín.

1voto

NickGPS Puntos 123

Cuidado, la clave name es utilizar el idioma local. Así, en Alemania, se escribe Donau y no Danube . Por lo tanto, su expresión regular debe ser más compleja y tendría que comprobar todos los nombres.

Ejemplo en Alemania: https://www.openstreetmap.org/way/203099955

En lugar de buscar el nombre "Danubio", utilizaría la identificación de la relación del río:

  • ir al sitio web OpenStreetMap.org
  • Utilice el Query features y haga clic en el propio Danubio.
  • Te mostrará que el río pertenece a una relación OSM ID 89652

Este es el enlace a la relación con el Danubio: https://www.openstreetmap.org/relation/89652

Utilice QuickOSM para descargar esta relación escribiendo en la pestaña de consulta:

<osm-script>
  <id-query ref="89652" type="relation"/>
  <union>
    <item/>
    <recurse type="down"/>
  </union>
  <print/>
</osm-script>

Esto le dará el río, sin usar comodines que podrían ser erróneos.

Tenga en cuenta que la relación debe estar completa en OSM para utilizar esta técnica. Usted puede echar un vistazo a la relación en JOSM o en QGIS para detectar las lagunas.

0voto

Vidar Vestnes Puntos 14317

Vale, lo he conseguido:

[out:xml][timeout:250];(way["name"~"Stob(.*)"]["waterway"]({{bbox}}););out body;>;out skel qt;

Encontrará todos los "Stob- ríos como "Stobxyz , Stobzyx y así. Funciona de maravilla:-)

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X