come unire poligoni vicini?

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

come unire poligoni vicini?

Maurizio Napolitano-2
Ho 30.000 poligoni distribuiti su di una area
Ho necessità di creare poligoni concavi fra quelli più vicini
Suggerimenti anche su keyword da cercare?

Grazie

--
--
Le informazioni contenute nella presente comunicazione sono di natura 
privata e come tali sono da considerarsi riservate ed indirizzate 
esclusivamente ai destinatari indicati e per le finalità strettamente 
legate al relativo contenuto. Se avete ricevuto questo messaggio per 
errore, vi preghiamo di eliminarlo e di inviare una comunicazione 
all’indirizzo e-mail del mittente.

--
The information transmitted is
intended only for the person or entity to which it is addressed and may
contain confidential and/or privileged material. If you received this in
error, please contact the sender and delete the material.
_______________________________________________
[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.
796 iscritti al 28/12/2017
Reply | Threaded
Open this post in threaded view
|

Re: come unire poligoni vicini?

a.furieri
On Fri, 06 Apr 2018 15:13:07 +0000, Maurizio Napolitano wrote:
> Ho 30.000 poligoni distribuiti su di una area
> Ho necessità di creare poligoni concavi fra quelli più vicini
>

Ciao Napo,

non sono sicurissimo di avere capito bene i tuoi requisiti,
comunque provo a buttare giu' un'abbozzo di soluzione su
SpatiaLite.

CREATE TABLE aggregati (id INTEGER PRIMARY KEY);
SELECT AddGeometryColumn('aggregati', 'geom', 3003, 'MULTIPOLYGON',
'XY');

- per prima cosa andiamo a creare una tavola di appoggio


INSERT INTO aggregati
SELECT NULL, ST_Union(geometry)
FROM my_nput_table;

- ora andiamo ad usare la ST_Union come funzione aggegata,
   e salviamo il risultato nella tavola precedente.
   alla fine otterremo un unico enorme multipolygon, in
   cui sicuramente tutti i poligoni elementari adiacenti
   sono stati fusi assieme.


SELECT ElementaryGeometries('aggregati', 'geom', 'poligoni', 'new_id',
'old_id');
SELECT DropGeoTable('aggregati');

- come ultimo passaggio andiamo a sciogliere il grosso
   multipolygon che abbiamo creato nella fase crecedente
   risolvendo individualmente tutti i poligoni elementari.
   come ultimissimo passaggio eliminiamo la tavola di
   appoggio che non ci serve piu' a nulla.

ATTENZIONE: nulla assicura pero' che i poligoni risultanti
siano concavi oppure convessi ... e non mi viene neppure
in mente nessuna funzione Spatial SQL che possa aiutare a
discriminare tra i due casi.

ciao Sandro (ed in bocca al lupo)
-
_______________________________________________
[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.
796 iscritti al 28/12/2017
Reply | Threaded
Open this post in threaded view
|

Re: come unire poligoni vicini?

Sandro Santilli-2
In reply to this post by Maurizio Napolitano-2
On Fri, Apr 06, 2018 at 03:13:07PM +0000, Maurizio Napolitano wrote:
> Ho 30.000 poligoni distribuiti su di una area
> Ho necessità di creare poligoni concavi fra quelli più vicini
> Suggerimenti anche su keyword da cercare?

Concave hull ?

--strk;
_______________________________________________
[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.
796 iscritti al 28/12/2017
Reply | Threaded
Open this post in threaded view
|

Re: come unire poligoni vicini?

Maurizio Napolitano-2
> On Fri, Apr 06, 2018 at 03:13:07PM +0000, Maurizio Napolitano wrote:
> > Ho 30.000 poligoni distribuiti su di una area
> > Ho necessità di creare poligoni concavi fra quelli più vicini
> > Suggerimenti anche su keyword da cercare?
>
> Concave hull ?

Si e no.
nel senso che quando scrivo "vicini" intendo dire che fra un poligono
ed un altro c'è dello spazio e non sono contigui.
E, in quello spazio, potrebbe esserci un poligono che appartiene ad un
altra categoria.
Non so se mi sono spiegato.

--
--
Le informazioni contenute nella presente comunicazione sono di natura 
privata e come tali sono da considerarsi riservate ed indirizzate 
esclusivamente ai destinatari indicati e per le finalità strettamente 
legate al relativo contenuto. Se avete ricevuto questo messaggio per 
errore, vi preghiamo di eliminarlo e di inviare una comunicazione 
all’indirizzo e-mail del mittente.

--
The information transmitted is
intended only for the person or entity to which it is addressed and may
contain confidential and/or privileged material. If you received this in
error, please contact the sender and delete the material.
_______________________________________________
[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.
796 iscritti al 28/12/2017
Reply | Threaded
Open this post in threaded view
|

Re: come unire poligoni vicini?

giohappy
Ciao Maurizio,
domanda a monte: sei in grado di separare i poligoni delle diverse
categorie?
Seconda domanda, hai bisogno di fare una sorta di generalizzazione? Tipo
quello che si fa tra scale diverse di una CTR? Se sì, un metodo che a suo
tempo usai per il progetto della CTR della Regione Abruzzo consisteva nel
creare un buffer sufficiente a fare intersecare tra loro i poligoni,
dissolvere e poi applicare di nuovo un buffer con la stessa distanza in
negativo.
In quel caso la distanza del buffer era calcolato su delle euristiche in
base al livello di generalizzazione che volevo ottenere e alle distanze
minime tra i poligoni.

Giovanni

Il dom 8 apr 2018, 15:45 Maurizio Napolitano <[hidden email]> ha scritto:

> > On Fri, Apr 06, 2018 at 03:13:07PM +0000, Maurizio Napolitano wrote:
> > > Ho 30.000 poligoni distribuiti su di una area
> > > Ho necessità di creare poligoni concavi fra quelli più vicini
> > > Suggerimenti anche su keyword da cercare?
> >
> > Concave hull ?
>
> Si e no.
> nel senso che quando scrivo "vicini" intendo dire che fra un poligono
> ed un altro c'è dello spazio e non sono contigui.
> E, in quello spazio, potrebbe esserci un poligono che appartiene ad un
> altra categoria.
> Non so se mi sono spiegato.
>
> --
> --
> Le informazioni contenute nella presente comunicazione sono di natura
> privata e come tali sono da considerarsi riservate ed indirizzate
> esclusivamente ai destinatari indicati e per le finalità strettamente
> legate al relativo contenuto. Se avete ricevuto questo messaggio per
> errore, vi preghiamo di eliminarlo e di inviare una comunicazione
> all’indirizzo e-mail del mittente.
>
> --
> The information transmitted is
> intended only for the person or entity to which it is addressed and may
> contain confidential and/or privileged material. If you received this in
> error, please contact the sender and delete the material.
> _______________________________________________
> [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.
> 796 iscritti al 28/12/2017
_______________________________________________
[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.
796 iscritti al 28/12/2017
Reply | Threaded
Open this post in threaded view
|

Re: come unire poligoni vicini?

Maurizio Napolitano-2
2018-04-08 15:56 GMT+02:00 G. Allegri <[hidden email]>:
> Ciao Maurizio,
> domanda a monte: sei in grado di separare i poligoni delle diverse
> categorie?

Certo solo che non sono sempre contigui fra di loro.
In alcuni casi ho due insiemi di poligoni che appartengono ad una categoria
solo che, nel mezzo, c'è un altro insieme che appartiene ad un altra.
Spero di essermi spiegato.

> Seconda domanda, hai bisogno di fare una sorta di generalizzazione?

Si

> Tipo quello che si fa tra scale diverse di una CTR?

Credo di si, tranne per il problema che ho scritto sopra.

> Se sì, un metodo che a suo
> tempo usai per il progetto della CTR della Regione Abruzzo consisteva nel
> creare un buffer sufficiente a fare intersecare tra loro i poligoni,
> dissolvere e poi applicare di nuovo un buffer con la stessa distanza in
> negativo.
> In quel caso la distanza del buffer era calcolato su delle euristiche in
> base al livello di generalizzazione che volevo ottenere e alle distanze
> minime tra i poligoni.

Ci provo.
Comunque alla fine mi serve un algoritmo di clusterizzazione di nearest neighbor

--
--
Le informazioni contenute nella presente comunicazione sono di natura 
privata e come tali sono da considerarsi riservate ed indirizzate 
esclusivamente ai destinatari indicati e per le finalità strettamente 
legate al relativo contenuto. Se avete ricevuto questo messaggio per 
errore, vi preghiamo di eliminarlo e di inviare una comunicazione 
all’indirizzo e-mail del mittente.

--
The information transmitted is
intended only for the person or entity to which it is addressed and may
contain confidential and/or privileged material. If you received this in
error, please contact the sender and delete the material.
_______________________________________________
[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.
796 iscritti al 28/12/2017