Quali sono i vantaggi dell'utilizzo dei tipi di dati geospaziali?

0

Attualmente memorizziamo punti come tre float (lat, lon, alt) e supportiamo solo un tipo di query (punti all'interno di un dato raggio) ma non vediamo l'ora di supportare più query. Stiamo usando PHP e MySQL.

Quali sono i vantaggi dell'utilizzo di tipi geospaziali?

    
posta nischayn22 20.06.2012 - 16:32
fonte

2 risposte

5

I tipi di dati spaziali sono in cambio solo per supportare un tipo di query, molto più veloce a quel tipo di query. Prendi in considerazione l'importazione di qualcosa come il database di MaxMind Cities e la ricerca della città più vicina a te. Con i tipi di dati float regolari, quella query dovrebbe controllare tutti i 2,7 milioni di record l'uno contro l'altro per trovare quello più vicino (calcolare la distanza haversine di ogni punto in ogni altro punto). I tipi Geospatial d'altra parte possono essere interrogati per il punto più vicino e saranno più veloci in ordine di grandezza usando qualcosa come quad-tree per la rappresentazione interna dell'indice.

Puoi fare qualche logica per rendere più veloce l'interrogazione con le normali chiavi, descritta in questa presentazione tra gli altri. Ma questo non è più necessario poiché gli indici geospaziali sono molto meglio in questo compito.

    
risposta data 20.06.2012 - 17:58
fonte
-1

Dai un'occhiata a questo articolo di wikipedia sui database spaziali

link

Specialmente nella sezione "Funzionalità dei database spaziali"

I tipi di query presentati sono ciò che puoi fare con i dati abilitati allo spazio. I dati attivati spazialmente hanno "dimensioni" extra con cui possono essere interrogati su quei dati regolari non possono.

    
risposta data 20.06.2012 - 16:57
fonte

Leggi altre domande sui tag