Como transformar colunas sqlite lat / lon em geometria espacial?

15

Eu tenho um banco de dados sqlite com uma tabela que tem uma coluna para longitude e outra para latitude. Existe uma maneira de tornar esse banco de dados 'espacial'?

johannes
fonte

Respostas:

17

Descrevi o processo de instalação e ativação espacial de um banco de dados sqlite aqui: SpatiaLite Quick Start . Basicamente, você precisa obter o init_spatialite-2.3.sql e executá-lo no seu banco de dados.

Você pode criar geometrias de pontos usando esta função:

MakePoint( x Double precision , y Double precision , [ , SRID Integer] ) : Geometry
underdark
fonte
obrigado, que funcionou bem em combinação com as sugestões de Gene.
Johannes
8

primeiro, você precisa ativar o espacial no seu banco de dados sqlite

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

ou

SELECT load_extension(libspatialite.so,dll ou dylib)

`

Depois disso, você precisa inicializar seu banco de dados com init_spatialite-2.3.sql

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

fonte
2
Observe que a etapa init_spatialite-2.3.sql não é aplicável ao spatialite 3.0 ou posterior.
BradHards