Ciao ospite, se leggi questo messaggio significa che non sei ancora registrato. Clicca qui per registrarti in pochi semplici passaggi, così potrai godere di tutte le funzionalità del nostro Forum. Puoi anche registrarti ed accedere tramite i tuoi account social.
Ciao ospite, se leggi questo messaggio significa che non sei ancora registrato. Clicca qui per registrarti in pochi semplici passaggi, così potrai godere di tutte le funzionalità del nostro Forum. Puoi anche registrarti ed accedere tramite i tuoi account social.

Guarda il Video tutorial su come si usa il forum sul nostro canale YouTube. x


Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
[QGIS] plugin split layer by field
#1
Salve,
il plugin in oggetto fa un semplice lavoro: divide un layer in funzione di un campo e restituisce tanti layer quanti sono le righe del vettore di partenza; praticamente automatizza la funzione filtro.

Mi sono accorto che tale plugin non considera eventuali tabelle collegate tramite join al layer da splittare.

Siete a conoscenza di un plugin che faccia questo semplice procedura considerando anche eventuali tabelle in join?

grazie
donate: http://qgis.it/
-----:-)
Totò
Cita messaggio
#2
(12-16-2015, 05:59 PM)Atlas Ha scritto: divide un layer in funzione di un campo e restituisce tanti layer quanti sono le righe del vettore di partenza

A parte il fatto che Qgis contiene gia' nativamente quella funzione (si chiama "Dividi vettore"), ma poi il numero dei layer in uscita e' pari al numero delle colonne, e non delle righe.

Per intenderci: se la shape iniziale contiene N campi, da essa deriveranno N sotto-shape.

Cio' premesso, il comando splitta singole shape, quindi fai prima ad eseguire il join fisicamente, dividere il risultato, ed infine butti via la shape "joinata".

Smile
Cita messaggio
#3
Ciao Novarese, grazie per essere intervenuto ma non è affatto come dice lei, anzi è tutto l'opposto (sicuramente un lapsus).

1. sia il plugin (in oggetto) che il 'dividi vettore' fanno la stessa cosa, ma con una grande differenza: il plugin splitta applicando un filtro secondo il campo scelto e non genera nessun altro shape; il dividi vettore, invece, crea n layer e li salva in una cartella da selezionare;
2. entrambe le procedure chiedono un field, cioè un campo secondo cui splittare o dividere, quindi si avranno in output un numero di layer pari alle righe e non colonne (basti semplicemente provare);
3. anche la procedura 'divide vettore' non tiene conto delle tabelle 'joinate', questo è un limite;
4. se tutto ciò lo facessi a mano, attraverso un filtro, il risultato terrebbe conto delle tabelle joinate;
5. infine, cosa intende per eseguire un join fisicamente? un join è sempre qualcosa di 'fisico' tra due tabelle in relazione 1:1.

saluti


Allegati Anteprime
       
donate: http://qgis.it/
-----:-)
Totò
Cita messaggio
#4
(12-16-2015, 09:43 PM)Atlas Ha scritto: entrambe le procedure chiedono un field, cioè un campo secondo cui splittare o dividere, quindi si avranno in output un numero di layer pari alle righe e non colonne

Confermo e sottoscrivo: il comando nativo di cui parlavo divide per colonna, in cui "colonna" e' sinonimo di "campo" (field).

(12-16-2015, 09:43 PM)Atlas Ha scritto: cosa intende per eseguire un join fisicamente? un join è sempre qualcosa di 'fisico' tra due tabelle in relazione 1:1

Beh, no: il join e' un collegamento virtuale, in cui gli attori restano indipendenti.

Per "fisicamente" intendo la vera e propria fusione garantita da:

Combine => Spatial Join del plugin MMQGIS.

Buonanotte, gentile ingegnere

P.S.
Fra colleghi non ci si da' del Lei, comunque... Wink
Cita messaggio
#5
Carissimo collega (piacevole scoperta),
preferisco credere al lapsus e non alla spiegazione successiva.

Per quanto riguarda la seconda questione legata ai join:
fondendo due tabelle si perde definitivamente il join, quindi non si può più parlare di tabelle joinate ma fuse attraverso lo spatial join.

comunque grazie e notte!!!
donate: http://qgis.it/
-----:-)
Totò
Cita messaggio
#6
(12-16-2015, 07:00 PM)Novarese Ha scritto: [quote='Atlas' pid='2593' dateline='1450285143']divide un layer in funzione di un campo e restituisce tanti layer quanti sono le righe del vettore di partenza

A parte il fatto che Qgis contiene gia' nativamente quella funzione (si chiama "Dividi vettore"), ma poi il numero dei layer in uscita e' pari al numero delle colonne, e non delle righe.

Per intenderci: se la shape iniziale contiene N campi, da essa deriveranno N sotto-shape.

Non vorrei creare dubbi per chi leggesse questa discussione:
il plugin in oggetto 'splitta' (divide) un layer in funzione delle righe prendendo come parametro del filtro i valori di un campo:
facciamo un esempio chiarificatore, se un layer avesse tre colonne=campi=filed (gid,B e C) e 50 righe (feature), se usassimo il plugin per splittare selezionando la colonna 'gid' otterremo 50 layer.

Saluti
donate: http://qgis.it/
-----:-)
Totò
Cita messaggio


Discussioni simili
Thread Autore Replies Views Last Post
  Mancata visualizzazione layer Ignazio Vinci 1 1,320 07-28-2021, 03:40 PM
Last Post: agraurora
  Richiamare un campo di un layer mediante espressione Dario955i 0 1,741 05-16-2021, 08:42 AM
Last Post: Dario955i
  Layer da PostGis appare filtrato daniela.baratta 0 1,417 04-27-2021, 02:10 PM
Last Post: daniela.baratta
  Plugin GRASS in Qgis 3.10.12 Gioele Marcelli 0 1,373 12-08-2020, 06:57 PM
Last Post: Gioele Marcelli
  SCOSTAMENTO TRA LAYER tracqui 0 1,634 07-14-2020, 12:50 PM
Last Post: tracqui
  [2 quesiti] Redirezione Wfs e Albero dei Layer TrippaAdvisor 1 1,845 03-06-2020, 09:00 AM
Last Post: Donatella Salvetti
  Qgis zanzibar layer shp con alcuni poligoni non editabili Nessiotto 0 1,992 11-14-2019, 05:14 PM
Last Post: Nessiotto
  layer corrotto, recuperabile? jele1992 0 1,364 06-13-2019, 09:03 AM
Last Post: jele1992
  Espressione per Layer Virtuale Fabriziob 0 1,362 06-11-2019, 12:50 PM
Last Post: Fabriziob
  Layer creation failed angiotell 2 4,285 04-18-2019, 09:25 AM
Last Post: angiotell

Vai al forum:


Utenti che stanno guardando questa discussione: 1 Ospite(i)