ES:Osmupdate

From OpenStreetMap Wiki
Jump to navigation Jump to search

osmupdate descarga y acumula archivos de cambios de OSM en diferentes categorías (cada minuto, cada hora, diariemente). Esto le permite crear nuevos archivos de cambios para cada período de tiempo que necesite y actualizar sus archivos de datos de OSM en intervalos regulares o irregulares, como usted quiera.

Tenga en cuenta que este no es el único mecanismo para la actualización automática de los datos de OSM, también puede utilizar otros programas para este fin, por ejemplo Osmosis. osmupdate es un pequeño y rápido programa que ha sido desarrollado sólo para esta tarea. Puede que ofrezca algunas funciones que Osmosis no ofrece, pero también hay funciones que pueden faltar en osmupdate.

Casos de uso

  • Quiere mantener su base de datos local PostgreSQL actualizada y minuciosamente sincronizada con los servidores de openstreetmap.org.
    • Puede utilizar osmupdate. osmupdate no puede actualizar las bases de datos por sí mismo, pero puede hacerlo junto con otras herramientas. Para la base de datos de osm2pgsql, ver el actualizador furry-sansa.
  • Necesita actualizar el archivo OSM de una pequeña región geográfica cada dos semanas.
    • No utilice osmupdate. Vuelva a descargar el archivo desde uno de los servicios de archivos de OSM, por ejemplo, geofabrik.de.
  • Acaba de encontrar un viejo archivo del planeta OSM de hace un año y quiere actualizarlo.
    • No utilice osmupdate. Vuelva a descargar todo el archivo del planeta.
  • Tiene un archivo de datos de OSM de una región geográfica más grande y necesita actualizarlo cada pocas horas, cada día o cada semana.
    • Se recomienda utilizar osmupdate para este propósito.

Descargar

Estas descargas están disponibles:

Como de costumbre: No hay garantía, en la medida en que lo permita la ley.

Requisitos previos

osmupdate llamará a los subprogramas que deben estar disponibles en su sistema:

  • osmconvert (también incluido en el paquete osmctools en Debian)
  • wget
  • gzip (si quiere escribir archivos comprimidos en gzip)

Por favor, asegúrese de que estos programas han sido descargados e instalados.

Descripción del programa

Este programa se preocupa por actualizar un archivo .osm, .o5m o .pbf. Descargará y aplicará los archivos de cambios de OSM (.osc) de los servidores de "planet.openstreetmap.org". También puede ensamblar un nuevo archivo .osc o .o5c que puede ser usado para actualizar su archivo de datos de OSM en un momento posterior.

Dos argumentos de la línea de comandos son obligatorios: el nombre del antiguo y el nombre del nuevo archivo de datos de OSM. Si el archivo de datos antiguo no tiene una marca de tiempo del archivo, puede especificar esta marca de tiempo manualmente en la línea de comandos o el propio programa lo analizará con el programa osmconvert.

En lugar del segundo nombre de archivo de OSM, también puede especificar el nombre de un archivo de cambios (.osc o .o5c). En este caso, también puede reemplazar el nombre del antiguo archivo de datos de OSM por una marca de tiempo. Los argumentos de la línea de comandos que no sean reconocidos por osmupdate se pasarán a osmconvert. Aproveche esta oportunidad para proporcionar un cuadro delimitador o un polígono delimitador si va a actualizar un archivo de cambios regionales.

Para obtener una descripción detallada, por favor use la función de ayuda incorporada en el programa:

./osmupdate --help

En los capítulos siguientes se muestran algunos ejemplos de uso.

Actualización de archivos de OSM

Los archivos de datos de OSM desactualizados pueden actualizarse y escribirse como nuevos archivos (.o5m, .o5m.gz, .osm, .osm.gz o .pbf). Por razones de seguridad, osmupdate no borrará el archivo antiguo. Si no lo necesita como archivo de respaldo, por favor, elimínelo usted mismo. Ejemplos:

./osmupdate old_file.o5m    new_file.o5m
./osmupdate old_file.o5m.gz new_file.o5m.gz
./osmupdate old_file.osm    new_file.osm
./osmupdate old_file.osm.gz new_file.osm.gz
./osmupdate old_file.pbf    new_file.pbf

Si su antiguo archivo de datos de OSM no contiene una marca de tiempo de archivo, esta marca de tiempo puede ser especificada manualmente

./osmupdate old_file.o5m 2012-03-15T23:30:00Z new_file.o5m

de lo contrario el programa intentará extraer la marca de tiempo del viejo archivo automáticamente.

Nota: No se recomienda actualizar los grandes archivos con formato .osm ya que esto puede llevar horas o incluso días. Por favor, usa .pbf o .o5m (un poco más rápido) para este propósito.

Ensamblando un archivo de cambios de OSM

Aquí, el antiguo archivo de datos de OSM no se actualiza directamente. En su lugar se escribe un archivo de cambios de OSM. Este archivo de cambios se puede utilizar para actualizar el archivo de datos de OSM después. También puedes usar el archivo de cambios para actualizar una base de datos con Osmosis o osm2pgsql. Ejemplos de montaje de archivos de cambios:

./osmupdate old_file.o5m change_file.o5c
./osmupdate old_file.osm change_file.osc
./osmupdate 2011-02-15T23:30:00Z change_file.o5c
./osmupdate 2011-02-15T23:30:00Z change_file.osc.gz

Aplicando fronteras geográficas

En el siguiente ejemplo, queremos actualizar un archivo de OSM que contiene sólo datos europeos de OSM. Por lo tanto, los archivos de cambios del planeta descargados contienen no sólo Londres, sino todo el planeta, muchos datos innecesarios se añadirían a este archivo regional. El argumento -B= recortará estos datos superfluos.

./osmupdate europe_old.o5m europe_new.o5m -B=europe.poly

También puede usar la opción -b= de osmconvert para especificar un cuadro delimitador. Por favor, consulte la descripción del programa osmconvert para más información.

No es posible utilizar la opción --complete-ways de osmconvert (utilizada para retener todos los nodos pertenecientes a una vía, incluso cuando se encuentran fuera del cuadro delimitador o polígono) al actualizar.

Una forma más efectiva de actualizar un archivo regional de OSM es usar una fuente de actualización regional en lugar de un polígono fronterizo. Para ello, cambie la URL base (vea algunas secciones a continuación).

Limitar las categorías de los archivos de cambios

Si necesita actualizar su archivo OSM sólo una vez al día o una vez a la semana, puede considerar la limitación de la categoría del archivo de cambios a diario. Esto evitará que se descarguen los archivos de cambios por minutos y por horas y, por lo tanto, ahorrará mucho tráfico de datos. Utilice esta opción:

--day

Para las actualizaciones cada pocas horas, normalmente no se necesitarían archivos de cambio minuciosos. Así que por favor considere aplicar esta opción:

--hour --day

Mantener los archivos temporaless

Otra forma de minimizar el tráfico de datos es mantener copias locales de cada archivo descargado. Esto es especialmente recomendable si va a montar archivos de cambios que se superponen cronológicamente. La opción de línea de comandos:

--keep-tempfiles

Salida detallada

osmupdate funciona muy silenciosamente. Si tiene sospechas de que algo puede salir mal, o si sólo tiene curiosidad, entonces active el modo detallado:

-v

Fuente de datos

Normalmente, osmupdate descarga los datos del archivo de cambios de https://planet.openstreetmap.org/replication. Si desea utilizar una fuente diferente, por ejemplo el Fork Project FOSM, un repositorio regional de actualizaciones, o los datos disponibles durante el período de cambio de licencia, puede especificarlo mediante la opción --base-url=. Algunas fuentes requieren definir un sufijo, por ejemplo --base-url-suffix=-replicate. Ejemplos:

--base-url=mirror
--base-url=http://planet.fosm.org/planet/ --base-url-suffix=-replicate
--base-url=https://planet.openstreetmap.org/ --base-url-suffix=-replicate
--base-url=https://planet.openstreetmap.org/redaction-period/ --base-url-suffix=-replicate
--base-url=download.geofabrik.de/europe/germany/bremen-updates

Pruebas de rendimiento

actualizando todo el planeta

hardware: 16GB de ram, disco de 7200rpm, archivo fuente: No hay marcas de tiempo, planeta de 14 días de antigüedad.

time ./osmupdate planet-latest.o5m new-planet-latest.o5m --planet-url=https://planet.openstreetmap.org/redaction-period/
real	31m12.246s
user	13m45.716s
sys	0m57.056s

Hardware: Core i7 2600, 16GB de RAM, RAID6, archivo fuente: pbf, sin marcas de tiempo, archivo planeta de 5 días de antigüedad. .

time ./osmupdate32 -v planet-latest.osm.pbf planet-latest2.osm.pbf
real    52m52.208s
user    43m39.028s
sys     0m43.891s

Hardware: Phenom II x6 1090T, 32GB de RAM, RAID1, 160MB/s por unidad secuencial, archivo fuente: planet-130515.osm.pbf, archivo planeta de 15 días de antigüedad.

time osmupdate --day planet-130515.osm.pbf planet-new.osm.pbf
osmupdate: Aging the timestamp by 4 hours for safety reasons.
real    67m30.271s
user    53m33.933s
sys     2m12.440s

Hardware: PC de gama baja: Pentium G630T, 4GB de RAM, 7200 RPM 2,5" HDD, archivo fuente: planet.pbf, archivo planeta de 3 días de antigüedad. Windows 7.

osmupdate planet.pbf planet.o5m
osmupdate: Aging the timestamp by 4 hours for safety reasons.
Time spent: 50 minutes

Hardware: E3-1231 v3 @ 3.40GHz, 32GB de RAM, HDD + SSD ZFS array, FreeBSD, todos menos dos días en caché

osmupdate --max-merge=25 --day -v --keep-tempfiles planet-150413.osm.pbf planet-150824.osm.pbf

Time spent: 1h18m


Si descarga diffs, el tiempo de ejecución es de 2h42m.


Por favor, añada los resultados de sus pruebas de rendimiento.

Problemas conocidos

Osmupdate actualmente (a partir de 2014-01-24) no funciona con conexiones de Internet a través de servidores proxy.