Usando PostGis

O PostgreSQL deve estar instalado, e para que a função do PostGIS funcione, é necessário, primeiramente, fazer sua devida instalação. Lembre-se que a versão deve ser a mesma do PostgreSQL.

1 – Instalação do postgis


sudo apt-get install postgresql-9.x-postgis-2.1


2 – Acesse seu cluster e crie um database


    $ sudo su

    # su postgres

    $ psql 

    postgres=# CREATE DATABASE teste;

    A extensão PostGIS deve ser criada para cada banco de dados que a use. A criação das extensôes deve ser feita por um superusuário ou o usuário dono da base.

3 – Depois de criado o database, conecte-se a ele


postgres=# \c teste

    teste=# CREATE EXTENSION postgis;

    teste=# CREATE EXTENSION postgis_topology;

    teste=# CREATE EXTENSION fuzzystrmatch;

    teste=# CREATE EXTENSION postgis_tiger_geocoder;


Com as extensões criadas, observa-se que objetos foram criados dentro do nosso database, esses objetos não podem ser alterados, ou removidos, pois são vitais para a manipulação necessária. Ao instalar a extensão postgis_tiger_geocoder se lembre de deixa-lá por último, pois depende das outas.
    
4 – Achando a distância entre dois objetos através de GeoHash.


SELECT ST_Distance_Sphere(ST_PointFromGeoHash('6gycff4v769m'), ST_PointFromGeoHash('6gycff43rf3h'));

st_distance_sphere 
--------------------
91.586143685 ( Aprovimadamente 91 metros de distância)


 A função ST_Distance_Sphere(pos1, pos2), trás a distância entre dois pontos, os valores enviados são valores que definem a posição de latitude e longitude, neste caso, eu ainda defini a função ST_PointFromGeoHash(string) está função recebe um valor string no formato geohash – gera um valor alfanúmerico da posição, e converte em latitude e longitude.

O PostGis é muito mais do que o mostrado aqui, ele vai muito além de simples funções. Com ele é até possível mapear constelações e estrelas do nosso universo, calculando suas posições através dele, a funções podem ser usadas juntamente com valores definidos em tabelas do nosso dabase.

Suporte e Consultoria-PostgreSQL Cursos Contato