[Gfoss] come unire poligoni vicini?

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.

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)
-

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;

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.

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 <napo@fbk.eu> 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.
_______________________________________________
Gfoss@lists.gfoss.it
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

2018-04-08 15:56 GMT+02:00 G. Allegri <giohappy@gmail.com>:

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.