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ą”?

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

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'

2
Należy zauważyć, że krok init_spatialite-2.3.sql nie ma zastosowania dla spatialite 3.0 lub nowszego.
BradHards,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.