Jak zamienić sqlite lat / lon kolumny na geometrię przestrzenną?

15

Mam bazę danych sqlite z tabelą, która ma kolumnę dla długości geograficznej i jedną dla szerokości geograficznej. Czy istnieje sposób na uczynienie tej bazy danych „przestrzenną”?

Johnnes
źródło

Odpowiedzi:

17

Proces instalacji i przestrzennego włączania bazy danych sqlite opisałem tutaj: Szybki start SpatiaLite . Zasadniczo musisz pobrać plik init_spatialite-2.3.sql i uruchomić go na db.

Następnie możesz utworzyć geometrie punktów za pomocą tej funkcji:

MakePoint( x Double precision , y Double precision , [ , SRID Integer] ) : Geometry
podmrok
źródło
dzięki, że działało to dobrze w połączeniu z sugestiami Gene'a.
johannes
8

najpierw musisz włączyć spatialite w swojej bazie danych sqlite

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

lub

SELECT load_extension(libspatialite.so,dll ou dylib)

`

Następnie musisz zainicjować bazę danych za pomocą init_spatialite-2.3.sql

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

źródło
2
Należy zauważyć, że krok init_spatialite-2.3.sql nie ma zastosowania dla spatialite 3.0 lub nowszego.
BradHards,