10-27-2019, 06:22 PM
Buongiorno a tutti,
e complimenti per tutte le interessanti discussioni qui presenti!
Utilizzando QGIS 3.6 mi scontrando in un paio di operazioni teoricamente elementari.
Ringraziandovi in antiicpo per l'aiuto provo a descrivere la situazione, carico i file "incriminati" e vorrei provare a chiedervi se il flusso di lavoro da me immaginato è il "più corretto/semplice/veloce"
shapefile:
1.comuni_porzione (poligonale): 5 poligoni (diversi porzioni di territori comunali adiacenti), tabella attributi con 6 campi tra cui il nome del comune
2.carta_uso_suolo (poligonale): 8727 poligoni diffusi su un territorio molto più vasto di comuni_porzione (ma che non coprono tutta l'area di comuni_porzione) , è una carta di uso del suolo composta da piccoli poligoni che per la maggior parte sono inclusi in un solo territorio comunale, alcuni sono ovviamente "transfrontalieri"
obiettivo: ottenere la carta d'uso del suolo per le sole 5 comuni_porzione adiacenti (poligonale_2) in cui per ogni poligono ho anche l'info nella tab. attributi sul comune in cui si trova. E quindi spezzando le geometrie transfrontaliere ottenendone per ognuna due poligoni: una nel comune A e una nel comune B (una sorta di add polygon attributes to polygon)
Temo che uno dei problemi siano anche gli errori geometrici/topologici dei layer di partenza che non ho creato io ma ho ricevuto così.
mio flusso di lavoro:
ritaglia -> unisci attributi per posizione
"ritaglia" usando il file "comuni" come layer di ritaglio - > "unisci attributi per posizione" aggiungendo i campi dalla tabella attributi del file "comuni" a tutti i poligoni d'uso del suolo
problemi riscontrati:
1) quando ritaglio la carta d'uso del suolo con lo shape dei comuni (5 record, ogni geometria è un comune) ottengo la carta d'uso del suolo solamente nei 5 comuni MA i poligoni "transfrontalier" (condivisi tra i miei comuni adiacenti) non vengono divisi. Non mi spezza le geometrie tra comuni.
2) ci sono riuscito trasformando il file poligonale dei comuni in polilinee utilizzando il tool "da poligono a linee" e ritagliando i poligoni della carta d'uso del suolo con il tool "dividi con linee".
Poi però utilizzando "unisci attributi per posizione" solo alcuni poligoni d'uso del suolo ricevono le info sul comune in cui si trovano, parecchi (seppur visualmente completamente dentro i confini dei comuni) non ricevono alcuna informazione nella tabella attributi, i recordi di molti poligoni non hanno info nei campi del comune etc
mi sono immaginato che quei poligoni abbiano dei problemi topologici... Può essere?
Spero di essermi spiegato e vi ringrazio per l'aiuto che potrete darmi.
Vi allego i due file semplificati come num. di geometrie e campi delle tabelle attributi.
Mi interesserebbe più che ottenere il risultato capire il processo più idoneo [anche perché dovrei poi ripetere l'operazione numerose altre volte con altri layer, non soltanto poligonali ma anche di polilinee e puntuali (questi ultimi mi "spaventano" meno perché ho già utilizzato il tool "add point attributes to polygon"]
e complimenti per tutte le interessanti discussioni qui presenti!
Utilizzando QGIS 3.6 mi scontrando in un paio di operazioni teoricamente elementari.
Ringraziandovi in antiicpo per l'aiuto provo a descrivere la situazione, carico i file "incriminati" e vorrei provare a chiedervi se il flusso di lavoro da me immaginato è il "più corretto/semplice/veloce"
shapefile:
1.comuni_porzione (poligonale): 5 poligoni (diversi porzioni di territori comunali adiacenti), tabella attributi con 6 campi tra cui il nome del comune
2.carta_uso_suolo (poligonale): 8727 poligoni diffusi su un territorio molto più vasto di comuni_porzione (ma che non coprono tutta l'area di comuni_porzione) , è una carta di uso del suolo composta da piccoli poligoni che per la maggior parte sono inclusi in un solo territorio comunale, alcuni sono ovviamente "transfrontalieri"
obiettivo: ottenere la carta d'uso del suolo per le sole 5 comuni_porzione adiacenti (poligonale_2) in cui per ogni poligono ho anche l'info nella tab. attributi sul comune in cui si trova. E quindi spezzando le geometrie transfrontaliere ottenendone per ognuna due poligoni: una nel comune A e una nel comune B (una sorta di add polygon attributes to polygon)
Temo che uno dei problemi siano anche gli errori geometrici/topologici dei layer di partenza che non ho creato io ma ho ricevuto così.
mio flusso di lavoro:
ritaglia -> unisci attributi per posizione
"ritaglia" usando il file "comuni" come layer di ritaglio - > "unisci attributi per posizione" aggiungendo i campi dalla tabella attributi del file "comuni" a tutti i poligoni d'uso del suolo
problemi riscontrati:
1) quando ritaglio la carta d'uso del suolo con lo shape dei comuni (5 record, ogni geometria è un comune) ottengo la carta d'uso del suolo solamente nei 5 comuni MA i poligoni "transfrontalier" (condivisi tra i miei comuni adiacenti) non vengono divisi. Non mi spezza le geometrie tra comuni.
2) ci sono riuscito trasformando il file poligonale dei comuni in polilinee utilizzando il tool "da poligono a linee" e ritagliando i poligoni della carta d'uso del suolo con il tool "dividi con linee".
Poi però utilizzando "unisci attributi per posizione" solo alcuni poligoni d'uso del suolo ricevono le info sul comune in cui si trovano, parecchi (seppur visualmente completamente dentro i confini dei comuni) non ricevono alcuna informazione nella tabella attributi, i recordi di molti poligoni non hanno info nei campi del comune etc
mi sono immaginato che quei poligoni abbiano dei problemi topologici... Può essere?
Spero di essermi spiegato e vi ringrazio per l'aiuto che potrete darmi.
Vi allego i due file semplificati come num. di geometrie e campi delle tabelle attributi.
Mi interesserebbe più che ottenere il risultato capire il processo più idoneo [anche perché dovrei poi ripetere l'operazione numerose altre volte con altri layer, non soltanto poligonali ma anche di polilinee e puntuali (questi ultimi mi "spaventano" meno perché ho già utilizzato il tool "add point attributes to polygon"]