Herramientas de usuario

Herramientas del sitio


sistemas:gis:mapserver

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
sistemas:gis:mapserver [2010/07/11 13:32]
alfred
sistemas:gis:mapserver [2020/05/09 09:25] (actual)
Línea 26: Línea 26:
   * **Páginas HTML**.   * **Páginas HTML**.
 MapServer es un programa CGI y como tal no tiene estado, cada petición que se le hace es independiente y no es influida por las pasadas. \\  MapServer es un programa CGI y como tal no tiene estado, cada petición que se le hace es independiente y no es influida por las pasadas. \\ 
 +{{ sistemas:​gis:​ms-arquitectura.png?​500 |}}
  
-{{ sistema:​gis:​architecture.png?​500 |}} 
  
  
Línea 37: Línea 37:
   * Siempre es recomendable utilizar rutas relativas y no absolutas, aunque son admitidas las dos.   * Siempre es recomendable utilizar rutas relativas y no absolutas, aunque son admitidas las dos.
   * Las rutas tendrán que ser indicadas entre comillas (simples o dobles, da igual).   * Las rutas tendrán que ser indicadas entre comillas (simples o dobles, da igual).
-==== Elementos ​====+ 
 + 
 + 
 + 
 + 
 + 
 + 
 +==== Objetos ​==== 
 +Estos son los objetos más utilizados internamente en un MapFile y sus propiedades:​ 
 +=== MAP === 
 +  * **EXTENT**, es la extensión del mapa resultado. 
 +  * **SIZE**, es el tamaño del mapa. 
 +  * **IMAGECOLOR**,​ el color de fondo del mapa. 
 +<​code>​ 
 +MAP 
 +    NAME                 "​sample"​ 
 +    EXTENT ​       -180 -90 180 90 # Geographic 
 +    SIZE                  800 400 
 +    IMAGECOLOR ​       128 128 255 
 +END 
 +</​code>​ 
 +=== LAYER === 
 +El parámetro **DATA** indica a qué tipo se refiere el parémetro **SHAPEPATH** del objeto MAP, si no se definiese se tomaría como un shapefile (.shp). 
 +=== RASTER === 
 +<​code>​ 
 +LAYER 
 +    NAME "​bathymetry"​ 
 +    TYPE RASTER 
 +    STATUS DEFAULT 
 +    DATA "​bath_mapserver.tif"​ 
 +END 
 +</​code>​ 
 +=== Layers vectoriales === 
 +Estas pueden ser del tipo point, line o polygon (parámetro **TYPE**), según lo que se quiera mostrar.  
 +<​code>​ 
 +LAYER 
 +    NAME   "​world_poly"​ 
 +    DATA         '​shapefile/​countries_area.shp'​ 
 +    STATUS ​      ON 
 +    TYPE         ​POLYGON 
 +    CLASS 
 +        NAME       '​The World'​ 
 +        STYLE 
 +            OUTLINECOLOR ​   0 0 0 
 +        END 
 +    END 
 +END # layer 
 +</​code>​ 
 + 
 +=== Objetos CLASS y STYLE === 
 +Son los utilizados para dar formato a los objetos LAYER. 
 +<​code>​ 
 +CLASS 
 +NAME "​Primary Roads"​ 
 +STYLE 
 +    SYMBOL "​circle"​ 
 +    COLOR 178 114 1 
 +    SIZE 15 
 +END #style1 
 +STYLE 
 +    SYMBOL "​circle"​ 
 +    COLOR 254 161 0 
 +    SIZE 7 
 +END #style2 
 +END 
 +</​code>​ 
 + 
 +=== SYMBOLS === 
 +Se pueden definir directamente en el mapfile o en un fichero separado (entonces deberíamos utilizar el parámetro **SYMBOLSET** en el MAP). Por ejemplo: 
 +<​code>​ 
 +MAP 
 +    NAME           "​sample"​ 
 +    EXTENT ​       -180 -90 180 90 # Geographic 
 +    SIZE           800 400 
 +    IMAGECOLOR ​    128 128 255 
 +    SYMBOLSET ​     "​../​etc/​symbols.txt"​ 
 +END # map 
 +LAYER 
 +    ... 
 +    CLASS 
 +        NAME "Ski Area"​ 
 +        STYLE 
 +            SYMBOL "​ski"​ 
 +        END 
 +    END 
 +END # layer 
 +</​code>​ 
 +Y ''​symbols.txt''​ contendría:​ 
 +<​code>​ 
 +SYMBOL 
 +    NAME "​ski"​ 
 +    TYPE PIXMAP 
 +    IMAGE "​ski.gif"​ 
 +END 
 +</​code>​ 
 +=== LABEL === 
 +El objeto LAYER tiene el parámetro **LABELITEM** que puede ser utilizado en una columna específica en unos datos para referirse a un fichero **FONTSET** (el cual contiene una referencia a los nombres de fuentes posibles). 
 +<​code>​ 
 +LABEL 
 +    FONT "​sans-bold"​ 
 +    TYPE truetype 
 +    SIZE 10 
 +    POSITION LC 
 +    PARTIALS FALSE 
 +    COLOR  100 100 100 
 +    OUTLINECOLOR 242 236 230 
 +END # label 
 +</​code>​ 
 + 
 +=== INCLUDE === 
 +Cualquier parte del mapfile puede ser almacenado en un fichero por separado y añadido mediante el parámetro **INCLUDE**,​ el nombre del fichero puede tener cualquier extensión y su ruta será siempre relativa al .map. De esa forma tanto las layers como los estilos pueden ser incluidos en multiples aplicaciones. \\  
 +Por ejemplo, podríamos tener un fichero ''​shadedrelief.lay'':​ 
 +<​code>​ 
 +LAYER 
 +    NAME         '​shadedrelief'​ 
 +    STATUS ​      ON 
 +    TYPE         ​RASTER 
 +    DATA         '​GLOBALeb3colshade.jpg'​ 
 +END 
 +</​code>​ 
 +Y el mapfile: 
 +<​code>​ 
 +MAP 
 +    ... 
 +    INCLUDE "​shadedrelief.lay"​ 
 +    ... 
 +END 
 +</​code>​ 
 +O incluir los objetos layers a parte: 
 +<​code>​ 
 +NAME "​base"​ 
 +
 +# include reference objects 
 +
 +INCLUDE "​../​templates/​template.ref"​ 
 +
 +# Start of layer definitions 
 +
 +INCLUDE "​../​layers/​usa/​usa_outline.lay"​ 
 +INCLUDE "​../​layers/​canada/​base/​1m/​provinces.lay"​ 
 +INCLUDE "​../​layers/​canada/​base/​1m/​roads_atlas_of_canada_1m.lay"​ 
 +INCLUDE "​../​layers/​canada/​base/​1m/​roads_atlas_of_canada_1m_shields.lay"​ 
 +INCLUDE "​../​layers/​canada/​base/​1m/​populated_places.lay"​ 
 +END # Map File 
 +</​code>​ 
 + 
 +===== Como... ===== 
 + 
 + 
 + 
 + 
 +==== Crear un servicio WMS ==== 
 +  * [[sistemas:​gis#​servicios_wms|Servicios WMS]] 
 +  * [[http://​mapserver.org/​ogc/​wms_server.html|Manual de MapServer sobre cómo hacerlo]] 
 +Para que MapServer permita ser configurado como WMS ha de haber sido compilado con las librerías ''​libcurl''​ y ''​Proj.4'',​ para comprobar si realmente admite esta propiedad ejecutaremos ''​mapsrv -v''​ y tendrá que salir ''​SUPPORTS=WMS_SERVER''​. \\  
 + 
 +:?: También será necesario definir un objeto ''​METADATA''​ en el MAP y en las LAYER. 
 + 
 +===== MapScript ===== 
 + 
 + 
  
sistemas/gis/mapserver.1278855170.txt.gz · Última modificación: 2020/05/09 09:24 (editor externo)