[Gfoss] Intersezione Spaziale MOLTO Pesante

Alessandro Gentili alessandrogentili_7 a hotmail.com
Mer 16 Nov 2011 16:08:37 CET


Rieccomi qui..
Dopo mezza giornata di "spippolamento", ricerche su internet e altri consigli sono arrivato a creare la tabella che volevo nella bellezza di pocomeno di un minuto!!
Intanto vi ringrazio a tutti per il supporto e i consigli e poi vi chiederei un'ulteriore indizio.

Per la cronaca l'intersect l'ho fatto su Postgis con ottimi risultati testati
La nuova tabella è composta da due colonne di valori numerici che vanno sommati o sottratti tra di loro a seconda dei casi.
Operazione che son sicuro si può fare tramite postgis ma che purtroppo non riesco a trovare l'operatore adatto.

Qualche indizio? :)

> Date: Tue, 15 Nov 2011 19:25:50 +0100
> From: aperi2007 a gmail.com
> To: gfoss a lists.gfoss.it
> Subject: Re: [Gfoss] Intersezione Spaziale MOLTO Pesante
> 
>  >Vorrei sapere se c'è qualche guida/sito su internet in grado di 
>  >aiutarmi a migliorare
>  >Qualche consiglio?
> 
> La migliore guida che io conosco è il libro
> "postgis_in_action"
> 
> Purtroppo non e' disponibile open su internet.
> 
>  >Ho provato a scrivere questa queri in Postgis ma mi restituisce un 
>  >errore (vado a memoria su quanto ho scritto)
>  >
>  >SELECT *
>  >FROM vector1
>  >WHERE ST_Intersections('vector1.the_geom','vector2.the_geom')
> 
> 
> Va un po' risistemata,
> cosi' non va bene,
> 
> La condizione va dichiarata con
> ST_Intersects(vector1.geom,vector2.geom)=true
> 
> ricordati di dichiarare degli indici spaziali sulle tabelle vector1 e 
> vector2 cosi e' piu' veloce.
> 
> Poi per estrarre il taglio sulle singole celle,
> io userei qualcosa tipo questa:
> 
> ST_Multi(ST_CollectionExtract(ST_Force_Collection(ST_Intersection(a.geom,b.geom)),2)) 
> 
> 
> La ST_Intersection(), in punti sfortunati puo' generare una collection. 
> Non sempre succede, ma a volte si' e questo genera delle eccezioni che 
> "complicano" la vita.
> Non e' un errore, ma una "magia nera" insita nella matematica "finita" 
> dei computers.
> Fatto sta' che per compensarlo senza farsi troppi patemi una strada 
> comoda e' quella sopra indicata.
> 
> Lo forzi a generare sempre una collection, poi estrai la componente 
> lineare della collection e la forzi a essere Multi.
> Questo ultimo è essenziale perche' a volte viene multi a volte no, e te 
> devi sempre avere il medesimo tipo (multi appunto).
> 
> Alla fine di quella strana formula avrai buttato via tutti i valori 
> spuri generati dalla aritmetica finita e rimarra solo in cuore della 
> geometria. Quello buono.
> 
> Caso mai se hai tempo, prova a farlo anche sul tuo software commerciale
> e confronta i risultati, il confronto potrebbe fornire
> spunti interessanti :)
> 
> 
> Saluti,
> 
> Andrea.
> _______________________________________________
> Iscriviti all'associazione GFOSS.it: http://www.gfoss.it/drupal/iscrizione
> Gfoss a lists.gfoss.it
> http://lists.gfoss.it/cgi-bin/mailman/listinfo/gfoss
> Questa e' una lista di discussione pubblica aperta a tutti.
> Non inviate messaggi commerciali.
> I messaggi di questa lista non rispecchiano necessariamente
> le posizioni dell'Associazione GFOSS.it.
> 540 iscritti al 4.11.2011
 		 	   		  
-------------- parte successiva --------------
Un allegato HTML ? stato rimosso...
URL: <http://lists.gfoss.it/pipermail/gfoss/attachments/20111116/b4c70159/attachment.html>


Maggiori informazioni sulla lista Gfoss