Search

+
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:

[sourcecode language=”html”] 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 [/sourcecode] Vamos destacar inicialmente o significado do trecho abaixo. [sourcecode language=”html”] 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" [/sourcecode] Para compreender melhor o significado do trecho mostrado acima, vamos “quebrá-lo”: [sourcecode language=”html”] 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. [/sourcecode]

Vamos destacar inicialmente o significado do trecho abaixo.

[sourcecode language=”html”] 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>[/sourcecode]
Para compreender melhor o significado do trecho mostrado acima, vamos “quebrá-lo”:
[sourcecode language=”html”] 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>[/sourcecode]
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.

]]>

Posted in: MapServer, Portal ClickGeo, PostGIS, PostgreSQL, Tutoriais, Webmapping

Comments (4 Responses )

  1. Luciano - 23/06/2012 - 11:11 am #

    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.

    • Anderson Medeiros - 23/06/2012 - 1:16 pm #

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

  2. fabio - 27/07/2012 - 6:27 pm #

    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

    • Anderson Medeiros - 27/07/2012 - 10:47 pm #

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

Deixe uma resposta