Problema di analisi spaziale

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

Problema di analisi spaziale

Iacopo Zetti
Salve a tutti,
               mi trovo davanti ad un problema concettualmente  
semplice, ma da cui non riesco ad uscire con una soluzione tecnica.
Cercando di essere chiaro e sintetico:
- ho un layer (uno shape, ma non fa differenza) di poligoni (edifici)  
la cui tabella di attributi contiene un campo che ha solo 2  
informazioni (per esemplificare A e B);
- gli edifici, ovviamente, compongono spesso degli isolati;
- devo isolare (selezionare) tutti i casi in cui gli edifici di tipo B  
sono racchiusi completamente da edifici di tipo A;
- ovviamente gli edifici non si intersecano e spesso non si toccano  
neanche, quindi non posso usare i comandi di interrogazione spaziale
- come software posso lavorare indifferentemente con QGis, postgress,  
grass o...
ma non trovo un modo per chiedere a nessuno di questi di fare questo lavoro.

Qualche suggerimento?

Grazie mille in anticipo.

Iacopo

_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
805 iscritti al 29.02.2015
Reply | Threaded
Open this post in threaded view
|

Re: Problema di analisi spaziale

a.furieri
On Fri, 11 Mar 2016 17:34:34 +0100, [hidden email] wrote:
> Salve a tutti,
>               mi trovo davanti ad un problema concettualmente
> semplice, ma da cui non riesco ad uscire con una soluzione tecnica.
> Cercando di essere chiaro e sintetico:
> - ho un layer (uno shape, ma non fa differenza) di poligoni (edifici)
> la cui tabella di attributi contiene un campo che ha solo 2
> informazioni (per esemplificare A e B);
> - gli edifici, ovviamente, compongono spesso degli isolati;
>

personalmente non direi affatto "ovviamente"; mescolare edifici
ed isolati dentro ad un unico layer pare un criterio decisamente
confusionario. per buona norma e regola gli edifici vanno su un
layer e gli isolati vanno in un layer distinto (per lo meno,
questo e' il criterio che normalmente adotta p.es. la CTR
vettoriale di regione toscana, ma direi che anche altre regioni
seguono il medesimo criterio).


> - devo isolare (selezionare) tutti i casi in cui gli edifici di tipo
> B  sono racchiusi completamente da edifici di tipo A;
> - ovviamente gli edifici non si intersecano e spesso non si toccano
> neanche, quindi non posso usare i comandi di interrogazione spaziale
> - come software posso lavorare indifferentemente con QGis, postgress,
> grass o...
> ma non trovo un modo per chiedere a nessuno di questi di fare questo
> lavoro.
>

provo a riformulare il tuo quesito lascindo perdere glu edifici
incastrati
dentro ad altri edifici come se fossero delle matrioske.
se capisco bene, a te interessa semplicemente identificare quali
poligoni "tipo B" sono completamente coperti da un poligono "tipo A",
che e' un classico problema da Spatial SQL.
p.es. usando SpatiaLite basta utilizzare una query SQL fatta
all'incirca cosi':

SELECT a.id, a.geometry
FROM mytable AS a, mytable AS b
WHERE a.attrib = 'A' AND b.attrib = 'B' AND
       ST_CoveredBy(b.geometry, a.geometry) = 1;

in cui:
- "mytable" e' la tua tavola/layer
- "id" e' la chiave primaria delle tue features
- "attrib" e' la colonna che contiene 'A' oppure 'B'
- "geometry" e' la colonna con le geometrie

con qualche modestissimo arrangiamento ti dovrebbe girare
anche su PostGIS.
se invece vuoi provare con SpatiaLite e devi analizzare molte
features (diciamo oltre 10.000) sarebbe sicuramente utile
aggiungere uno Spatial Index per maggiore velocita': se ti
interessa ne parliamo alla prossima puntata ....

ciao Sandro
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
805 iscritti al 29.02.2015
Reply | Threaded
Open this post in threaded view
|

R: Problema di analisi spaziale

Piergiorgio Cipriano
>> per buona norma e regola gli edifici vanno su un
layer e gli isolati vanno in un layer distinto (per lo meno,
questo e' il criterio che normalmente adotta p.es. la CTR
vettoriale di regione toscana, ma direi che anche altre regioni
seguono il medesimo criterio

Con previsto dalle specifiche italiane database topografici:
- più feature della classe "unità voltmetriche" compongono una feature "edificio"
- più "edifici" compongono un "cassone edilizio"

Definizioni delle classi e dei relativi attributi sono qui:
http://www.minambiente.it/sites/default/files/archivio/allegati/allegato_1_decreto_DB_geotopografici.pdf

pg

----- Messaggio originale -----
Da: "[hidden email]" <[hidden email]>
Inviato: ‎11/‎03/‎2016 18:33
A: "[hidden email]" <[hidden email]>
Oggetto: Re: [Gfoss] Problema di analisi spaziale

On Fri, 11 Mar 2016 17:34:34 +0100, [hidden email] wrote:
> Salve a tutti,
>               mi trovo davanti ad un problema concettualmente
> semplice, ma da cui non riesco ad uscire con una soluzione tecnica.
> Cercando di essere chiaro e sintetico:
> - ho un layer (uno shape, ma non fa differenza) di poligoni (edifici)
> la cui tabella di attributi contiene un campo che ha solo 2
> informazioni (per esemplificare A e B);
> - gli edifici, ovviamente, compongono spesso degli isolati;
>

personalmente non direi affatto "ovviamente"; mescolare edifici
ed isolati dentro ad un unico layer pare un criterio decisamente
confusionario. per buona norma e regola gli edifici vanno su un
layer e gli isolati vanno in un layer distinto (per lo meno,
questo e' il criterio che normalmente adotta p.es. la CTR
vettoriale di regione toscana, ma direi che anche altre regioni
seguono il medesimo criterio).


> - devo isolare (selezionare) tutti i casi in cui gli edifici di tipo
> B  sono racchiusi completamente da edifici di tipo A;
> - ovviamente gli edifici non si intersecano e spesso non si toccano
> neanche, quindi non posso usare i comandi di interrogazione spaziale
> - come software posso lavorare indifferentemente con QGis, postgress,
> grass o...
> ma non trovo un modo per chiedere a nessuno di questi di fare questo
> lavoro.
>

provo a riformulare il tuo quesito lascindo perdere glu edifici
incastrati
dentro ad altri edifici come se fossero delle matrioske.
se capisco bene, a te interessa semplicemente identificare quali
poligoni "tipo B" sono completamente coperti da un poligono "tipo A",
che e' un classico problema da Spatial SQL.
p.es. usando SpatiaLite basta utilizzare una query SQL fatta
all'incirca cosi':

SELECT a.id, a.geometry
FROM mytable AS a, mytable AS b
WHERE a.attrib = 'A' AND b.attrib = 'B' AND
       ST_CoveredBy(b.geometry, a.geometry) = 1;

in cui:
- "mytable" e' la tua tavola/layer
- "id" e' la chiave primaria delle tue features
- "attrib" e' la colonna che contiene 'A' oppure 'B'
- "geometry" e' la colonna con le geometrie

con qualche modestissimo arrangiamento ti dovrebbe girare
anche su PostGIS.
se invece vuoi provare con SpatiaLite e devi analizzare molte
features (diciamo oltre 10.000) sarebbe sicuramente utile
aggiungere uno Spatial Index per maggiore velocita': se ti
interessa ne parliamo alla prossima puntata ....

ciao Sandro
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
805 iscritti al 29.02.2015
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
805 iscritti al 29.02.2015
Reply | Threaded
Open this post in threaded view
|

Re: Problema di analisi spaziale

francesco marucci-2
In reply to this post by Iacopo Zetti
ciao,
forse non mi è chiarissimo il tuo problema, però una possibile soluzione
potrebbe essere fare un dissolve (no multi parte) dei poligoni di tipo A,
di questi rendere poligono ciò che è "buco" e con questi verificare
eventuali intersezioni con i poligoni di tipo B.

quando dici "isolare i poligoni B che sono racchiusi completamente da
edifici A" io capisco che devi scovare quegli edifici che sono nel centro
di una corona di edifici.

è così o ho capito male?

saluti,
francesco
Il 11/mar/2016 05:41 PM, <[hidden email]> ha scritto:

> Salve a tutti,
>               mi trovo davanti ad un problema concettualmente semplice, ma
> da cui non riesco ad uscire con una soluzione tecnica.
> Cercando di essere chiaro e sintetico:
> - ho un layer (uno shape, ma non fa differenza) di poligoni (edifici) la
> cui tabella di attributi contiene un campo che ha solo 2 informazioni (per
> esemplificare A e B);
> - gli edifici, ovviamente, compongono spesso degli isolati;
> - devo isolare (selezionare) tutti i casi in cui gli edifici di tipo B
> sono racchiusi completamente da edifici di tipo A;
> - ovviamente gli edifici non si intersecano e spesso non si toccano
> neanche, quindi non posso usare i comandi di interrogazione spaziale
> - come software posso lavorare indifferentemente con QGis, postgress,
> grass o...
> ma non trovo un modo per chiedere a nessuno di questi di fare questo
> lavoro.
>
> Qualche suggerimento?
>
> Grazie mille in anticipo.
>
> Iacopo
>
> _______________________________________________
> [hidden email]
> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
> Questa e' una lista di discussione pubblica aperta a tutti.
> I messaggi di questa lista non hanno relazione diretta con le posizioni
> dell'Associazione GFOSS.it.
> 805 iscritti al 29.02.2015

_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
805 iscritti al 29.02.2015
Reply | Threaded
Open this post in threaded view
|

Re: Problema di analisi spaziale

Giuliano Curti
In reply to this post by Iacopo Zetti
Il giorno Fri, 11 Mar 2016 17:34:34 +0100
[hidden email] ha scritto:

> Salve a tutti,

salve,


>                mi trovo davanti ad un problema concettualmente  
> semplice, ma ......

oops.. stavo rispondendo ma mi hanno preceduto altri; il problema è che
io ho capito una cosa ancora diversa da loro: forse ti conviene chiarire
con più precisione e calma il problema :-)


> ........
> - devo isolare (selezionare) tutti i casi in cui gli edifici di tipo
> B sono racchiusi completamente da edifici di tipo A;
> ........

ecco, io ad esempio ho capito che A sono cmq edifici e che tu non
disponi degli isolati: corretto?

quando parli di
> B sono racchiusi completamente da edifici di tipo A;
         ^^^^^^^^^^^^^^^^^^^^^^^
vuole dire che gli edifici A costituiscono il perimetro dell'isolato?
situazioni tipica dei centri urbani, ma sei sicuro di non trovarti
situazioni di edificazione sparsa?

come vedi, qualche info in più non è male :-)


> Grazie mille in anticipo.
>  
> Iacopo

ciao,
giuliano
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
805 iscritti al 29.02.2015
Reply | Threaded
Open this post in threaded view
|

Re: Problema di analisi spaziale

pigreco
In questi casi sarebbe meglio allegare (tramite cloud) una porzione di
shapefile, cosi da evitare interpretazioni.

saluti

Il giorno 11 marzo 2016 20:40, giulianc51 <[hidden email]> ha scritto:

> Il giorno Fri, 11 Mar 2016 17:34:34 +0100
> [hidden email] ha scritto:
>
> > Salve a tutti,
>
> salve,
>
>
> >                mi trovo davanti ad un problema concettualmente
> > semplice, ma ......
>
> oops.. stavo rispondendo ma mi hanno preceduto altri; il problema è che
> io ho capito una cosa ancora diversa da loro: forse ti conviene chiarire
> con più precisione e calma il problema :-)
>
>
> > ........
> > - devo isolare (selezionare) tutti i casi in cui gli edifici di tipo
> > B sono racchiusi completamente da edifici di tipo A;
> > ........
>
> ecco, io ad esempio ho capito che A sono cmq edifici e che tu non
> disponi degli isolati: corretto?
>
> quando parli di
> > B sono racchiusi completamente da edifici di tipo A;
>          ^^^^^^^^^^^^^^^^^^^^^^^
> vuole dire che gli edifici A costituiscono il perimetro dell'isolato?
> situazioni tipica dei centri urbani, ma sei sicuro di non trovarti
> situazioni di edificazione sparsa?
>
> come vedi, qualche info in più non è male :-)
>
>
> > Grazie mille in anticipo.
> >
> > Iacopo
>
> ciao,
> giuliano
> _______________________________________________
> [hidden email]
> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
> Questa e' una lista di discussione pubblica aperta a tutti.
> I messaggi di questa lista non hanno relazione diretta con le posizioni
> dell'Associazione GFOSS.it.
> 805 iscritti al 29.02.2015
>


--
*Salvatore Fiandaca*
*mobile*.:+39 327.493.8955
*m*: *[hidden email] <[hidden email]>*
*blog:** https://pigrecoinfinito.wordpress.com/
<https://pigrecoinfinito.wordpress.com/>*

43°51'0.54"N  10°34'27.62"E - EPSG:4326

“Se la conoscenza deve essere aperta a tutti,
perchè mai limitarne l’accesso?”
R. Stallman

_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
805 iscritti al 29.02.2015
Reply | Threaded
Open this post in threaded view
|

Re: Problema di analisi spaziale

Iacopo Zetti-2
In reply to this post by Giuliano Curti
Grazie a tutti dei consigli.
Cerco di chiarire e illustro anche la soluzione che ho trovato, magari
serve a qualcuno.

> ecco, io ad esempio ho capito che A sono cmq edifici e che tu non
> disponi degli isolati: corretto?
> quando parli di B sono racchiusi completamente da edifici di tipo A;
> vuole dire che gli edifici A costituiscono il perimetro dell'isolato?

esatto, e questo è il motivo per cui non posso usare una query spaziale
compresa ST_CoveredBy (se ben capisco la sua natura).

Ho dunque dissolto gli edifici A e convertiti i poligoni in linee, poi
riconverto le linee in poligoni, in modo da eliminare i vuoti, i buchi
appunto (ovviamente non è l'unico metodo).
A questo punto l'interrogazione spaziale funziona.
Fatto tutto in QGis avendo relativamente pochi poligoni, ma con un
database ovviamente non cambierebbe).

Iacopo

_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
805 iscritti al 29.02.2015
Reply | Threaded
Open this post in threaded view
|

Re: Problema di analisi spaziale

Giuliano Curti
Il giorno Sat, 12 Mar 2016 00:15:21 +0100
Iacopo <[hidden email]> ha scritto:

> Grazie a tutti dei consigli.
> Cerco di chiarire e illustro anche la soluzione che ho trovato, magari
> serve a qualcuno.

grazie :-)


> > .....
>
> Ho dunque dissolto gli edifici A e convertiti i poligoni in linee, poi
> riconverto le linee in poligoni, ......

operazione del tutto manuale, giusto?
scusa, non voglio insistere, ma questo mi convince che i dati di
partenza non erano adatti, non era un algoritmo che ti serviva
bensì la costruzione di una adeguata informazione di base;


> Iacopo

ciao,
giuliano
_______________________________________________
[hidden email]
http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
Questa e' una lista di discussione pubblica aperta a tutti.
I messaggi di questa lista non hanno relazione diretta con le posizioni dell'Associazione GFOSS.it.
805 iscritti al 29.02.2015