cartografia

Com funciona Mapserver

La vegada anterior vam parlar d'alguns criteris per què MapServer i el bàsic de la instal·lació. Ara vegem una mica del seu funcionament en un exercici amb els mapes dels cuates chiapanecos.

 MapServer GeoServer On es munta

Un cop instal·lat Apache, el directori de publicació per MapServer defecte és la carpeta OSGeo4W directament sobre C: /

A dins, hi ha diferents carpetes amb aplicacions segons el que s'instal·li, però la carpeta per a publicació ha d'anar dins d'apatxe. En aquest cas la carpeta anomenada gis.

  • Després dins, la carpeta data conté les capes, ortofoto, etc.
  • A la carpeta etc, van les fonts true type usades per als labels, amb extensió .ttf. També aquí hi ha un arxiu txt que les aixeca i un altre que defineix símbols.
  • I finalment a la carpeta httdocs van les pàgines web que aixequen el servei.
  • MapServer GeoServer

La pàgina web

En l'exemple, faré servir el cas mostrat la vegada anterior. Bàsicament conté un arxiu index que redirecciona a un extensió phtml, i aquest al seu torn aixeca les funcions construïdes sobre un php i els mapes. Una carpeta conté les imatges vinculades des de la pàgina.

MapServer GeoServer

Si ens fixem, el phtml és només la closca construït a partir de taules, i cridats a les funcions mapscript / php. Hauria aixecar utilitzant:

http://localhost/gis/gispalenque.phtml

A baix es mostra el resultat funcionant:

  • al centre la funció GMapDrawMap (),
  • a la dreta l'anomenat al keymap GMapDrawKeyMap (),
  • la barra d'escala avall GMapDrawScaleBar (),
  • i en cas de les funcions de desplegament, una condició que fa al ListBox if (! IsHtmlMode ()) echo "  amb les decisions: ZOOM_IN, ZOOM_OUT, RECENTER, QUERY_POINT.

Ja corrent, el desplegament es veu així:

MapServer GeoServer

Els arxius .map

La combinació de la publicació de Mapserver està en el que aixeca apatxe, que li envia php mitjançant mapscript i que després surt per aquest closca. Però la major part de la ciència està en els arxius .map, que no s'han de confondre amb els generats per Mapinfo, Manifold o Mobile Mapper Office amb la mateixa extensió.

Aquests .map són arxius de text, que contenen el mapa en forma de script. Aquests es poden crear amb programes d'escriptori com Quantum GIS, si es fixen n'hi ha un per al mapa principal, un per al Keymap i dos per als serveis OGC wms i wfs. Vegem com funciona mapscript:

MAPA

NAME PALENQUE_DEMO
STATUS ON
SIZE 600 450
SYMBOLSET ../etc/symbols.txt
Extent 604299 1933386 610503 1939300 #VISTA DE TOT EL MAPA DE PALENQUE
#EXTENT 605786 1935102 608000 1938800 #SOLO SECTOR 01
UNITS meters
SHAPEPATH "../data"
TRANSPARENT ON
IMAGECOLOR 255 255 255
FONTSET ../etc/fonts.txt

  • MAP indica que inicia l'script
  • STATUS, indica si el mapa per default ve encès o no
  • SIZE és la mida del desplegament
  • SYMBOLSET mostra la ruta dels símbols
  • Extent són les coordenades de l'desplegament. El símbol # s'utilitza per fer anotacions
  • UNITS per a les unitats
  • SHAPEPATH, la ruta on estan les capes
  • Tot al final acabarà amb la comanda END

A dins, el codi s'inicia amb una línia de comandament, i acaba amb END, per exemple per escala mínima i màxima; directori de les imatges temporals:

WEB
  MINSCALE 2000000
  MAXSCALE 50000000

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

MapServer GeoServerLa barra d'escala:

SCALEBAR
  IMAGECOLOR 255 255 255
  ETIQUETA
    COLOR 0 0 0
    PETIT
  FI
  SIZE 300 5
  COLOR 255 255 255
  BACKGROUNDCOLOR 0 0 0
  OUTLINECOLOR 0 0 0
  UNITS kilometers
  Intervals 3
  STATUS ON
FI

MapServer GeoServerUna capa de ràster: que va de fons, amb descripció en el llistat com "Ortofoto", a partir d'una tiff situada a la carpeta data:

 

 

CAPA
  NAME ortofoto
  METADATA
    "DESCRIPTION" "ortofoto"
  FI
  TYPE RÀSTER
  STATUS OFF
  DATA "C: \ OSGeo4W / apps / gis / data / ortofotoGral.tif"
  #OFFSITE 0 0 0
FI

Una capa shp de polígons, tematitzada en base a criteris, aixecant unes dades sobre una plantilla html, amb un rètol de font sans, mida 6, color negre i vores blanques de memòria intermèdia 5 ...

MapServer GeoServer

CAPA
  NAME sector02Zona
  TYPE Polygon
  STATUS OFF
  TRANSPARENCY 50
  Extent 607852 1935706 610804 1938807 METADATA
    "DESCRIPTION" "Temàtic per Valor Sector 02"
    "RESULT_FIELDS" "MSLINK Cve_Mz Cve_Pred prop Àrea Perimetro VALOR"
  FI
  DATA PALENQUE_SECTOR01
  TEMPLATE "ttt_query.html"
  TOLERANCE 5
  #TOLERANCEUNITS PIXELS
  LABELITEM "VALOR"
  CLASSITEM "VALOR"
  LABELCACHE ON
  CLASSE
    SYMBOL 1
    COLOR 128 128 128
    OUTLINECOLOR 0 0 0
    NAME "ZonaNULL"
    EXPRESSION ([VALOR] = 0)
    ETIQUETA
         ANGLE AUTO
         COLOR 0 0 0
         FONT sans
         TYPE TrueType
         POSITION cc
        
PARTIALS FALSE
         BUFFER 5
         6 MIDA
         OUTLINECOLOR 200 200 200
    FI
  END #class valor 0
  CLASSE
    SYMBOL 3
    COLOR 255 128 128
    #COLOR -1 -1 -1 #SIN FARCIT

.... i així fins a tancar amb

FI
  END #Class Valor
END # Layer

Per concloure

D'aquí, que treballar amb MapServer, si bé és bastant simple, es torna mig complex i molt limitat per a treballs grans perquè tot està en el .map. La major desavantatge és que tot es fa de a peu, com definir cada color en una tematització, i per això sorgeixen eines com CartoWeb, que treballa sobre Mapserver però porta connectors construïts i exemples amb característiques que fan que aquesta versió primitiva es quedi com el readme first:

  • Treballar marcs separats, amb AJAX per tal de refrescar per separat
  • Parsejar el codi, sempre que un script reescrigui l'.map en base a criteris parametritzables
  • Tornar dinàmic el desplaçament sense que requereixi refrescar, com si es tractés d'una capa flash
  • Edició vectorial en línia, escriptura immediata sobre la memòria cau
  • Descàrrega de capa en forma vectorial
  • Exporta a Google Earth
  • Generar PDF del desplegament

En una propera el trobarem una mirada CartoWeb, aquí els deixo l'enllaç als exemples principals.

Golgi Alvarez

Escriptor, investigador, especialista en Models de Gestió del Territori. Ha participat en la conceptualització i implementació de models com: Sistema Nacional d'Administració de la Propietat SINAP a Hondures, Model de Gestió de municipis Mancomunats a Hondures, Model Integrat de Gestió Cadastre - Registre a Nicaragua, Sistema d'Administració del Territori SAT a Colòmbia. Editor del bloc de coneixement Geofumades des de l'any 2007 i creador de l'Acadèmia AulaGEO que inclou més de 100 cursos sobre temàtiques GIS – CAD – BIM – Digital Twins.

Articles Relacionats

3 Comentaris

  1. Hola,

    Estic intentant trucar a una capa des del .map, com segueix:

    CAPA
    NAME casas_prueba
    TYPE POINT
    CONNECTIONTYPE OGR
    CONNECTION #”virtual.ovf”
    "

    xxxxx
    EXEC .......
    eess_id
    wkbPoint
    WGS84

    "

    El meu problema és que el servei DSN està donant problemes: en demanar un GetCapabilities m'està tornant la contrasenya de la base de dades…puc posar una trucada a un fitxer per evitar “regalar” la contrasenya o és un error del DSN???? Gràcies!

  2. MapServer is a popular Open Source project whose purpose is to display dynamic spatial maps over the Internet. A mounted drive is a drive that is mapped to an empty folder on a volume that uses the NTFS file system. Mounted drives function as any other drives, but they are assigned drive paths instead of drive letters.

Deixa un comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

Torna al botó superior