Anda dapat menggunakan ekstensi spasial MySQL dengan GIS.
Dalam contoh kode dari Google yang menampilkan titik pada peta, mereka menyatakan:
Saat Anda membuat tabel MySQL, Anda ingin memberi perhatian khusus pada atribut lat dan lng. Dengan kemampuan zoom Google Maps saat ini, Anda seharusnya hanya membutuhkan 6 digit presisi setelah desimal.
Untuk menjaga ruang penyimpanan yang diperlukan untuk tabel kami minimal, Anda dapat menentukan bahwa atribut lat dan lng adalah ukuran float (10,6). Itu akan membiarkan bidang menyimpan 6 digit setelah desimal, ditambah hingga 4 digit sebelum desimal, misalnya -123,456789 derajat saya tidak akan khawatir tentang perbedaan kinerja antara tipe numerik. Indeks yang layak akan memiliki efek yang jauh lebih besar.
Anda juga dapat mencoba DECIMAL
sesuai saran @ gandaliter .
DECIMAL
adalah tipe data MySQL untuk aritmatika yang tepat. Berbeda FLOAT
dengan itu, ketepatannya diperbaiki untuk ukuran angka berapa pun, jadi dengan menggunakannya, FLOAT
Anda mungkin menghindari kesalahan presisi saat melakukan beberapa perhitungan. Jika Anda hanya menyimpan dan mengambil nomor tanpa perhitungan maka dalam praktiknya FLOAT
akan aman, meskipun tidak ada salahnya digunakan DECIMAL
. Dengan perhitungan FLOAT
sebagian besar masih ok, tetapi untuk benar-benar yakin 8d.p. presisi yang harus Anda gunakan DECIMAL
.
Garis lintang berkisar dari -90 hingga +90 (derajat), jadi DECIMAL(10,8)
ok untuk itu, tetapi garis bujur berkisar dari -180 hingga +180 (derajat) sehingga Anda perlu
DECIMAL(11,8)
. Angka pertama adalah jumlah total digit yang disimpan, dan yang kedua adalah angka setelah titik desimal. Singkatnya: lat DECIMAL(10,8) NOT NULL, lng DECIMAL(11,8) NOT NULL
Ini menjelaskan bagaimana MySQL bekerja dengan tipe data floating-point.
Informasi terkait: