Step III: Specify rules, parameters and requirements for reporting, and how to produce the data required for the product declaration.
Chapter 6: Framework for carbon footprint documentation
LAYER
NAME paises DATA paises_ue
STATUS ON TYPE POLYGON
# TEMPLATE indica, con respecto al fichero .map, la ubicación del template
# MapServer que debe utilizarse para componer el GetFeatureInfo de esta cobertura
(FICHERO PLANTILLA, QUE DEBE USAR, CUANDO EN QUANTUM SE SOLICITA LA CONSULTA, VA A USAR EL TEMPLATE PAISES, es decir, template indica con respecto al fichero .map, la ubicación del template.
TEMPLATE "../templates/paises.html" (le da igual la extensión a mapserver, pero el mimetype da la naturaleza de la respuesta del servidor web)
METADATA "wms_title" "Países" "wms_abstract" "Países" "wms_srs" "EPSG:4326" "wms_extent" "-179 -89 179 89"
# Indica que lo que va a devolver el GetFeatureInfo de esta cobertura # es un HTML (indica lo que devuelve texto)
"wms_feature_info_mime_type" "text/html"
END
PROJECTION "init=epsg:4326" END
CLASSGROUP "Por defecto" CLASS
NAME "Países del mundo" GROUP "Por defecto" STYLE COLOR 150 150 150 ANTIALIAS TRUE END STYLE OUTLINECOLOR 0 0 0 WIDTH 2 ANTIALIAS TRUE END END CLASSGROUP "Hueco" CLASS
NAME "Países del mundo" GROUP "Hueco" STYLE OUTLINECOLOR 0 0 0 WIDTH 1 ANTIALIAS TRUE END END END LAYER NAME latlongi DATA latlongi STATUS OFF TYPE LINE METADATA
"wms_title" "Latitud / Longitud"
"wms_abstract" "Rejilla Latitud / Longitud" "wms_srs" "EPSG:4326" "wms_extent" "-179 -89 179 89" END PROJECTION "init=epsg:4326" END
CLASSGROUP "Por defecto" CLASS
NAME "Países del mundo" GROUP "Por defecto" STYLE
COLOR 0 0 0 WIDTH 1 ANTIALIAS TRUE END END END LAYER NAME lineas_trafico_mar DATA lineas_trafico_mar STATUS OFF TYPE LINE TEMPLATE "../templates/lineas_trafico_mar.html" METADATA
"wms_title" "Líneas de tráfico marítimo españolas" "wms_abstract" "Líneas de tráfico marítimo españolas" "wms_srs" "EPSG:4326" "wms_extent" "-179 -89 179 89" "wms_feature_info_mime_type" "text/html" END PROJECTION "init=epsg:4326" END
CLASSGROUP "Por defecto" CLASS
NAME "Líneas marítimas" GROUP "Por defecto" STYLE COLOR 0 150 0 WIDTH 2 ANTIALIAS TRUE END END END END
Para probar se abre el QUANTUM Del archivo mapserver (atlas03.map)
http://localhost:8085/cgi-bin/mapserv.exe?map=c:/mapserver_data/mapfiles/atlas02.map& SE EDITA ATLAS MARINO Y SE CAMBIA URL
<!-- MapServer Template -->
<!-- Las templates MapServer tienen que comenzar con el "magic string" anterior para que MS las reconozca como tales -->
<!-- Una template es un documento que devuelve un HTML, XML, JSON o similar --> <html>
<head>
</head> <body>
<!-- Se puede acceder a los datos de la cobertura con la sintaxis [nombre_de_campo] -->
<p><strong>x:</strong> [mapx] / <strong>y:</strong> [mapy]</p> <p><strong>País:</strong> [PaisesES]</p>
<p><strong>Web:</strong> <a href='[url]' target='blank'>[url]</a></p> </body>
</html>
[mapx] es una macro, le dice a mapserver escribe la coordenada en donde se ha
pinchado.
[mapy] es una macro, escribe la coordenada
[PaisesES] nombre de un campo alphanumerico de shapefile, en donde se alberga el nombre en español de los países, se va a la tabla, y se sustituye la macro por el valor del campo de la tabla.
'[url]' sustituye el valor por el de la macro, y se sustituye por el link de la web indicada en la table y
se ponen entre comillas.
El archivo html se puede usar css, javascript para dar forma más personalizada.
Para la Cobertura vectorial hay que revisar la forma y Auto_porturarias (en codificación UTF-8)
Ver atributos
IMPORTANTE:
No usar caracteres extraños y a partir de los campos que están en la tabla, crear una plantilla
‐ incluir capa .map ‐ incluir template
EJEMPLO 4: Múltiples proyecciones en un .map
Es posible, gracias a la librería geodésica Proj4, ofrecer la posibilidad de crear los mapas con distintas proyecciones, aunque Proj4 es una librería difícil de comprender y muy temperamental.
Para ello, cada LAYER tiene que tener perfectamente identificado su sistema de referencia, su EXTENT y sus unidades del sistema de coordenadas, de forma que Proj4 sepa de qué a qué sistema de referencia tiene que convertir los datos. Los distintos sistemas de referencia que se quiere que el WMS sirva se han de poner en la claúsula “wms_srs” del bloque de metadatos WEB, en formato EPSG. El map en su conjunto también ha de poseer un EXTENT, un sistema de referencia y unas unidades.
Lamentablemente, Quantum tiene un bug a la hora de solicitar capas en un sistema de referencia que no es el suyo si no le acompaña en la petición alguna capa que sí tenga ese sistema de referencia, por lo que probaremos las URL 7 y 8 en un navegador para ver que realmente el servidor sí responde.
Ejercicio: hacer que el .map sea capaz de proporcionar los mapas también en la
proyección Lambert Azimutal Equiárea sobre el datum ETRS89 (pista: EPSG:3035) y comprobar sus resultados.
1. Combinar en el mismo .map distintos sistemas de referencias 2. Cargar shapefile en QUANTUM
#ENCODING: ISO-8859-1 áéíóú # Atlas 04: Varias proyecciones MAP
NAME Atlas IMAGETYPE PNG24
# Como ahora hay varias proyecciones, esta es la del EPSG principal del mapa
EXTENT -179 -89 179 89 (a nivel de map, hace referencias a las coordenadas, esta en función de las unidades de referencia a nivel del servicio complete)
SIZE 5000 5000
SHAPEPATH "c:/mapserver_data/coberturas" IMAGECOLOR 255 255 255
# Unidades finales del mapa, según el EPSG principal
UNITS dd (se debe indicar la unidad dd decimal degree)
OUTPUTFORMAT NAME AGG DRIVER "AGG/PNG" MIMETYPE "image/png" IMAGEMODE RGBA
END OUTPUTFORMAT NAME AGG DRIVER "AGG/JPEG" MIMETYPE "image/jpeg" IMAGEMODE RGBA END WEB LOG "c:/mapserver_data/log" METADATA
"wms_title" "WMS Atlas Marino"
"wms_abstract" "Servidor de mapas del Atlas Marino" "wms_onlineresource" "http://localhost:8085/cgi-
bin/mapserv.exe?map=c:/mapserver_data/mapfiles/atlas02.map&"
# Aquí, en el cuerpo de metadatos WEB, metemos los sistemas de referencia en
# EPSG que queremos utilizar
"wms_srs" "EPSG:4326 EPSG:23030 EPSG:3035" (3 sistemas de proyeccion, aquí se indican LOS SERVICIOS OFRECIDOS AL USUARIO, ES