2008/8/30 Giovanni Mascellani <[EMAIL PROTECTED]>: > A quanto mi sembra di capire sia GlobalMapper che ArcGIS sono software > proprietario... :-( Non conosco nel dettaglio cosa fanno e cosa no, ma > non c'è modo di sostituirli?
Infatti è proprio questo il mio obbiettivo. Purtroppo i GFOSSers sono ancora in vacanza... :-P > 01. Download gpx tracks from GPS device(s); E fino a qui ci siamo, GPSBabel (FOSS). > 02. Open all gpx files in GlobalMapper, export to shapefile EPSG:3035 ogr2ogr -f GPX -t_srs EPSG:3035 output.shp input.gpx tracks (FOSS). Ovviamente qualsiasi SRS proiettato che non introduca un errore superiore a quello del GPS funziona. > 03. Import shapefile to geodatabase (for automatic topology attributes) Portare in PostGIS da GRASS? Da aggiornare ogni volta si modifica il dataset v.to.db option=length type=line col=linelength units=me > 04. Split line at vertices (this may take a long time, depending on machine) Credo con GRASS, ma non ho trovato. v.clean spezza solo in corrispondenza di nodi dove si incrociano due o più linee. Serve qualcosa per spezzare ad ogni nodo in modo da rimuovere tutte le linee generate per errore da GPS prima di prendere un lock decente. Ovviamente si può fare a priori con GPSBabel dal NMEA, ma spesso le tracce arrivano già in GPX. > 05. Remove GPS errors, lines > 40 meters (assuming tracker speed was > always <150km/h) Questo passaggio ovviamente assume che si registri un trackpoint ogni secondo e non si vada più veloci di 40 m/s. Con una query in OGR si può fare questo passaggio senza problemi. > 06. Dissolve to single feature Operazione inversa dello step 5, probabilmente non necessaria in altri ambienti, ArcGIS s'inceppa con troppe linee da semplificare insieme. > 07. Simplify, tolerance 1 meter (this removes unnecessary nodes) Immagino sia v.generalize in GRASS. Lo stesso si potrebbe fare a priori con GPSBabel e l'opzione "simplify" > 08. Integrate, tolerance 3 meters (collapse overlapping lines into one) Questo serve per collassare tutte le tracce della stessa strada in un unica mediana. Non ho idea di quale sia lo strumento FOSS da utilizzare un questo caso. > 09. Dissolve, save as newtmp.shp feature Associato allo step di sopra, fonde tutte le tracce che combaciano una sull'altra in un unica linea. > 10. Open shapefile in GlobalMapper, export to gpx ogr2ogr, inverso dello step 2. > 11. Open gpx in JOSM, download data from server based on gpx extent, > save as existing.osm file Invece che salvare come OSM e poi esportare in GPX da GlobalMapper ho notato che con le versioni recenti di JOSM finalmente funziona l'export diretto a GPX. > 12. Open osm file in GlobalMapper, export to existing.shp ogr2ogr di nuovo. > 13. Open existing.shp in ArcGIS, make 10 meter buffer v.buffer in GRASS? > 14. Erase from newtmp.shp using buffer (remove all data already mapped in OSM) In questo passaggio si usa l'attuale stato del DB più un buffer di 10 metri (valore indicativo dell'errore GPS più quello delle tracce non registrate accuratemente ogni secondo). Non ho trovato l'equivalente di questa funzione in GRASS. > 15. Make singlepart, save as new.shp (split ways at intersections) In questo caso si può invece usare v.clean in GRASS > 16. Review (and add id and attributes if using shp_to_osm.py script) QGIS, Python, OGR (FOSS) > 17. Export to new.osm using py script or open shp in GlobalMapper, > then export to gpx. Python oppure di nuovo ogr2ogr > 18. Open new.osm or new.gpx in JOSM, review, edit where necessary, > merge with existing In JOSM si uniscono i dati esistenti con quelli nuovi in un unico file OSM. > 19. Solve conflicts and merge ways. A questo punto si devono "saldare" le parti esistenti con quelle nuove inportate. Lavoro manuale in JOSM. > 20. Upload to server. Mescolare tutto bene, aggiungere un pò di Python e lasciare cuocere in forno per 20 minuti. Chi ha voglia (tempo) di provarci? C _______________________________________________ Talk-it mailing list Talk-it@openstreetmap.org http://lists.openstreetmap.org/listinfo/talk-it