This post was updated on .
Salve a tutti,
sto studiando spatialite su "Spatialite cookbook" e arrivato alla ricetta #10 mi sono reso conto che alcune funzionalità sono incompatibili con la versione più recente di Spatialite che sto usando... Ho frugato un po' in rete ed ho trovato un pdf (libspatialite v.2.4.0-RC5b Experimental Spatial Index UPDATE) che mi ha permesso di andare avanti sino ad ora. Attualmente sono arrivato alla ricetta #15 ma mi sono bloccato perchè non riesco a capire il modo per far funzionare la seguente query: SELECT pp1.name AS "PopulatedPlace #1", GeodesicLength( MakeLine(pp1.geometry, pp2.geometry)) AS "Distance (meters)", pp2.name AS "PopulatedPlace #2" FROM populated_places AS pp1, populated_places AS pp2 WHERE GeodesicLength( MakeLine(pp1.geometry, pp2.geometry)) < 1000.0 AND pp1.id <> pp2.id AND pp2.ROWID IN ( SELECT pkid FROM idx_populated_places_geometry WHERE pkid MATCH RTreeDistWithin( ST_X(pp1.geometry), ST_Y(pp1.geometry), 0.02)) ORDER BY 2 Qualcuno potrebbe aiutarmi? Grazie in anticipo, Beppe |
On Wed, 12 Feb 2014 13:10:11 -0800 (PST), Beppe wrote:
> Salve a tutti, > sto studiando spatialite su "Spatialite cookbook" e arrivato alla > ricetta > #10 mi sono reso conto che alcune funzionalità sono incompatibili con > la > versione più recente di Spatialite che sto usando... > Attualmente sono arrivato alla ricetta #15 e non riesco a capire il > modo per > far funzionare la seguente query: > > SELECT pp1.name AS "PopulatedPlace #1", > GeodesicLength( > MakeLine(pp1.geometry, pp2.geometry)) > AS "Distance (meters)", > pp2.name AS "PopulatedPlace #2" > FROM populated_places AS pp1, > populated_places AS pp2 > WHERE GeodesicLength( > MakeLine(pp1.geometry, pp2.geometry)) < 1000.0 > AND pp1.id <> pp2.id > AND pp2.ROWID IN ( > SELECT pkid > FROM idx_populated_places_geometry > WHERE pkid MATCH RTreeDistWithin( > ST_X(pp1.geometry), > ST_Y(pp1.geometry), 0.02)) > ORDER BY 2 > > Qualcuno potrebbe aiutarmi? > ciao Beppe, effettivamente il cookbook inizia ad invecchiare qua e la, specie dove c'e' in ballo uno Spatial Index. le subqueries basate sul meccanismo "WHERE ... MATCH ..." erano quanto di meglio avevamo a disposizione qualche anno fa. nel frattempo sono state deprecate (e definitivamente rimosse dal codice) perche' alla prova dei fatti creavano un sacco di problemi. attualmente si usa la nuova interfaccia SpatialIndex, che trovi descritta in dettaglio in questo documento: https://www.gaia-gis.it/fossil/libspatialite/wiki?name=SpatialIndex quindi seguendo le ultime evoluzioni ora quella query diventa: SELECT pp1.name AS "PopulatedPlace #1", GeodesicLength( MakeLine(pp1.geometry, pp2.geometry)) AS "Distance (meters)", pp2.name AS "PopulatedPlace #2" FROM populated_places AS pp1, populated_places AS pp2 WHERE GeodesicLength( MakeLine(pp1.geometry, pp2.geometry)) < 1000.0 AND pp1.id <> pp2.id AND pp2.ROWID IN ( SELECT rowid FROM SpatialIndex WHERE f_table_name = 'populated_places' AND search_frame = ST_Buffer(pp1.geometry, 0.02)) ORDER BY 2 ciao Sandro _______________________________________________ [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. 666 iscritti al 22.7.2013 |
Ciao Sandro,
ti ringrazio per l'aiuto. Se ci fosse la possibilità sarebbe interessante preparare un aggiornamento del cookbook, considerato il suo valore didattico; un suo update mi è sembra di capire, ora come ora interesserebbe solo 1 capitolo per intero ed alcune query... Io purtroppo sono entrato da poco nel mondo degli spatial DB, altrimenti avrei collaborato molto volentieri ad un eventuale progetto in tal senso! Volevo inolte sapere, visto che i files necessari alla ricetta #19, ovvero i dati Istat 2010 non sono più disponibili neanche dietro richiesta diretta all'Istat, c'è qualche modo per ottenerli? Di nuovo grazie, Beppe |
On Thu, 13 Feb 2014 09:33:08 -0800 (PST), Beppe wrote:
> Volevo inolte sapere, visto che i files necessari alla ricetta #19, > ovvero i > dati Istat 2010 non sono più disponibili neanche dietro richiesta > diretta > all'Istat, c'è qualche modo per ottenerli? > certo che si; ISTAT nel frattempo ha rivoluzionato tutta la propria infrastruttura WEB quando ha deciso di rilasciare questi datasets come Open Data sotto licenza CC-BY ora tutti gli SHP con i confini comunali/provinciali/regionali (2001, 2008, 2010 e 2011) li trovi qua: http://www.istat.it/it/archivio/24613 ciao Sandro _______________________________________________ [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. 666 iscritti al 22.7.2013 |
Free forum by Nabble | Edit this page |