Bagaimana mengubah kolom sqlite lat / lon menjadi geometri spasial?

15

Saya memiliki database sqlite dengan tabel yang memiliki kolom untuk bujur dan satu untuk lintang. Apakah ada cara untuk membuat basis data ini 'spasial'?

johannes
sumber

Jawaban:

17

Saya telah menggambarkan proses menginstal dan secara spasial mengaktifkan sqlite db di sini: Mulai Cepat SpatiaLite . Pada dasarnya, Anda perlu mendapatkan init_spatialite-2.3.sql dan menjalankannya di db Anda.

Anda kemudian dapat membuat geometri titik menggunakan fungsi ini:

MakePoint( x Double precision , y Double precision , [ , SRID Integer] ) : Geometry
underdark
sumber
terima kasih, itu bekerja dengan baik dalam kombinasi dengan saran Gene.
johannes
8

pertama, Anda perlu mengaktifkan spatialite di database sqlite Anda

sqlite> .load 'libspatialite.so,dll or dylib'   

atau

SELECT load_extension(libspatialite.so,dll ou dylib)

`

Setelah itu Anda perlu menginisialisasi database Anda dengan init_spatialite-2.3.sql

sqlite> .read '~/init_spatialite-2.3.sql'

sumber
2
Perhatikan bahwa langkah init_spatialite-2.3.sql tidak berlaku untuk spatialite 3.0 atau yang lebih baru.
BradHards