Criando um banco de dados espacial com PostgreSQL + PostGIS
O Postgis é um excelente módulo espacial para o PostgreSQL. Serve tanto a aplicativos para publicação web, como o Mapserver, quanto para uso em intranets, com Grass, QGis etc.
Parte 4: Análise espacial
Um dos objetivos mais requisitados quando se deseja fazer um Banco de Dados Espacial é a possibilidade de realizar análises espaciais. O que é isso? Vou dar apenas uma leve introdução ao assunto, já que isso é algo complexo e que é tema de toda a área do Geoprocessamento.
A análise espacial, nesse caso específico, está ligada à possibilidade de fazer pesquisas ligadas à uma análise vetorial. Isto é: é possível determinar as intersecções entre elementos espaciais de camadas diferentes, criar buffers (áreas) a partir de pontos e uma série de outras funcionalidades.
Por exemplo: gostaria de localizar todas as farmácias contidas no bairro da Bela Vista. A resposta não será nem a totalidade da camada "farmácias" e nem a camada "Bairro da Bela Vista", mas o cruzamento entre elas. Ou então, a partir de um ponto, descobrir quais são as farmácias num raio de 500m. E assim por diante!
Há uma infinidade de funções desse tipo, e para elas existe a biblioteca GEOS, compatível com o Open Gis Consortiun - OGC.
Você pode pegar diretamente na página ou, no Debian/Ubuntu:
# apt-get install libgeos libgeos-dev
Instalo também a libgeos-dev pois vamos compilar o posgtis com acesso às funcionalidades da GEOS. Desta forma, é necessária a biblioteca de desenvolvimento - além dos binários. Quem quiser compilar na mão, sem problemas também!
Deixo aqui uma pequena lista de funções disponíveis no PostGis usando essa biblioteca, só pra dar água na boca:
A análise espacial, nesse caso específico, está ligada à possibilidade de fazer pesquisas ligadas à uma análise vetorial. Isto é: é possível determinar as intersecções entre elementos espaciais de camadas diferentes, criar buffers (áreas) a partir de pontos e uma série de outras funcionalidades.
Por exemplo: gostaria de localizar todas as farmácias contidas no bairro da Bela Vista. A resposta não será nem a totalidade da camada "farmácias" e nem a camada "Bairro da Bela Vista", mas o cruzamento entre elas. Ou então, a partir de um ponto, descobrir quais são as farmácias num raio de 500m. E assim por diante!
Há uma infinidade de funções desse tipo, e para elas existe a biblioteca GEOS, compatível com o Open Gis Consortiun - OGC.
Você pode pegar diretamente na página ou, no Debian/Ubuntu:
# apt-get install libgeos libgeos-dev
Instalo também a libgeos-dev pois vamos compilar o posgtis com acesso às funcionalidades da GEOS. Desta forma, é necessária a biblioteca de desenvolvimento - além dos binários. Quem quiser compilar na mão, sem problemas também!
Deixo aqui uma pequena lista de funções disponíveis no PostGis usando essa biblioteca, só pra dar água na boca:
- Crosses
- Touches
- Overlaps
- Relate
- Boundary
- Buffer
Gostei do seu artigo. Tenho trabalhado ultimamente com Mapserver, Postgis e PHP e embora isso não seja novidade pra mim agora tenho certeza que irá beneficiar muita gente. Quem dera que eu tivesse lido isso há alguns meses atrás.
Parabéns.