9 novembre, 2007 | di

Noi scrittori e webmaster di Blog dedichiamo un po’ del nostro tempo a leggere le statistiche di accesso ai nostri siti. E’ un’attività un po’ maniacale, ma è anche ricca di spunti.

Uno dei servizi che uso, e che vi consiglio, per analizzare i dati di accesso ai siti è 103bees. E’ un servizio specializzato nell’analisi delle parole chiave usate nei motori di ricerca, che hanno portato traffico verso il vostro sito web.

Il 60% del traffico su questo sito arriva proprio dai motori di ricerca, e di questo il 90% da Google. Queste, ad esempio, le parole chiave che hanno portato più traffico nell’ultima settimana:

  • fwtools
  • tanto
  • convertire ecw in geotiff
  • conversione coordinate
  • georeferenziazione map 3d
  • batch dos ciclo file cartella
  • excel +conversione +coordinate
  • openlayers
  • aprire file .dwg linux

Nascoste tra queste parole chiave ci sono alcune domande dei lettori di TANTO, e prendendo spunto da questi e da altri dati sulle statistiche di accesso, ho deciso di rispondere a 4 domande.

Le risposte possibili erano diverse. Ho cercato, nei limiti delle mie conoscenze, di proporre delle soluzioni non dipendenti dalla piattaforma in uso, e di minimo impatto sul portafogli.

Come convertire un file .ecw in GeoTiff?

E’ una domanda la cui risposta si trova nascosta nel più letto articolo di questo Blog: “FWTools: convertire in batch da tif, ecw e jpg2000 a tif, ecw e jpg2000!!”. La risposta è “utilizzate FWTools“. Di FWTools non parlo, trovate diverse informazioni su questo sito e molte di più sul web, ma eccovi la procedura da seguire:

  1. aprite la shell di FWTools
  2. posizionatevi nella cartella in cui è contenuto il file .ecw da convertire (non è necessario, è solo per semplicità di spiegazione)
  3. scrivete “gdal_translate -of GTiff img1.ecw img1.tif” e premete INVIO
  4. verrà creato un file GeoTiff nella stessa cartella in cui è presente il file .ecw

Il parametro “-of” si usa per specificare il formato di output, ed a seguire il nome del file di input e poi quello di output. Fine

Come sovrapporre uno shape file a google earth?

Questa è una domanda classica per la quale ci sono diverse risposte possibili. Tre di queste:

  • usare shp2kml
  • usare un’altra utility di FWTools, ogr2ogr
  • sfruttare le grandi capacità di GeoServer (è un suggerimento di Andrea Aime)

Il primo è un semplice programma per Windows da scaricare ed installare, che non richiede spiegazioni.

Il secondo richiede che seguiate i seguenti passi:

  1. aprite la shell di FWTools
  2. posizionatevi nella cartella in cui è contenuto il file .shp da convertire (non è necessario, è solo per semplicità di spiegazione)
  3. scrivete “ogr2ogr -f KML shp1.kml shp1.shp” e premete INVIO
  4. verrà creato un file .kml nella stessa cartella in cui è presente il file .shp

Il parametro “-f” si usa per specificare il formato di output; a seguire il nome del file di output e poi quello di input. Attenzione: è invertito l’ordine dei file (prima output e poi input).

La terza possibilità è usare GeoServer:

Se c’è la necessità di effettuare uno styling della mappa generata (colore poligoni, spessore linee ecc) o di creare popup customizzati e associati agli attributi dello shapefile o, infine, per creare mappe con filtri dinamici, si può utilizzare GeoServer, sia come WMS che fornisce il KML a Google Earth “al volo” che offline, come strumento di preparazione del KML (si fa la GetMap a GeoServer e si salva il kml su disco una volta per tutte).

Fine

Come convertire i dati raccolti con il vostro GPS in formato Google Earth (.kml/.kmz)?

Basta usare il servizio di conversione che trovate su GPSVisualizer. Legge da quasi qualsiasi formato GPS e converte in un enorme numero di altri formati, tra i quali quelli di Google Earth (.kml/.kmz).

Se vorrete installare sul pc l’applicazione da cui è derivato questo servizio web, dovrete andare sul sito di GPSBabel, scaricarlo ed installarlo. L’elenco dei formati che gestisce è notevole.

Come convertire coppie di coordinate a partire da un foglio di calcolo(excel,calc, etc.)?

Anche in questo caso ci viene in aiuto FWTools. Lo strumento da utilizzare stavolta è “cs2cs (coordinate system to coordinate system). In questo video vedrete come fare una semplice conversione di coordinate, da Lat Lon WGS84 a UTM 33 Nord ED50, a partire da un foglio di calcolo.

Nel video noterete che per impostare il sistema di coordinate di partenza e quello di arrivo, imposto degli strani codici. Si tratta dei codici EPSG, un’organizzazione che ha raccolto e strutturato un elenco dei sistemi di coordinate (e dei parametri relativi) usati nel mondo. Ogni sistema ha un codice numerico. Se cercate un particolare codice EPSG, potrete cercarlo usando il sito descritto qui. Fine

9 giugno, 2007 | di

I gioielli più preziosi spesso stanno nascosti dentro una scatola di latta, sotto un paio di calze, nell’angolo del cassetto del mobile vecchio della nonna.

Non avrei (forse) mai scritto il tutorial che sto per scrivere, se non fossi “caduto” per caso in questo sito, un forum italiano dedicato al mondo delle mountain bike. Non ricordo esattamente come ci sia finito, probabilmente mentre facevo ricerche su qualcosa di collegato ad Atlante Italiano (il Portale Cartografico Nazionale). Il sito del forum di cui sopra è ovviamente in qualche modo legato al mondo dei GIS – oggi i ciclisti usano spesso GPS e cartine – ma non mi sarei mai aspettato di trovare un tutorial su come utilizzare gdal_translate in batch da riga di comando. Ma andiamo al tutorial.

Immaginate di avere una cartella con decine di file GeoTiff (o anche delle orribili coppie .tif/.tfw) , ed di volere convertire in batch (ovvero una conversione in blocco di tutti questi file) in un formato raster GIS compresso come il jpg2000 o l’ECW. Il cuore del processo sarà per l’appunto gdal_translate, un’utility che si trova in FWTools, e il cervello saranno i “cicli for” a partire dal prompt dei comandi.

Il funzionamento di gdal_translate è molto semplice. Immaginiamo di voler convertire un file GeoTiff in formato ECW; questi i passi da seguire:

  • aprite la shell di FWTools (si trova in Avvio>Tutti i Programmi>FWTools 1.x.x)
  • scrivete un comando di questo tipo
>gdal_translate -of ECW c:\tanto\tif\topografica1.tif  c:\tanto\ecw\topografica1.ecw

Come vedete è un comando potente e di semplice utilizzo:

  1. prima il nome del comando (gdal_translate)
  2. poi bisogna fissare il formato di output con “-of” (output format)
  3. poi il nome del file di input (metto le virgolette per evitare di avere problemi con nomi di cartelle e file con spazi)
  4. ed in fine il nome del file di output (come sopra)

In pochi secondi avrete così convertito il vostro singolo file GeoTiff in formato ECW, mantenendo inalterate le informazioni geografiche. Lo potrete verificare con il comando gdalinfo.

Come faccio a convertirne ad esempio 40 senza scrivere 40 volte il comando di cui sopra? Mi viene in aiuto un “classico” ciclo for che eseguirò da riga di comando.

Immaginiamo di avere creato due cartelle, una con i file di input (C:\tanto\tif\) ed un’altra per i file di output (C:\tanto\ecw\). Il comando per convertire in solo colpo le vostre 40 immagini GeoTiff in formato ECW sarà il seguente:

>for %i in ("c:\tanto\tif\*.tif") do gdal_translate -of ECW "%i" "c:\tanto\ecw\%~ni.ecw"

Anche questo comando lo lancerete dalla shell di FWTools. Anche questo è un comando semplice, ma richiede delle spiegazioni. Il comando di sopra tradotto in lingua italiana, potrebbe suonare così: “per (for) ogni file (%i) tif (*.tif) contenuto nella cartella c:\tanto\tif\, esegui (do) gdal_translate, e scegli ECW come formato di output (-of ECW)”. Ecco un esploso dei comandi:

  1. for (dichiarate l’inizio del ciclo)
  2. %i (è una variabile che creerete grazie al ciclo e conterrà, per ogni ciclo, il percorso completo del file della cartella di input)
  3. (c:\tanto\tif\*.tif) (specificate quale sia la cartella ed il formato di input)
  4. do (è il comando che fa eseguire una determinata operazione)
  5. gdal_translate -of ECW (sapete già cosa vuol dire)
  6. “%i” (il percorso completo del file di input)
  7. c:\tanto\ecw\ (la cartella di output)
  8. %~ni.ecw (solo il nome del file di input senza estensione, seguito dall’estensione di output)

Scritto il comando e dato invio, inizierà il processo di conversione; vi andate a fare un caffé ed al ritorno troverete tutti i file ECW nella cartella di output.

Ma torniamo al forum sulle mountail bike. Il thread che mi ha stimolato e che mi ha fatto capire diverse cose è questo: è composto da molte pagine, e contiene diverse “chicche”. Se ne scoprite qualcuna di interessante, perché non ci scrivete un post e lo pubblichiamo su TANTO. Colgo l’occasione per fare i complimenti agli utenti di questi forum.

Per saperne di più sui “cicli for” nel prompt del dos ecco alcuni link:

Tutte le utility di FWTools, sono opencource e disponibili anche per Linux. Tutto quello di cui abbiamo parlato si può fare anche in Linux, con tutte le possibilità che da in più la riga di comando in questo ambiente. Il mio problema è che non sono tanto bravo con Linux.

Tutti i comandi di sopra possono essere raffinati. Si possono scegliere molte cose oltre al formato di output: le dimensioni di output, il tipo di compressione, l’assegnazione del corretto sistema di coordinate, etc. Per tutte queste opzioni vi rimando alla pagina ufficiale di gdal_translate.

Per convertire in formato jpg2000 basterà scrivere “-of jp2kak”. Potrete fare anche conversioni in senso inverso da ECW a GeoTiff, ed in questo caso “-of Gtiff”.

Buon divertimento!!

21 febbraio, 2007 | di

In un post recente, ho parlato di FWTools ed ho introdotto il primo piccolissimo tutorial sul suo utilizzo. In questo, ci sposteremo dal raster al vector, e vedremo come estrarre le metainformazioni da un file vettoriale.

Utilizzerò l’utility ogrinfo, presente nel pacchetto FWTools. E’ un applicazione che va lanciata dal prompt dei comandi. Vediamo una serie di esempi applicati a un file con estensione .shp (ArcView shapefile):

>ogrinfo gb_orto.shp

mi restituirà

INFO: Open of `gb_orto.shp'
using driver `ESRI Shapefile' successful.
1: gb_orto (Polygon)

Se volessi avere le metainformazioni su questo layer poligonale – 1: gb_orto (Polygon) – scriverò

>ogrinfo -summary gb_orto.shp gb_orto

e otterrò

INFO: Open of `gb_orto.shp'
using driver `ESRI Shapefile' successful.
	
Layer name: gb_orto
Geometry: Polygon
Feature Count: 698
Extent: (2244520.000000, 3929160.000000) - (2578399.500000, 4288120.000000)
Layer SRS WKT:
(unknown)
RASTER: String (255.0)

In questo caso ottengo molte più informazioni:

  • il numero di feature presenti nel layer (698 poligoni)
  • l’estensione geografica del layer (il bounding box)
  • il sistema di coordinate – SRS Spatial Reference System – quando è possibile ricavarlo dal file (nel mio esempio non era possibile, come spesso accade con gli shapefile)
  • i campi presenti nel database e la loro tipologia (c’è un solo campo che si chiama “RASTER”, e di tipo String e con una larghezza di 255 caratteri)

Per gli appofondimenti vi lascio alla pagina ufficiale e alla rete.

9 febbraio, 2007 | di

Quando formatto il mio PC, e devo reinstallare tutte le applicazioni, inizio da quelle “fondamentali ed insostituibili”. Ognuno ha le proprie, e la scelta si basa su criteri pratici mescolati spesso con pulsazioni da tifoso. Nella mia Top Ten c’è proprio FWTools, un kit di applicazioni sviluppato da Frank Warmerdam (FW), disponibile sia per Linux che per Windows, che non può mancare tra le applicazione di chiunque si occupi di GIS e cartografia numerica.

E’ composto dai seguenti pacchetti:

  • OpenEV: A high performance raster/vector desktop data viewer and analysis tool.
  • MapServer: A web mapping package.
  • GDAL/OGR: A library and set of commandline utility applications for reading and writing a variety of geospatial raster (GDAL) and vector (OGR) formats.
  • PROJ.4: A cartographic projections library with commandline utilities.
  • OGDI: a multi-format raster and vector reading techology noteworthy for inclusion of support for various military formats including VPF (ie. VMAP, VITD), RPF (ie. CADRG, CIB), and ADRG.
  • Python: a scripting language.

Con questo post, voglio inaugurare una serie di piccolissimi tutorial dedicata a FWTools ed in particolare alle librerie GDAL/OGR. L’installazione di FWTools è molto semplice e non ne parlerò. Le operazione che andremo a svolgere, le faremo tutte da “riga di comando”.

Come ricavare le metainformazioni disponibili in un file GeoTiff?

Per ottenere queste informazioni utilizzerò le librerie GDAL, ed in particolare l’utility gdalinfo. Ecco i passi da seguire:

  • aprire la shell di sistema
  • scrivere un comando con la seguente sintassi "gdalinfo /percorso_file_geotiff/file_geottif.tif"
  • premere invio

Otterrò un’output di questo tipo:

Driver: GTiff/GeoTIFF
Size is 7520, 5800
Coordinate System is:
PROJCS[\"unnamed\",
GEOGCS[\"unnamed\",
DATUM[\"unknown\",
SPHEROID[\"unnamed\",6378388,297.0000000000014,
AUTHORITY[\"EPSG\",\"7022\"]],
AUTHORITY[\"EPSG\",\"6265\"]],
PRIMEM[\"Greenwich\",0],
UNIT[\"degree\",0.0174532925199433],
AUTHORITY[\"EPSG\",\"4265\"]],
UNIT[\"metre\",1,
AUTHORITY[\"EPSG\",\"9001\"]],
AUTHORITY[\"EPSG\",\"3004\"]]
Origin = (2366320.000000,4218280.000000)
Pixel Size = (1.00000000,-1.00000000)
Metadata:
AREA_OR_POINT=Area
TIFFTAG_XRESOLUTION=300
TIFFTAG_YRESOLUTION=300
TIFFTAG_RESOLUTIONUNIT=2 (pixels/inch)
Corner Coordinates:
Upper Left  ( 2366320.000, 4218280.000)
Lower Left  ( 2366320.000, 4212480.000)
Upper Right ( 2373840.000, 4218280.000)
Lower Right ( 2373840.000, 4212480.000)
Center      ( 2370080.000, 4215380.000)
Band 1 Block=7520x16 Type=Byte, ColorInterp=Red
Band 2 Block=7520x16 Type=Byte, ColorInterp=Green
Band 3 Block=7520x16 Type=Byte, ColorInterp=Blue

Magari a voi non suscita alcun emozione, ma questo semplicissimo comando ci restituisce un’informazione spaziale strutturata utilissima. Se vorrete creare un file .txt, basterà scrivere sulla shell la seguente stringa:

\"gdalinfo /percorso_file_geotiff/file_geottif.tif > /percorso_export/nomefile.txt\"

Il comando esegue anche operazioni più sofisticate, per le quali troverete informazioni sulla pagina ufficiale di questa utility e anche cercando un po’ sul web.


TANTO non rappresenta una testata giornalistica ai sensi della legge n. 62 del 7.03.2001, in quanto non viene aggiornato con una precisa e determinata periodicita'. Pertanto, in alcun modo puo' considerarsi un prodotto editoriale.