ES:Osmconvert

From OpenStreetMap Wiki
Jump to navigation Jump to search

osmconvert puede ser usado para convertir y procesar archivos de OpenStreetMap. Domina menos funciones que la comúnmente utilizada Osmosis: por ejemplo, no hay forma de acceder a una base de datos con osmconvert. Sin embargo, el programa se ejecuta más rápido y ofrece algunas funciones especiales (--all-to-nodes, --complete-multipolygons y --out-statistics).

Descargar

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

Binarios

Linux

Windows

Limitaciones: La versión de Windows (el binario descargado) no funciona con archivos grandes como planet.osm (mayor de 2Gb) cuando se usa la opción --complete-ways, --complete-multipolygons o --complete-boundaries. Por ejemplo, la versión de 64 bits de Windows falla con el comando "osmconvert planet.osm.pbf -b=17.7,59.15,18.4,59.5 -o=stockholm.osm --complete-ways --drop-version --verbose". El mismo comando funciona perfectamente usando la versión de Linux de 64 bits. Esto parece ser causado por un problema con la búsqueda de posiciones de archivo fuera del rango firmado de 32 bits, que es una limitación de la biblioteca zlib actualmente enlazada a los binarios de Windows.

DIY: Si quieres construir tu propio binario de 64 bits sin limitaciones, tendrás que construir el último zlib con las banderas _LARGEFILE64_SOURCE=1 y _LFS64_LARGEFILE=1. Y asegúrate de que el tipo z_off64_t esté definido como __int64 en zconf.h

Código Fuente

En caso de error con "zlib.h" no encontrado: instalar zlib1g-dev

Iniciar el programa

Los usuarios de Windows pueden iniciar osmconvert haciendo doble clic en el ejecutable.

Los usuarios de todas las plataformas pueden iniciar osmconvert desde la línea de comandos. Simplemente ejecutando osmconvert se inicia una interfaz amigable e interactiva basada en texto que guía a los usuarios a través del proceso de uso del programa. Las capacidades completas de osmconvert no están disponibles en modo interactivo. Los usuarios avanzados pueden evitar la interfaz interactiva pasando banderas, como esta:

osmconvert --help

Descripción del programa

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

osmconvert --help

Esta llamada mostrará un breve resumen de los parámetros:

osmconvert -h

Los siguientes capítulos muestran las funciones más importantes del programa.

Convertir archivos

La conversión puede tener lugar entre estos formatos de datos:

Si desea encaminar la salida del programa a la salida estándar tendrá que decirle al programa qué formato de datos se utilizará:

--out-osm (valor por defecto), --out-osc, --out-osh, --out-o5m, --out-o5c, o --out-pbf.

Si proporciona el nombre del archivo de salida aplicando la opción -o=, osmconvert determinará el formato de los datos evaluando la extensión del nombre del archivo. Ejemplos para ambos casos:

osmconvert norway.pbf >norway.osm
osmconvert region.pbf -o=region.o5m
osmconvert region.o5m -o=region.pbf
osmconvert 20110510_20110511.osc --out-o5c >20110510_20110511.o5c

También puede utilizar archivos de entrada comprimidos si suministra los datos a través de la entrada estándar. Ejemplos:

bzcat europe.osm.bz2 | osmconvert - -o=europe.o5m
osmconvert norway.pbf | gzip -1 >norway.osm.gz

La opción "-" informa al programa de que debe esperar datos de entrada a través de la entrada estándar.

osmconvert ofrece una funcionalidad de descompresión limitada: puedes descomprimir archivos .gz. El programa reconocerá la compresión gzip por sí mismo, por lo que no es necesario preocuparse por qué archivo de entrada está comprimido con gzip y cuál no. El algoritmo de descompresión incorporado es menos poderoso que los programas de descompresión especializados, sin embargo esta característica es realmente útil si quieres actualizar un archivo OSM utilizando una serie de archivos .osc comprimidos recientemente descargados. Ejemplos:

osmconvert old.o5m daily_updates/2011*.osc.gz -o=new.o5m
osmconvert daily_updates/2011*.osc.gz --merge-versions --out-osc | gzip > cumulative.osc.gz

Archivos de entrada de PBF con granularidad lon/lat no estándar

osmconvert espera que los archivos PBF usen la granularidad estándar de OpenStreetMap, que es de 100 nano grados. Es posible producir archivos PBF con diferente granularidad usando osmosis. Si se le pide que convierta un archivo con una granularidad diferente, osmconvert dará un error: "node nanodegrees must be 100: 10000". La solución para leer archivos con una granularidad no estándar es usar la opción --pbf-granularity=<val>.

Aplicando fronteras geográficas

Recorte basado en la longitud y la latitud

El suministro de coordenadas geográficas es la forma más fácil de definir una región geográfica que será extraída. Algunos mapas en línea muestran continuamente las geocoordenadas del cursor del ratón. Por ejemplo: Mapa de Osmarenderer, mapa de transporte público.

Para definir este cuasi-rectángulo limitante es necesario suministrar las coordenadas de sus esquinas suroeste y noreste (WSEN). (inferior izquierda / superior derecha) Por ejemplo:

osmconvert germany.pbf -b=10.5,49,11.5,50 -o=nuernberg.o5m
osmconvert ontario.osm -b=-75.8,45.19,-75.7,45.23 -o=ott.osm

Recorte basado en un polígono

En lugar de un simple rectángulo delimitador, puedes usar un archivo de polígono de frontera. Esto permitirá una limitación más precisa de una frontera política, por ejemplo:

osmconvert germany.pbf -B=hamburg.poly -o=hamburg.pbf

El formato de un archivo de polígono de frontera se puede encontrar en el Wiki de OSM: aquí. No es necesario que se adhiera estrictamente a la descripción del formato, pero debe asegurarse de que cada línea de coordenadas comienza con espacios en blanco.

osmconvert es capaz de tratar con polígonos separados en un archivo, incluso considera "islas" en polígonos si se han definido correctamente.

Ejemplo utilizando un archivo de polígonos de polygons.openstreetmap.fr
  1. Obtener el ID de la relación que describe el área que desea extraer siguiendo esta guía o pulsando ctrl+i sobre la relación en JOSM.
  2. Inserte la identificación en polygons.openstreetmap.fr y descargue el archivo poly
  3. Ejecutar osmconvert:
osmconvert country-latest.osm.pbf -B="file.poly" --complete-ways --complete-multipolygons -o=extract.pbf

Los parámetros de complete-* aseguran que ningún elemento sea recortado en los límites, sino incluido en el conjunto.

Recorte de archivos de cambios de OSM?

No se recomienda aplicar límites geográficos a los archivos de cambios. Dado que solo los nodos llevan ubicaciones geográficas, el programa no sabe qué hacer con las vías y relaciones cuyos nodos relacionados no están en el mismo archivo. Como resultado, estas vías y relaciones serán excluidas del archivo. Esto no suele ser lo que se desea lograr.

Mantener completas las vías transfronterizas

Algunas aplicaciones requieren que las líneas (las llamadas vías) permanezcan intactas aunque se encuentren parcialmente fuera de la región geográfica definida. Esto puede lograrse aplicando la opción --complete-ways. Ejemplos:

osmconvert germany.o5m -b=10.5,49,11.5,50 --complete-ways -o=nuernberg.o5m
osmconvert germany.o5m -B=hamburg.poly --complete-ways -o=hamburg.pbf

Esta opción, y la descrita en las dos secciones siguientes, limitará el tamaño del archivo de entrada a 2 GiB si su sistema operativo es Windows de 32 bits. Como el archivo de entrada debe ser leído dos o tres veces, el programa debe "saltar" dentro de este archivo. Desafortunadamente, la biblioteca de enlaces que se utiliza actualmente no soporta saltos largos con Windows de 32 bits. No existe tal limitación para Linux (ni para la versión de 32 bits ni para la de 64 bits).

Asimismo, para esta y las dos secciones siguientes, se recomienda utilizar .o5m como formato de datos para el archivo de entrada. La razón es que los archivos .pbf suelen estar comprimidos internamente y, por lo tanto, se leerán mucho más lentamente que los archivos .o5m.

Ninguna de las opciones --complete-... está disponible a través del comando Osmupdate.

Mantener completos los multipolígonos transfronterizos

Cada vez más zonas de ríos, bosques y lagos están rodeadas no solo por una línea cerrada sino por varias líneas concatenadas. Los llamados multipolígonos se utilizan para conectar lógicamente estas líneas físicamente conectadas. Cada línea tiene un rol dependiendo de la posición: "exterior" para la frontera circundante o "interior" para las zonas excluidas (por ejemplo, una isla dentro de un lago).

Al aplicar los límites geográficos, osmconvert puede considerar estos multipolígonos y mantenerlos intactos aunque solo haya una pequeña parte de la zona del multipolígono dentro de los límites. Para instruir al programa para que lo haga, elija la opción --complete-multipolygons. Ejemplos:

osmconvert germany.o5m -b=10.5,49,11.5,50 --complete-multipolygons -o=nuernberg.o5m
osmconvert germany.o5m -B=hamburg.poly --complete-multipolygons -o=hamburg.pbf

Por favor, tome nota de las tres observaciones al final de la sección anterior.

Hasta 2016 esta opción había sido llamada --complex-ways.

Mantener completas los límites transfronterizos

Para asegurar que los límites se mantengan intactos, incluso si algunos de sus objetos vías se encuentran fuera de los límites geográficos aplicados, utilice la opción --complete-boundaries. Ejemplos:

osmconvert germany.o5m -b=10.5,49,11.5,50 --complete-boundaries -o=nuernberg.o5m
osmconvert germany.o5m -B=hamburg.poly --complete-boundaries -o=hamburg.pbf

Por favor, tenga en cuenta las tres observaciones de las dos secciones anteriores.

Excluyendo las referencias a los objetos fuera de las fronteras

Si necesita eliminar las referencias a los nodos que han sido excluidos porque se encuentran fuera de los límites geográficos, utilice la opción --drop-broken-refs (podría ser útil para la importación de datos en OSM Map Composer o JOSM).

Fusionando dos o más áreas geográficas

Bajo ciertas condiciones, los archivos de datos de OSM pueden ser fusionados. Si contienen objetos (nodos, vías, relaciones) con el mismo id, deben tener el mismo contenido. Por ejemplo: Si una vía cruza la frontera geográfica entre dos archivos regionales, el conjunto de datos de la vía debe contener todas las referencias de los nodo, incluso las referencias a los nodos que no se encuentran dentro de los límites del archivo de referencia. Es decir, tal región no debe haber sido cortada usando la opción --drop-brokenrefs. Ejemplos de fusión geográfica:

osmconvert austria.o5m germany.o5m switzerland.o5m -o=dach.o5m
osmconvert north_america.osm south_america.osm -o=americas.osm

Caso especial: recorte de datos de contorno

Mira aquí: Cómo renderizar las capas de contorno de Garmin sin artefactos

Excluir la información o el contenido del archivo de salida

Deshacerse de la información del autor

Para la mayoría de las aplicaciones no se necesitan las etiquetas de autor. Si usted decide excluir la información de nombre de usuario, id de usuario, conjunto de cambios y marca de tiempo del objeto, añada la opción de línea de la comandos --drop-author. Por ejemplo:

osmconvert --drop-author a.pbf -o=a.osm

Por lo general, no encontrará ningún problema al borrar la información del autor de los archivos .osm o .o5m, sin embargo, no se recomienda hacerlo con los archivos .pbf porque la mayoría de los programas no soportan este cambio de formato.

Si necesitas volver a enviar la información del autor más adelante, digamos que porque un programa posterior depende de este formato, puedes generarlos de nuevo con la opción --fake-author. Naturalmente, la nueva información de autor será solo valores de reemplazo que se adhieren a la descripción del formato, nada más.

Excluyendo ciertos tipos de objetos OSM

Si es necesario, puedes deshacerte de secciones enteras de un archivo:

--drop-nodes
--drop-ways
--drop-relations

El programa osmfilter ofrece una funcionalidad de filtro más granular.

Deshacerse de las vías y relaciones y convertirlas en nodos

A veces será más fácil para el procesamiento posterior si el archivo contiene solo objetos del tipo de objeto más primitivo: los nodos. osmconvert ofrece una función que borra todos las vías y todas las relaciones y crea un nodo como reemplazo de cada uno. La longitud y la latitud de cada nodo se establecen en el centro geográfico del objeto eliminado. Si el objeto eliminado era una vía no cerrada, se tomará la posición de uno de sus nodos en lugar del centro. Cada etiqueta del objeto eliminado se copia en el nodo. Como un id para el nuevo nodo el id de la vía (o relación) es tomado e incrementado por 1015 (o 2*1015). Por ejemplo:

osmconvert hamburg.pbf --all-to-nodes -o=hamburg_nodes.osm

La opción --object-type-offset= permite cambiar el desplazamiento del id, de 1015 a un valor diferente.

La opción --add-bbox-tags proporcionará un cuadro delimitador para cada vía y relación que se haya convertido en un nodo. Estos cuadros delimitadores aparecerán como etiquetas. Por ejemplo (área de Londres):

<tag k="bBox" v="-0.5000,51.0000,0.5000,52.0000"/>

Modificar etiquetas

A veces es útil cambiar ciertas etiquetas para facilitar el procesamiento de los datos.

Tenga en cuenta que "--modify-tags" se utiliza para las líneas, mientras que "--modify-node-tags" se utiliza para los nodos. En cualquier caso, tanto las claves como los valores pueden ser modificados.

Modificar valores

Puede especificar los valores a modificar. Por ejemplo:

./osmconvert a.o5m --modify-tags="highway=primary to =tertiary highway=secondary to =tertiary" -o=all_streets_are_small.o5m

Esto hará que todas las carreteras primarias y secundarias se conviertan en carreteras terciarias.

Modificar claves

Las claves también pueden ser modificadas:

./osmconvert a.o5m --modify-node-tags="amenity=fire_hydrant to emergency=fire_hydrant" -o=new_hydrant_syntax.o5m

Añadir nuevas etiquetas

Similar al filtrado del osmfilter, la modificación de la etiqueta por osmconvert permite comparaciones. Por lo tanto, puede añadir etiquetas redundantes si esto ayuda a simplificar el procesamiento posterior de sus datos:

./osmconvert a.o5m --modify-tags="maxspeed<=20 add speed_category=slow" -o=speed_categories.o5m

No se comprueba si ya hay etiquetas con el mismo nombre de la clave. Si es necesario, utilice la función de filtro de etiquetas del osmfilter para evitar posibles colisiones.

Actualización de archivos OSM

Si tienes un archivo de datos de OSM (.osm, .o5m o .pbf), puedes fusionarlo con uno o más archivos de cambios de OSM (.osc o .o5c) para actualizarlo. Por ejemplo, si tienes un archivo planet.osm o un archivo regional germany.o5m de ayer, puedes aplicar el archivo de cambios diarios de esta mañana para obtener un archivo actualizado planet.osm o germany.o5m. La sintaxis es así:

osmconvert planet_old.osm changefile.osc -o=planet_new.osm
osmconvert planet_old.o5m changefile.osc.gz -o=planet_new.o5m
osmconvert germany_old.o5m changefile.osc -B=germany.poly -o=germany_new.o5m

En caso de que su archivo de datos sea más antiguo, puede aplicar dos o más archivos de cambios simultáneamente:

osmconvert veryold.osm c1.osc c2.osc c3.osc -o=new.osm
osmconvert day24.o5m c24_25.osc c25_26.osc -o=day26.o5m
osmconvert day01.o5m november/*.osc -o=day30.o5m

Los objetos de OSM en el archivo de cambios deben ser únicos. Eso significa que solo tiene que haber una ocurrencia de cada nodo, vía o relación. Los archivos de cambio por hora y por minuto pueden contener más de una versión de los objetos OSM, por lo que recibirá mensajes de advertencia. Puedes combinar todas las versiones de cada objeto si especificas la opción --merge-versions. Entonces, solo la versión más reciente de cada objeto permanecerá en el archivo.

Para actualizar automáticamente un archivo de OSM o para crear archivos .osc acumulativos, por favor vea osmupdate.

Recuperar las diferencias entre dos archivos OSM

Puedes crear un archivo de cambios .osc o un .o5c comparando dos archivos .osm o .o5m. Por ejemplo:

osmconvert old.osm new.osm --diff -o=changefile.osc
osmconvert old.o5m new.o5m --diff -o=changefile.o5c

Otras operaciones, como la aplicación de las fronteras regionales, no están permitidas en la misma ejecución. Ambos archivos deben estar ordenados por tipo de objeto e id. Los objetos creados aparecerán en el archivo de salida como "modificados", a menos que tengan el número de versión 1.

Al calcular las diferencias de los archivos, osmconvert se basa en los números de versión de los objetos que se van a comparar. Si los números de versión no están disponibles o si los objetos se compararán por contenidos, puede ordenar al programa que lo haga aplicando la opción --diff-contents (funciona solo para archivos .o5m).

Si un objeto debe ser eliminado, solo se almacena su identificación (y datos de autor). Se ha demostrado que es útil no almacenar el contenido del objeto porque se va a borrar de todos modos. Sin embargo, algunos programas esperan los valores de longitud y latitud de los nodos por razones formales, incluso si la única acción que realizan es borrar estos valores. La opción --fake-lonlat ayuda a crear tales valores de reemplazo formalmente requeridos.

Establecer la marca de tiempo del archivo

Por lo general, los archivos de OSM tienen una marca de tiempo que permite determinar la actualidad del archivo. Durante las conversiones de archivos, osmconvert mantendrá esta marca de tiempo. Sin embargo, puede ser ajustado por usted. Por ejemplo:

osmconvert hamburg.o5m --timestamp=2011-08-01T23:50:00Z -o=hamburg2.o5m

Recuperar datos estadísticos

Hay diferentes maneras de obtener metadatos o datos estadísticos de un archivo de OSM. Primero, puedes leer la marca de tiempo de un archivo con la opción --out-timestamp (la Z al final significa Zulu):

osmconvert file_with_timestamp.o5m --out-timestamp
2011-08-01T23:50:00Z
osmconvert file_without_timestamp.o5m --out-timestamp
(invalid timestamp)

Segundo, puedes analizar todo el archivo y crear un conjunto de datos estadísticos:

$ osmconvert germany.osm.pbf --out-statistics
timestamp min: 2005-07-05T02:14:17Z
timestamp max: 2011-07-31T19:59:46Z
lon min: -20.0712330
lon max: 21.1441799
lat min: 47.0830289
lat max: 59.9982830
nodes: 78138447
ways: 11342322
relations: 176024
node id min: 1
node id max: 1380816490
way id min: 92
way id max: 123952798
relation id min: 159
relation id max: 1693098

Escribir archivos CSV

Para obtener listas separadas por caracteres se puede definir ".csv" como formato de salida. Esto puede hacerse utilizando la opción -o=, por ejemplo -o=my_table.csv o definiendo una de las opciones relacionadas con csv: --out-csv , --csv= , --csv-headline , --csv-separator= .

La tabla tendrá tres columnas separadas por tabulaciones: nombre del tipo de objeto, id, nombre. Para cambiar el separador de columnas o para seleccionar un conjunto diferente de columnas, utilice la opción --csv-separator= o --csv=. Utilice la opción --help para mostrar más información sobre este tema. Por ejemplo (en combinación con la opción --all-to-nodes ):

osmconvert shops.osm --all-to-nodes --csv="@id @lon @lat amenity shop name" --csv-headline
@id               @lon        @lat        amenity  shop       name
21548298          11.6122123  48.6884848  shop     bakery     Miller
21552613          9.0651970   49.9979332  shop     butcher    Jaeger
1000000168276611  6.6058085   51.4556093  shop     drugstore  AllForYou

Las columnas estarán separadas por los caracteres de tabulación del tamaño predeterminado de su sistema. Se recomienda utilizar -o=somefilename.csv si los datos se van a escribir en un archivo.

Combinando las funciones

La mayoría de las funciones introducidas anteriormente pueden combinarse. Así, por ejemplo, se puede actualizar un archivo .osm y limitar su región en una sola pasada:

osmconvert day24.osm -B=p.poly c24_25.osc -o=day25.osm

Procesamiento paralelo

osmconvert no soporta el procesamiento paralelo por sí mismo. Sin embargo, puede utilizar las capacidades de su sistema operativo e introducir tales instrucciones en la línea de comandos. Esto también puede ser útil en los casos en que quiera procesar más de un archivo .pbf, ya que actualmente osmconvert no es capaz de leer más de un archivo .pbf al mismo tiempo. Por ejemplo:

osmconvert region1.pbf --out-o5m | osmconvert - region2.pbf -o=all.pbf

En este ejemplo, el primer proceso leerá el archivo .pbf "region1.pbf" y lo emitirá en formato o5m a la salida estándar. El segundo proceso leerá estos datos de la entrada estándar, los fusionará con el otro archivo regional "region2.pbf" y los escribirá en el archivo "all.pbf". Habrá reconocido el signo menos en el segundo comando de osmconvert: aconseja al programa leer los datos de la entrada estándar. El operador tubería "|" conecta la salida estándar del primer comando con la entrada estándar del segundo comando.

También puedes usar más de una tubería creando las llamadas tuberías con nombre. Desafortunadamente esto podría no funcionar con Windows. En Linux, existe el comando mkfifo para crear tuberías. Estas tuberías pueden ser dirigidas de la misma manera que los archivos. En este ejemplo, se crearán tres procesos para fusionar tres archivos .pbf:

mkfifo p1 p2
osmconvert a.pbf --out-o5m -o=p1 & osmconvert osmconvert b.pbf --out-o5m -o=p2 & osmconvert p1 p2 c.pbf -o=all.pbf

Los operadores ampersand crearán cada uno un proceso de fondo para el comando que le corresponde. El último comando de la línea permanece en primer plano y recogerá los datos que los dos procesos de fondo produzcan.

Alternativamente, muchos shells de Unix proporcionan una técnica llamada Sustitución de Procesos, que esencialmente crea las tuberías con nombre para usted automáticamente, sin necesidad de usar mkfifo. Un equivalente al comando anterior sería:

osmconvert <(osmconvert a.pbf --out-o5m) <(osmconvert b.pbf --out-o5m) c.pbf -o=all.pbf

Archivo de parámetros

El argumento de la línea de comandos puede ser largo si se especifican operaciones complejas. Por favor, utilice un archivo de parámetros en su lugar y consulte este archivo con --parameter-file=. Por ejemplo:

osmconvert --parameter-file=my_parameters

Archivo "my_parameters":

// verbose
-v
// input file
planet.o5m
// bounding box
-b=8.123,10.123,9.456,11.456
--complete-ways
// output file
-o=region.o5m

Las líneas vacías se utilizan para separar los parámetros. Los saltos de línea dentro de los parámetros se convertirán en espacios. Las líneas que empiezan con "// " son tratadas como comentarios y por lo tanto ignoradas por el programa.

Detalles técnicos

Archivos temporales

Para realizar ciertas operaciones osmconvert necesita crear archivos temporales. Estos archivos son pequeños - en comparación con los archivos de OSM que van a ser procesados. Cada uno de sus nombres comienza con "osmconvert_tempfile" y termina con números. Puedes cambiar la parte izquierda del nombre del fichero, incluyendo la ruta. Por ejemplo:

osmconvert germany.pbf -B=n.poly -t=/media/hd70/temp -o=nuernberg.o5m

Gestión de la memoria

Hay tres opciones que afectan a la gestión de la memoria del programa: --hash-memory=, --max-refs= y --max-objects=. Por favor, consulte la descripción detallada que se muestra en la opción de ayuda:

osmconvert --help

Salida de la prueba

A veces es agradable obtener información sobre lo que el programa está haciendo en este momento. Puedes activar el modo detallado aplicando esta opción: -v. Con -v=2 obtendrá una salida aún más detallada, sin embargo puede ser un poco confuso.

Pruebas de rendimiento

Planeta .pbf -> .o5m

Uno rápido, ya que Osmconvert no estaba solo accediendo al disco y no se me ocurrió ejecutar 'time':

16GB de RAM, disco de 7200 rpm.

./osmconvert planet-latest.osm.pbf -o=planet-latest.o5m

Approximadamente 12 minutos.

Planeta .osm -> .o5m

$ date
Sat Dec 29 14:36:19 PST 2012
$ ./osmconvert planet.osm -o=planet-121207.o5m
$ date
Sat Dec 29 18:34:16 PST 2012

$ ls -lah
...
-rw-------   1 user  staff    32G Dec 29 18:34 planet-121207.o5m
-rw-r--r--   1 user  staff   319G Dec  7 02:41 planet.osm
...

Entonces... alrededor de 4 horas en un i7 de 16GB con planet.osm en un disco duro externo USB 3. Resulta que era una unidad USB3 defectuosa...

Planeta .osm -> Recortado .osm

$time ./osmconvert planet-130123.osm -b=-144,20,-50,90 -o=na_subset.osm

real    54m59.172s
user    39m18.091s
sys     5m3.111s

En un servidor de 16 núcleos con 48 GB de RAM, 12x2TB raid5. Rendimiento limitado por el uso de un solo hilo de cpu. La entrada planet.osm era de ~360GB, el subconjunto de salida era de ~112GB.

Planeta .o5m -> Alemania .o5m

Extrayendo Alemania del archivo del Planeta, usando el polígono de Alemania de Geofabrik:

./osmconvert planet.o5m -B=germany.poly -o=germany.o5m

Aproximadamente 5 minutos en una computadora con cpu i7, usando solo un núcleo.