Estabelecer Conexão entre MapServer e PostGIS

Tenho recebido muitos e-mails de usuários do Portal ClickGeo questionando sobre como criar uma conexão do MapServer com o PostGIS, ou seja, visualizar uma tabela espacial no MapServer. Neste tutorial vou mostrar um exemplo de código representando o arquivo mapfile, (*.map) utilizado para definição de alguns parâmetros do que será visualizado no MapServer.

INTEGRAR MAPSERVER COM BASE DE DADOS POSTGIS

Os textos mostrados após o sinal # indicam que estes são apenas comentários e, portanto, não fazem parte do código.

Vamos ao código:

MAP # Inicio do Mapfile
NAME 'Municipios'
SIZE 600 400
EXTENT -38.77 -8.3 -34.79 -6.03
UNITS DD
IMAGECOLOR 200 254 199

LAYER # Início do Layer
NAME 'Municipios'
STATUS Default
TYPE POLYGON
CONNECTIONTYPE postgis
CONNECTION "dbname=paraiba user=postgres host=localhost password=postgres"
DATA "the_geom FROM municipios USING UNIQUE gid USING SRID=4291"
CLASS # Início do parâmetro Class
NAME 'Municipios'
STYLE # Início do parâmetro Style
COLOR 200 254 199
OUTLINECOLOR 0 153 0
END # Fim do parâmetro Style
END # Fim do parâmetro Class
END # Fim do parâmetro Layer

END # Fim do Mapfile

Vamos destacar inicialmente o significado do trecho abaixo.

LAYER # Início do Layer
NAME 'Municipios' # Nome do Layer
STATUS Default # "Default" indica que o mapa será exibido.
TYPE POLYGON # Tipo de geometria contida na tabela espacial.
CONNECTIONTYPE postgis # Tipo da conexão.
CONNECTION "dbname=paraiba user=postgres host=localhost password=postgres"
DATA "the_geom FROM municipios USING UNIQUE gid USING SRID=4291"

Para compreender melhor o significado do trecho mostrado acima, vamos “quebrá-lo”:

CONNECTION # Parâmetro que define o início da conexão.
dbname=paraiba # Nome do banco de dados do PostGis.
user=postgres # Nome de Usuário.
host=localhost # Endereço da máquina onde está o banco.
password=postgres" # Senha de acesso ao banco.
DATA # Detalhes sobre o dado espacial.
"the_geom # Nome da coluna onde está armazenada a geometria.
municipios # Nome da tabela a ser visualizada.
SRID=4291" # Código de referência espacial para tabela.

Vamos destacar inicialmente o significado do trecho abaixo.

LAYER # Início do Layer
NAME 'municipios' # Nome do Layer
STATUS Default # "Default" indica que, por padrão, o mapa será exibido.
TYPE POLYGON # Tipo de geometria contida na tabela espacial.
CONNECTIONTYPE postgis # Tipo da conexão.
CONNECTION "dbname=paraiba user=postgres host=localhost password=postgres"
DATA "the_geom FROM vias USING UNIQUE gid USING SRID=29185"
<pre>
Para compreender melhor o significado do trecho mostrado acima, vamos “quebrá-lo”:
CONNECTION # Parâmetro que define o início da conexão.
dbname=paraiba # Nome do banco de dados do PostGIS.
user=postgres # Nome de Usuário.
host=localhost # Endereço da máquina onde está o banco.
password=postgres" # Senha de acesso ao banco.
DATA # Detalhes sobre o dado espacial.
"the_geom # Nome da coluna onde está armazenada a geometria.
municipios # Nome da tabela a ser visualizada.
SRID=4291" # Código de referência espacial para tabela.
<pre>
Se seguir este modelo sua conexão estará pronta! Alguma dúvida? Veja abaixo a visualização dos dados no MapServer:
Estabelecer Conexão entre MapServer e PostGIS

Você pode baixar um shapefile com a divisão municial do Estado da Paraíba, afim de exercitar o que foi mostrado no tutorial acima. Fique à vontade para enviar suas dúvidas.

Leitura complementar:

Assine nosso FeedAssine nosso Feed e receba nossas atualizações por e-mail. Curta nossa página no Facebook [PortalClickGeo] e siga nosso Twitter [@ClickGeo] para continuar atualizado sobre o Mundo das Geotecnologias.

Sobre Anderson Medeiros 979 Artigos
Em 2017 foi reconhecido como o Profissional do Ano no Brasil no setor de Geotecnologias. Graduado em Geoprocessamento, trabalha com Geotecnologias desde 2005. Já ministrou dezenas de cursos de Geoprocessamento com Softwares Livres em diversas cidades, além de outros treinamentos na modalidade EaD. Desde 2008 publica conteúdo sobre Geoinformação e suas tecnologias como QGIS, PostGIS, gvSIG, i3Geo, entre outras.

4 Comentário

  1. ola, muito bom o exemplo mais eu gostaria de saber se tem um jeito de acessar os dados das tabelas porque dessa maneira aqui apareceu apenas como imagem com os dados inacessiveis

    • Tem sim Fábio, pelo modo de Query. Isso é um tema que ensinarei no curso online de MapServer que vou ministrar em breve.
      []’

  2. Fala Anderson,

    …cara, show de bola essa dica.
    Tanto pelo cuidado em esclarecer a passar o macetes como pela generosidade de compartilhar esse conhecimento.

    Quando puder, me indique um curso voltado para essas ferramentas. Tenho procurado. Gostaria de desenvolver aplicações com mapas, banco de dados e java, e tenho ainda dúvidas em relação quais seriam as ferramentas adequadas.

    Abraço.

    • Olá Luciano, tudo bem?
      Em breve estarei ministrando um curso online de MapServer. Divulgarei detalhes aqui no blog. Um abraço!

Faça um comentário

Seu e-mail não será divulgado.


*