[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