Ca:Import/Software

From OpenStreetMap Wiki
Jump to navigation Jump to search

Segons el format original de la font de dades, caldrà utilitzar diferents softwares per convertir a format de l'OSM.

Procés

Aquest és un exemple de com es pot fer el procés d'una importació. Poden variar els mètodes d'unes importacions a unes altres.

  1. Fer un cop d'ull a les dades origen i establir que es pot incorporar a l'OSM etiquetant correctament en la forma de l'OpenStreetMap.
  2. Escriure, modificar o utilitzar un software existent per convertir les dades originals a format XMl de l'OpenStreetMap.
  3. Carregar l'arxiu en format OSM a JOSM i comprovar la validesa de les dades. Repetir els passos 1 a 3 fins que tot estigui correctament.
  4. Pujar les dades utilitzant JOSM o un altre software.

IDs Negatives

Tots els objectes a l'OSM tenen un identificador únic. Aquest se l'assigna la base de dades en el moment de crear l'objecte. Aquests IDs són utilitzats, per exemple, per relacionar els nodes que formen part d'una línia.

Quan crees un nou arxiu xml, per ser pujat a la base de dades, no es poden utilitzar IDs normals, perquè encara no han estat creats. És a dir, la base de dades de l'OSM encara no sap de l'existència d'aquestes dades.

El truc comú de solucionar això és usar identificacions negatives per als arxius locals. Quan es carrega, els objectes s'en creguin crean un per un a la base de dades. Aquesta forma de fer les coses és utilitzat per JOSM per exemple.

Important dades

Hi ha diverses formes de pujar dades a l'OSM. Cadascú té les seves virtuts i debilitats. Però n'hi ha alguna cosa realment important, no fer-ho "contra" l'API en viu. Hi ha servidors de reserva per poder fer proves amb el procés/mètode/script de pujat primer.

Veurem els diferents mètodes:

Via JOSM

Una de les formes més utilitzades és mitjançant el software JOSM. Algunos programes de conversió passen les dades a format de JOSM. Per tant, es pot llegir l'arxiu i pujar-lo directament a la base de dades de l'OpenStreetMap.

Aquest mètodo és força fiable i permet a l'usuari veure i manipular les dades abans del seu enviament. El desavantatge és que JOSM ha d'ésser capaç de carregar les dades i es torna poc pràctic una vegada que les dades arriben a diversos megabytes. També hi ha hagut informes de que en carregar un munt de dades, el procés en general s'encalla després d'uns pocs milers d'objectes, el que no és gaire útil per a arxius de gran escala.

Això no es pot executar al servidor perquè JOSM és un programa interactiu.

Vía JOSM amb suport d'osmsync

osmsync és una llibreria per a la comparació de dades externes amb els ja existents a la base de dades de l'OSM, donant com a resultat una arxiu en format JOSM per revisar-lo manualment. La utilitat funciona millor amb conjunts de dades específiques dissenyades per al manteniment a llarg termini mitjançant osmsync.

Via manipulació directa de l' API

Aquest mètodo és poc comú, tantmateix s'ha usat en algun cas. El shapefile es processa registre per registre i es creguin els objectes. El principal desavantatge d'aquest mètode és que no hi ha registre del que s'ha pujat i s'ha creat i atès que es fa sobre la marxa, en cas de qualsevol interrupció, no se sap fins on es va arribar.

Via Osmosis

Osmosis és un programa que fa manipulació directa de les dades de l'OSM. Entre les seves múltiples característiques està l'obtenció d'un anomenat "arxiu de canvis" de la base de dades. Això es recull en un arxiu en format propi, osmChange.

Només es pot aplicar directament a una base de dades, no a l'API i ara com ara manca de característiques com a marcadors de posició durant la creació d'objectes (identificadors negatius) i la integritat referencial dels objectes de base de dades. Tantmateix, per aplicar els canvis en els identificadors d'objectes que es coneixen anticipadament i d'una base de dades local, és immillorable.

Via bulk_upload.py

bulk_upload.py és una eina escrita a Python que està destinada a substituir a bulk_upload.pl i té suport per a l'API v0.6 (que bulk_upload.pl no ho té). Com bulk_upload.pl, emmagazetma inteligentment el progrés. També divideix els conjunts de canvis en parts, de manera que les tasques de pujada són més petites. Tantmateix, no suporta el format osmChange i per tant no es pot utilitzar per a edicions.

Via upload.py

upload.py és un altre script a Python per pujar dades a l'OpenStreetMap, suportant l'actual API v0.6. L'enfocament aquí està en la recuperabilitat dels errors de xarxa i d'altres situacions problemàtiques pel que, gairebé sempre es pot reprendre una importació que falla sense crear duplicats o d'altres errors. En lloc de fer tota la càrrega d'una vegada amb un sol comandament, aquest script construeix petits blocs de dades menors.


Vegeu també