Mysql
 sql >> Database >  >> RDS >> Mysql

Memorizzazione dei valori Lat Lng in MySQL utilizzando il tipo di punto spaziale

Penso che dovresti sempre usare l'astrazione di livello più alto facilmente disponibile. Se i tuoi dati sono geospaziali, usa gli oggetti geospaziali.

Ma fa attenzione. Mysql è il peggior database geospaziale che ci sia. Va bene per i punti, ma tutte le sue funzioni del poligono sono completamente interrotte:cambiano il poligono nel suo rettangolo di delimitazione e quindi rispondono a questo.

L'esempio peggiore che mi ha colpito è che se hai un poligono che rappresenta il Giappone e chiedi quali posti ci sono in Giappone, Vladivostok entra nella lista!

Oracle e PostGIS non hanno questo problema. Mi aspetto che MSSQL non lo faccia e qualsiasi database Java che utilizzi JTS poiché il suo motore non lo fa. Bene geospaziale. MySQL geospaziale errato.

Basta leggere qui Come usi le query spaziali MySQL per trovare tutti i record nel raggio X? che è stato risolto in 5.6.1.

Evviva!