Buffer in metri / km usando gli strati WGS84 usando QGIS


12

Sto usando QGIS 1.7.4-Wroclaw e sto lavorando con un livello SHP in WGS84. Voglio bufferizzare ad un certo numero di chilometri da questo livello usando lo strumento buffer ftools.

Capisco che lo strumento buffer utilizza sempre le unità di livello, che per WGS84 sono gradi decimali. Sappiamo tutti che i gradi non si convertono costantemente in metri, quindi come devo fare per creare i miei buffer?

È necessario per me convertire gli shapefile in un diverso CRS che utilizza nativamente i misuratori?

In tal caso, come posso sceglierne uno?


Quali sono le dimensioni del tuo file di forma? Avremmo bisogno di queste informazioni per raccomandare un CRS.
nhopton,

Sì, dovrai riproiettare prima lo Shapefile (ad esempio usando lo strumento "Reproject layer" di fTools). La proiezione migliore dipende da dove si trova l'area (longitudine / latitudine) e da quanto è grande.
Jake,

Grazie, @Jake e @nhopton! Sto tamponando da diversi punti nel nord di Taiwan, ma i buffer saranno compresi tra 1000 e 2000 km (coprendo circa metà della Cina e Taiwan).
Evan,

1
Questa mappa è definita con un sistema di coordinate geografiche (latitudine / longitudine) ma le estensioni della mappa suggeriscono che in realtà è un sistema di coordinate proiettato (ad es. Mercatore). In tal caso, i risultati delle misurazioni di linea o area saranno errati. Per risolvere questo problema, imposta esplicitamente un sistema di coordinate della mappa appropriato usando il menu Impostazioni: Proprietà progetto.
Ger,

In realtà è solo un file di Natural Earth ritagliato, quindi è solo in WGS84.
Evan,

Risposte:


12

Per questa applicazione, utilizzerei una proiezione equidistante azimutale centrata nel mezzo dei punti sorgente. Questa proiezione ha la bella caratteristica di tutte le distanze radiali attorno al centro della proiezione essere accurate.

Quella particolare proiezione non fa parte delle proiezioni standard di QGIS. È possibile definire le proprie utilizzando Impostazioni / CRS personalizzato con la stringa di comando +proj=aeqd +lat_0=24.5 +lon_0=121.5, ma sfortunatamente le proiezioni personalizzate non possono essere utilizzate dallo strumento Riproiezione di fTools. Invece, puoi trasformare il tuo set di dati sulla riga di comando usando il comando

ogr2ogr points_reprojected.shp points.shp -t_srs "+proj=aeqd +lat_0=24.5 +lon_0=121.5"

Quindi puoi eseguire il buffering in QGIS usando lo points_reprojected.shpshapefile.

Un buffer di 2000 km attorno a un punto nel nord di Taiwan sembra un cerchio in una proiezione ortografica centrata sul punto:

... e schiacciato in WGS84:


Grazie - la riproiezione su Azimuthal Equidistant e il buffering hanno funzionato magnificamente! In effetti, stavo già usando quella proiezione per la proiezione al volo, ma non mi rendevo conto che avrebbe avuto le unità di cui avevo bisogno. Ma non ho dovuto usare la riga di comando per riproiettare: Livello> Salva come ... ha fatto il trucco (dopo aver definito il CRS personalizzato).
Evan,

@Evan: Lieto di sentirlo! Se consideri la tua domanda come risposta, puoi contrassegnarla come tale facendo clic sul segno di spunta accanto alla risposta
Jake,

1

Hum, interessante. Come primo tentativo, penso che darei un'occhiata alla generazione dei (enormi) buffer come KML. Puoi farlo qui:

http://www.thesamestory.com/kmlcircle/

Dovrai inserire lat / lon per un punto e una distanza di buffer. Quello che ottieni è un file KML contenente il cerchio. Dai un'occhiata a questo in Google Earth e, se va bene, caricalo in QGIS.

inserisci qui la descrizione dell'immagine


1
Sfortunatamente, a QGIS Lisboa non piace il file kml generato.
AndreJ,

A QGIS non piace il nome del file. Prova a cambiarlo in (diciamo) "circle1.kml". Ma avrei dovuto controllare. N.
nhopton,

Bene, carica il file in Google Earth e poi salva come KML. Quindi modificare il nome del file dal nome predefinito. ogr2ogr converte il file in SHP anche abbastanza bene. N.
nhopton,

La soluzione di Jake ha funzionato perfettamente per me, ma questo potrebbe essere anche un buon modo per farlo. Lo terrò a mente. Grazie!
Evan,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.