ES:Importación/Software
Véanse nuestras directrices de importación y nuestro código de conducta de ediciones automatizadas para más información. Las importaciones o ediciones automatizadas que no sigan estas directrices ¡se pueden revertir!
Dependiendo del formato original de la fuente de datos, será necesario utilizar distintos softwares para convertir a formato de OSM.
Proceso
Este es un ejemplo de cómo se puede hacer el proceso de una importación. Pueden variar los métodos de unas importaciones a otras.
- Echar un vistazo a los datos origen y establecer que se puede incorporar a OSM etiquetando correctamente en la forma de OpenStreetMap.
- Escribir, modificar o usar un software existente para convertir los datos originales a formato XMl de OpenStreetMap.
- Cargar el archivo en formato OSM en JOSM y comprobar la validez de los datos. Repetir los pasos 1 a 3 hasta que todo esté correctamente.
- Subir los datos utilizando JOSM u otro software.
IDs Negativas
Todos los objetos en OSM tienen un identificador único. Este se lo asigna la base de datos en el momento de crear el objeto. Estos IDs son utilizados, por ejemplo, para relacionar los nodos que forman parte de una línea.
Cuando creas un nuevo archivo xml, para ser subido a la base de datos, no se pueden utilizar IDs normales, porque aún no han sido creados. Es decir, la base de datos de OSM aún no sabe de la existencia de esos datos.
El truco común de solucionar esto es usar identificaciones negativas para los archivos locales. Cuando se carga, los objetos se crean uno por uno en la base de datos. Esta forma de hacer las cosas es utilizado por JOSM por ejemplo.
Importando datos
Hay diversas formas de subir datos a OSM. Cada cual tiene sus virtudes y debilidades. Pero hay algo realmente importante, no hacerlo "contra" la API en vivo. Hay servidores de reserva para poder hacer pruebas con el proceso/método/script de subido primero.
Veremos los distintos métodos:
Vía JOSM
Una de las formas más utilizadas es a través del software JOSM. Algunos programas de conversión pasan los datos a formato de JOSM. Por lo tanto, se puede leer el archivo y subirlo directamente a la base de datos de OpenStreetMap.
Este método es bastante fiable y permite al usuario ver y manipular los datos antes de su envío. La desventaja es que JOSM tiene que ser capaz de cargar los datos y se vuelve poco práctico una vez que los datos llegan a varios megabytes. También ha habido informes de que al cargar un montón de datos, el proceso generalmente se atasca después de unos pocos miles de objetos, lo que no es muy útil para archivos de gran escala.
Esto no se puede ejecutar en el servidor porque JOSM es un programa interactivo.
Vía JOSM con soporte de osmsync
osmsync es una librería para la comparación de datos externos con los ya existentes en la base de datos de OSM, dando como resultado una archivo en formato JOSM para revisarlo manualmente. La utilidad funciona mejor con conjuntos de datos específicos diseñados para el mantenimiento a largo plazo a través de osmsync.
Vía manipulación directa de la API
Este método es poco común, sin embargo se ha usado en algún caso. El shapefile se procesa registro por registro y se crean los objetos. La principal desventaja de este método es que no hay registro de lo que se ha subido y se ha creado y puesto que se hace sobre la marcha, en caso de cualquier interrupción, no se sabe hasta dónde se llegó.
Vía Osmosis
Osmosis es un programa que hace manipulación directa de los datos de OSM. Entre sus múltiples características está la obtención de un llamado "archivo de cambios" de la base de datos. Esto se recoge en un archivo en formato propio, osmChange.
Solo se puede aplicar directamente a una base de datos, no a la API y en la actualidad carece de características como marcadores de posición durante la creación de objetos (identificadores negativos) y la integridad referencial de los objetos de base de datos. Sin embargo, para aplicar los cambios en los identificadores de objetos que se conocen de antemano y de una base de datos local, es inmejorable.
Vía bulk_upload.py
bulk_upload.py es una herramienta escrita en Python que está destinada a sustituir a bulk_upload.pl y tiene soporte para la API v0.6 (que bulk_upload.pl no lo tiene). Como bulk_upload.pl, almacena inteligentemente el progreso. También divide los conjuntos de cambios en partes, de modo que las tareas de subida son más pequeñas. Sin embargo, no soporta el formato osmChange y por lo tanto no se puede utilizar para ediciones.
Vía upload.py
upload.py es otro script en Python para subir datos a OpenStreetMap, soportando la actual API v0.6. El enfoque aquí está en la recuperabilidad de los errores de red y otras situaciones problemáticas por lo que, casi siempre se puede reanudar una importación que falla sin crear duplicados u otros errores. En vez de hacer toda la carga de una vez con un solo comando, este script construye pequeños bloques de datos menores.
Véase también
- bulk_upload.py Antiguo script.
- balrog bulkupload
- Geothings
- JOSM
- ogr2osm
- OpenJUMP Software SIG.
- OpenStreetMap Exporter plugin para ArcGIS
- Perl Scripts documentación de varios scripts csv2osm
- Shp2osm
- ES:QGIS Software SIG.
- OSMLY