Questo sito usa dei cookie (per informazioni sulla gestione dei cookies fai click qui)tecnici per poter funzionare, non vengono usati cookie di terze parti ne tantomeno vengono creati profili.
Il problema è legato ai calcoli di distanza sul geoide. O si fanno approssimati (geometry, si mettono con un trigger non è un problema) EXPLAIN ANALYZE SELECT count(*) from cartellino, confini WHERE confini.regione='UMBRIA' AND ST_Intersects(cartellino.the_geom,confini.the_geom_bis); Total runtime: 60.483 ms oppure si fanno per bene (con tempi inaccettabili) EXPLAIN ANALYZE SELECT count(*) from cartellino, confini WHERE confini.regione='UMBRIA' AND ST_Intersects(cartellino.punto,confini.margine); Total runtime: 10015.976 ms Si può provare a ragionare sui bounding box: EXPLAIN ANALYZE SELECT count(*) from cartellino, confini WHERE confini.regione='UMBRIA' anArchive5-> AND cartellino.punto && confini.margine; Total runtime: 0.611 ms Ovviamente l'ultima da troppi risultati, bisogna provare con dei margini semplificati ma non tanto quanto i boundingbox.
Immagino che gli spatial index siano già attivi. Altrimenti dovrebbe essere qualcosa del genere... ALTER TABLE tabella ALTER COLUMN geom SET NOT NULL create index nomeindice on tabella using gist(geom);
purtroppo c'erano. Credo in pate dipenda anche dall'elevato numero di punti del poligono regione.
Se vuoi posso provare a semplificare il numero dei vertici del poligono regione. Ho visto che in totale ci sono 460087 vertici. Posso provare a ridurre il numero di vertici di circa la metà e rimandartelo. Che ne dici?
Adesso c'è un campo calcolato sia nei cartellini che nei rilievi che permette di fare conti di tipo geometrico, così i dati sono salvati nel tipo corretto (geogr) e poi le ricerche vengono fatte in maniera veloce (supponendo che l'errore introdotto da geometr sia accettabile)
consideriamo ammissibile la cosa così come è?
Per me è ok.