cartografía

Como funciona Mapserver

A hora anterior falabamos por algúns criterios MapServer e as bases da instalación. Agora imos ver parte do seu funcionamento nun exercicio cos mapas dos compañeiros de Chiapas.

 geoserver do servidor de mapas Onde está montado

Unha vez que Apache está instalado, o directorio de publicación predeterminado para MapServer é a carpeta OSGeo4W directamente sobre C: /

Dentro hai diferentes cartafoles con aplicacións dependendo do que estea instalado, pero o cartafol para a publicación debe ir dentro de apache. Neste caso o cartafol chamado gis.

  • Entón dentro, o cartafol de datos contén as capas, ortofotos, etc.
  • No cartafol etc, hai os tipos de letra de tipo verdadeiro empregados para as etiquetas, cunha extensión .ttf. Aquí tamén hai un ficheiro txt que os eleva e outro que define símbolos.
  • E finalmente no cartafol httdocs vai as páxinas web que aumentan o servizo.
  • geoserver do servidor de mapas

A páxina web

No exemplo, vou usar o caso mostrado a última vez. Basicamente contén un ficheiro de índice que redirixe a un cunha extensión phtml, e isto á súa vez aumenta as funcións construídas sobre un php e os mapas. Un cartafol contén as imaxes ligadas desde a páxina.

geoserver do servidor de mapas

Se o vemos, o phtml é só o shell construído a partir de táboas e chama ás funcións mapscript / php. Debería levantarse usando:

http://localhost/gis/gispalenque.phtml

Abaixo está o resultado:

  • ao centro a función GMapDrawMap (),
  • á dereita á chamada mapa de teclas GMapDrawKeyMap (),
  • a barra de escala de abaixo GMapDrawScaleBar (),
  • e no caso das funcións de implementación, unha condición respecto da lista if (! IsHtmlMode ()) eco "  con decisións: ZOOM_IN, ZOOM_OUT, RECENTER, QUERY_POINT.

Xa se está executando, a implementación é así:

geoserver do servidor de mapas

Os ficheiros .map

A combinación da publicación Mapserver é no que aumenta o Apache, que envía a través de php mapfre e que logo sae desa cuncha. Pero a maior parte da ciencia está en ficheiros .map, que non se debe confundir cos xerados por Mapinfo, Manifold ou Mobile Mapper Office coa mesma extensión.

Estes .map son ficheiros de texto que conteñen o mapa en forma de script. Estes pódense crear con programas de escritorio como Quantum GIS, se notas que hai un para o mapa principal, un para o Keymap e dous para os servizos wms e wfs de OGC. Vexamos como funciona mapscript:

MAP

NAME PALENQUE_DEMO
STATUS ON
TAMAÑO 600 450
SYMBOLSET ../etc/symbols.txt
EXTENTE 604299 1933386 610503 1939300 #LISTO DE TODO O MAPA DE PALENQUE
#EXTENT 605786 1935102 608000 1938800 #SOLO O 01 SECTOR
UNIDADES METROS
SHAPEPATH "../data"
TRANSPARENTE ENCENDIDO
IMAGECOLOR 255 255 255
FONTSET ../etc/fonts.txt

  • O MAP indica o guión de inicio
  • Estado, indica se o mapa predeterminado está activado ou non
  • SIZE é o tamaño da pantalla
  • SYMBOLSET mostra o camiño dos símbolos
  • EXTENT son as coordenadas de visualización. O símbolo # úsase para facer anotacións
  • UNIDADES para unidades
  • SHAPEPATH, o camiño onde están as capas
  • Todo ao final rematará co comando END

No interior, o código comeza cunha liña de comandos e remata con END, por exemplo, para a escala mínima e máxima; directorio de imaxes temporais:

WEB
  MINSCALE 2000000
  MAXSCALE 50000000

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

geoserver do servidor de mapasA barra de escala:

ESCALEBAR
  IMAGECOLOR 255 255 255
  LABEL
    COR 0 0 0
    tamaño pequeno
  FIN
  TAMAÑO 300 5
  COR 255 255 255
  BACKGROUNDCOLOR 0 0 0
  OUTLINECOLOR 0 0 0
  UNIDADES quilómetros
  INTERVALS 3
  STATUS ON
FIN

geoserver do servidor de mapasUnha capa ráster: que vai ao fondo, cunha descrición na lista como "Ortofoto", a partir dun tiff situado no cartafol de datos:

 

 

CAPA
  Ortofoto de NOME
  METADATA
    "DESCRICIÓN" "OrtoFoto"
  FIN
  TIPO RASTER
  STATUS OFF
  DATOS "C: \ OSGeo4W / apps / gis / data / orthophotoGral.tif"
  #OFFSITE 0 0 0
FIN

Unha capa shp de polígonos, temática baseada en criterios, levantando algúns datos nun modelo de html, cunha etiqueta sans fonte, tamaño 6, cor negra e bordos brancos do buffer 5 ...

geoserver do servidor de mapas

CAPA
  Sector NAME02Zone
  TIPO DE POLÍGONO
  STATUS OFF
  TRANSPARENCIA 50
  EXTENTO 607852 1935706 610804 1938807 METADATOS
    "DESCRICIÓN" "Tema por sector de valor 02"
    "RESULT_FIELDS" "MsLink Cve_Mz Cve_Pred Perimetro de área de VALUE"
  FIN
  DATOS PALENQUE_SECTOR01
  TEMPLATE "ttt_query.html"
  TOLERANCIA 5
  #TOLERANCEUNITS PIXELS
  "VALOR" LABELITEM
  "VALOR" CLASSITEM
  LABELCACHE ON
  CLASS
    SYMBOL 1
    COR 128 128 128
    OUTLINECOLOR 0 0 0
    NOME "ZonaNULL"
    EXPRESSIÓN ([VALUE] = 0)
    LABEL
         ANGULO AUTO
         COR 0 0 0
         FONT sans
         TIPO TRUETYPE
         POSICIÓN cc
        
PARTIALS FALSE
         BUFFER 5
         6 TAMAÑO
         OUTLINECOLOR 200 200 200
    FIN
  END #class valor 0
  CLASS
    SYMBOL 3
    COR 255 128 128
    #COLOR -1 -1 -1 #SIN FILLING

.... e así pechar

FIN
  Valor END # #
Capa END #

En conclusión

Por iso, traballar con mapserver, aínda que é bastante sinxelo, faise complexo e moi limitado para traballos grandes porque todo está no .map. A maior desvantaxe é que todo se fai a pé, como definir cada cor nunha temática, e por este motivo xorden ferramentas como CartoWeb, que funciona en Mapserver pero trae complementos e exemplos incorporados con características que fan que esta versión primitiva pareza o Léame primeiro:

  • Traballa marcos separados, con AJAX para actualiza-los por separado
  • Analiza o código, sempre que un script redeseiga o .map en función dos criterios parametrizables
  • Deslizamento dinámico de volta sen necesidade de actualización, coma se fose unha capa de flash
  • Edición de vectores en liña, escritura de caché inmediata
  • Descarga a capa en forma de vectores
  • Exportar a Google Earth
  • Xera PDF da implantación

Nunha seguinte ollaremos CartoWeb, aquí deixo a ligazón aos exemplos principais.

Golgi Álvarez

Escritor, investigador, especialista en Modelos de Ordenación do Territorio. Participou na conceptualización e implantación de modelos como: Sistema Nacional de Administración de Patrimonio SINAP en Honduras, Modelo de Xestión de Municipios Mancomunados en Honduras, Modelo Integrado de Xestión Catastral - Rexistro en Nicaragua, Sistema de Administración do Territorio SAT en Colombia. . Editor do blog de coñecemento Geofumadas dende 2007 e creador da Academia AulAGEO que inclúe máis de 100 cursos sobre temas SIX - CAD - BIM - Xemelgos Dixitais.

artigos relacionados

3 Comentarios

  1. Ola,

    Intento chamar unha capa desde o. Mapa, do seguinte xeito:

    CAPA
    NAME test_houses
    PUNTO TIPO
    CONNECTIONTYPE OGR
    CONEXIÓN #"virtual.ovf"
    "

    xxxxx
    EXEC…….
    eess_id
    wkbPoint
    WGS84

    "

    O meu problema é que o servizo DSN está a causar problemas: ao solicitar un GetCapabilities está devolvendo o contrasinal da base de datos... podo facer unha chamada a un ficheiro para evitar "regalar" o contrasinal ou é un erro de DSN???? Grazas!

  2. MapServer é un popular proxecto de código aberto cuxo obxectivo é mostrar mapas espaciais dinámicos a través de Internet. Unha unidade montada é unha unidade que se asigna a un cartafol baleiro nun volume que usa o sistema de ficheiros NTFS. As unidades montadas funcionan como calquera outra unidade, pero son asignadas a camiños de unidade en vez de letras de unidades.

Deixe un comentario

Enderezo de correo electrónico non será publicado. Os campos obrigatorios están marcados con *

Botón de volta ao principio