Creazione di linee parallele a una distanza particolare da linee che fanno parte di un file di forma


11

Sto usando QGIS 2.18. Ho shapefile che contiene più righe. Dopo aver elaborato determinate elaborazioni dei dati, devo disegnare linee parallele a diverse distanze dalle linee esistenti. Ad esempio, ho 32 righe nel file di forma esistente. Voglio tracciare linee parallele alla distanza di 50, 100, 170, 500.400 dall'ID linea n. 3, 6,20,25,31 in una volta. C'è qualche metodo o plugin in QGIS per fare lo stesso?

Risposte:


6

È possibile utilizzare il plug-in QAD , che offre comandi simili a CAD in QGIS.

Funziona solo con i sistemi di coordinate proiettate (quindi è necessario proiettare i dati prima di utilizzarli) e con la modalità di modifica abilitata (fare clic con il pulsante destro del mouse sul livello e selezionare Toggle Editing).

Per il tuo caso, devi fare clic sul pulsante Offset :

inserisci qui la descrizione dell'immagine

e segui le istruzioni che appariranno nella finestra di testo QAD (esattamente come in AutoCAD):

inserisci qui la descrizione dell'immagine

Ad esempio, questo è l'output quando si utilizza un offset diverso per due diverse funzionalità:

inserisci qui la descrizione dell'immagine


Grazie per la tua risposta. Esiste un altro metodo o plug-in per eseguire questa attività senza proiettare i dati?
Jitendra,

Ho usato un approccio con i dati proiettati poiché mi sembrava che avessi a che fare con i contatori ( distanze di 50, 100, 170, 500.400 .. ). Cambiare la proiezione è molto semplice: fare clic con il tasto destro sul layer, quindi Save asselezionare un sistema di coordinate proiettate. Dopo aver eseguito l'offset, è possibile tornare al sistema di coordinate geografiche con l'operazione inversa ... Dovrebbe essere corretto.
mgri,

Senza proiettare i dati, devi affrontare gli angoli anziché i metri e non so se diventa più facile per te ...
mgri

Lo strumento QAD funziona correttamente. Ma devo ripetere l'attività per tutte le righe nello shapefile manualmente. Esiste un metodo per leggere line_ID e distanza dalla linea letto dalla tabella degli attributi o file exel o CSV automaticamente e disegnare tutte le linee parallele contemporaneamente.
Jitendra,

Non conosco uno strumento che svolge questo compito, ma potrei provare a dare una soluzione usando PyQGIS ... Potrebbe interessarti?
mgri,

6

Se nella tabella degli attributi è presente una colonna che specifica la distanza tra le linee parallele, il seguente metodo dovrebbe essere in grado di farlo in una volta sola:

È possibile utilizzare l' Single sided buffers (and offset lines) for linesalgoritmo GDAL/OGR > [OGR] Geoprocessingnella casella degli strumenti di elaborazione. Dovrai impostare l' Operazione come curva di offset e inserire il nome della colonna contenente la distanza in Buffer distance (Nel mio caso il nome della colonna è larghezza ). Inoltre puoi impostare quale lato della linea deve essere disegnata la linea parallela selezionando il lato Buffer come destro o sinistro.

inserisci qui la descrizione dell'immagine


Grazie per la risposta. Sto usando lo strumento OGR secondo il tuo suggerimento, ma nulla è stato mostrato nel nuovo shapefile di output.
Jitendra,

Puoi condividere il sistema di proiezione in cui si trova il tuo file di forma? Le schermate della tabella degli attributi del livello di output potrebbero essere utili.
nash,

Il sistema di proiezione di shapefile è EPSG 4326
Jitendra,

Così si capisce che le nuove linee sono create a una distanza di 50.100.170,5 mila e 400, che è nei gradi di unità e non metri (che io parto dal presupposto che vuoi?)
nash

Supponendo che si desideri la distanza in metri, è necessario convertire il file di forma in un sistema di proiezione con unità in metri (ad esempio un sistema di proiezione UTM della zona applicabile). Quindi eseguire l'algoritmo.
nash,

6

È possibile utilizzare "v.parallel", è possibile trovare questo strumento nella casella degli strumenti di elaborazione QGIS.

  1. Selezionare la riga con ID riga n. 3, 6,20,25,31 Seleziona le linee

  2. Usa "v.parallel", crea una linea parallela dalle linee selezionate. Ma devi fare più volte per produrre diverse distanze di offset (50, 100, 170, 500.400). C'è un'opzione "Lato", è possibile assegnare la posizione delle linee parallele. "V.parallel"

  3. Risultato: linee parallele (colorate in blu) sul lato sinistro delle linee selezionate risultato

Grazie Cy Y per la risposta. Ho usato il comando v.parallel ma nulla è stato mostrato nel nuovo shapefile di output.
Jitendra,

1
p / s: il comando "v.parallel" funziona solo con linee curve, non può funzionare con linee rette che hanno solo due vertici di linea.
Cy T
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.