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 |
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 |
>> 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 |
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 |
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 |
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 |
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 |
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 |
Free forum by Nabble | Edit this page |