Como Mapserver funciona

A última vez que falamos sobre porque alguns critérios MapServer e os fundamentos da instalação. Agora vamos ver parte de sua operação em um exercício com os mapas dos chiapanecans.

geoserver mapserver Onde ele monta

Uma vez instalado o Apache, o diretório de publicação MapServer padrão é a pasta OSGeo4W diretamente sobre C: /

Dentro, existem pastas diferentes com aplicativos, dependendo do que está instalado, mas a pasta para publicação deve estar dentro do apache. Neste caso, a pasta chamada gis.

  • Em seguida, no interior da pasta contém camadas de dados, orthophoto, etc.
  • Na pasta etc, as fontes true type usadas para os rótulos, com a extensão .ttf. Também aqui está um arquivo txt que os levanta e outro que define símbolos.
  • E, finalmente, nos httdocs pasta subir páginas da web que serviço.
  • geoserver mapserver

O website

No exemplo, vou usar o caso mostrado na hora anterior. Ele basicamente contém um arquivo de índice que redireciona para uma extensão phtml, e isso, por sua vez, aumenta as funções criadas em um php e mapas. Uma pasta contém as imagens vinculadas da página.

geoserver mapserver

Se olharmos, o phtml é apenas o shell construído a partir de tabelas e chamado para as funções do mapscript / php. Você deve se levantar usando:

http://localhost/gis/gispalenque.phtml

Correndo pelo resultado mostrado:

  • centro de função GMapDrawMap (),
  • direito a chamada para mapa de teclas GMapDrawKeyMap (),
  • barra de escala em baixo GMapDrawScaleBar (),
  • e se funções de implantação, uma condição em relação à caixa de listagem if (! IsHtmlMode ()) echo "<! -" com decisões: ZOOM_IN, ZOOM_OUT, RECENTER, QUERY_POINT.

Já em execução, a tela se parece com isso:

geoserver mapserver

Os arquivos .map

A combinação da publicação do Mapserver é o que o Apache lança, o que envia o php através MapScript e depois passa por essa casca. Mas a maior parte da ciência está nos arquivos .map, que não devem ser confundidos com aqueles gerados pelo Mapinfo, Manifold ou Mobile Mapper Office com a mesma extensão.

Esses .map são arquivos de texto, que contêm o mapa na forma de um script. Estes podem ser criados com programas de desktop como o Quantum GIS, se eles estiverem definidos, há um para o mapa principal, um para o Keymap e dois para os serviços OGC wms e wfs. Vamos ver como o workscript funciona:

MAP

NOME PALENQUE_DEMO
STATUS ON
TAMANHO 600 450
symbolset ../etc/symbols.txt
604299 1933386 610503 1939300 extensão de todas mapa #VISTA de Palenque
#EXTENT 605786 1935102 608000 1938800 01 #SOLO DO SETOR
METROS UNIDADES
SHAPEPATH "../data"
ON TRANSPARENTE
IMAGECOLOR 255 255 255
fontset ../etc/fonts.txt

  • MAP indica que inicia o script
  • STATUS indica se o mapa por padrão está ligado ou não
  • TAMANHO é o tamanho de implantação
  • SYMBOLSET mostra o caminho dos símbolos
  • EXTENT são as coordenadas da exibição. O símbolo # é usado para fazer anotações
  • UNIDADES para unidades
  • SHAPEPATH, o caminho onde as camadas são
  • Tudo no final terminará com o comando END

No interior, o código começa com uma linha de comando e termina com END, por exemplo, para escala mínima e máxima; Diretório de imagens temporárias:

WEB
MINSCALE 2000000
MAXSCALE 50000000

IMAGEPATH "C: \ OSGeo4W / tmp / ms_tmp /"
IMAGEURL "/ ms_tmp /"
END

geoserver mapserverA barra de escala:

SCALEBAR
IMAGECOLOR 255 255 255
LABEL
COR 0 0 0
TAMANHO PEQUENO
END
TAMANHO 300 5
COR 255 255 255
BACKGROUNDCOLOR 0 0 0
OUTLINECOLOR 0 0 0
UNITS quilômetros
INTERVALOS 3
STATUS ON
END

geoserver mapserverUma camada de raster: que vai de fundo, com descrição na listagem como "Ortofoto", a partir de um tiff localizado na pasta de dados:

CAMADA
NOMBRE ortofoto
METADATA
"DESCRIÇÃO" "OrtoFoto"
END
TYPE RASTER
ESTADO DESLIGADO
DADOS "C: \ OSGeo4W / apps / gis / data / ortofotoGral.tif"
#OFFSITE 0 0 0
END

Uma camada shp de polígonos, temáticos com base em critérios, levantando alguns dados em um modelo html, com uma etiqueta sans font, tamanho 6, cor preta e bordas brancas do buffer 5 ...

geoserver mapserver

CAMADA
NOME setor02Zone
TYPE POLYGON
ESTADO DESLIGADO
TRANSPARÊNCIA 50
EXTENT. 607852 1935706 610804 1938807 METADATA
"DESCRIÇÃO" "Temática por setor de valor 02"
"RESULT_FIELDS" "MsLink Cve_Mz Cve_Pred prop Área Perímetro VALUE"
END
DADOS PALENQUE_SECTOR01
MOLDE "ttt_query.html"
TOLERÂNCIA 5
#TOLERANCEUNITS PIXELS
LABELITEM "VALOR"
CLASSITEM "VALOR"
LABELCACHE ON
CLASSE
SYMBOL 1
COR 128 128 128
OUTLINECOLOR 0 0 0
NOME "ZonaNULL"
EXPRESSÃO ([VALOR] = 0)
LABEL
ANGLE AUTO
COR 0 0 0
FONT sans
TYPE TRUETYPE
POSIÇÃO cc

PARCIALMENTE FALSO
BUFFER 5
6 TAMANHO
OUTLINECOLOR 200 200 200
END
END #class 0 value
CLASSE
SYMBOL 3
COR 255 128 128
#COLOR -1 -1 -1 #SIN ENCHIMENTO

.... e tão perto

END
END #Class Value
END # Camada

Em conclusão

A partir daqui, trabalhar com o mapserver, embora seja bastante simples, torna-se complexo médio e muito limitado para trabalhos grandes, porque tudo está no .map. A maior desvantagem é que tudo é feito a pé, como definir cada cor em um tema, e é por isso que ferramentas como o CartoWeb, que funciona no Mapserver, mas vêm com plugins embutidos e exemplos com recursos que fazem essa versão primitiva permanecer como o readme primeiro:

  • quadros separados para trabalhar com AJAX, a fim de atualizá-los separadamente
  • Analisando o código, de modo que um script reescrever o .map com base em critérios configuráveis
  • deslocamento para trás dinâmico sem a necessidade de actualização, como se fosse uma camada de flash
  • vector edição on-line, escrever-on de cache
  • camada de descarga em forma de vector
  • Exportar para o Google Earth
  • Implantação Gerar PDF

Em seguida, vamos dar uma olhada CartoWeb, aqui deixo o link para os principais exemplos.

3 responde a "como funciona o Mapserver"

  1. Olá,

    Eu estou tentando chamar uma camada do .map da seguinte forma:

    CAMADA
    casas_prueba NOME
    PONTO DE TIPO
    ConnectionType OGR
    CONEXÃO # »virtual.ovf»
    »

    xxxxx
    EXEC .......
    Eess_id
    WkbPoint
    WGS84

    »

    Meu problema é que o serviço DSN está causando problemas: ao solicitar um GetCapabilities, estou retornando a senha do banco de dados ... posso ligar para um arquivo para evitar "revelar" a senha ou é um erro de notificação de status de entrega ???? Obrigado!

  2. O MapServer é um popular projeto Open Source cujo objetivo é exibir mapas espaciais dinâmicos pela Internet. Uma unidade montada é uma unidade que é mapeada para uma pasta vazia em um volume que usa o sistema de arquivos NTFS. As unidades montadas funcionam como qualquer outra unidade, mas são atribuídos caminhos de unidade em vez de letras de unidade.

Deixar uma resposta

Seu endereço de email não será publicado.

Este site usa o Akismet para reduzir o spam. Saiba como seus dados de comentário são processados.