ClasePractica1

March 24, 2018 | Author: anveros | Category: Geographic Information System, Technology, Computing, Software, Areas Of Computer Science


Comments



Description

MapServerTaller de Sistemas de Información Geográfica MapServer     Objetivos  La idea es repasar herramientas exitosas de  productos open source orientados a GIS,  empleados en ámbitos comerciales,  gubernamentales y académicos. ● http://freegis.org http://opensourcegis.org http://maptools.org ● ●    Una de las principales ventajas de emplear  estas herramientas open source es que son  compatibles con los principales formatos de    software GIS propietario. Raster y Vector  Ambos términos se refieren a tipos específicos  de datos.  Los datos Raster son organizados como una matriz o  grilla que tiene filas y columnas.  Cada intersección entre fila/columna es una celda o  pixel.   Cada celda tiene un valor, por ejemplo, una elevación.   Tienen un número determinado de pixels de ancho y  alto y cada pixel representa un determinado tamaño.   Por ejemplo, en imágenes Landsat, cada pixel  representa 30 x 30 metros.        Raster y Vector  Los Vectores son representados como  coordenadas  definen puntos o  se combinan para conformar líneas o polígonos.  Estos datos a menudo se relacionan con una tabla  de información, una para cada característica (línea,  punto o polígono) del conjunto       OpenEV  Es un potente visor de Escritorio.  Permite  explorar los datos de cualquier tipo de  imágenes (raster o vector) soportadas por la  librería (GDAL/OGR). OpenEV proviene con el paquete FWTools:  http://fwtools.maptools.org http://openev.sourceforge.net/ Es un buen ejemplo de cómo pueden  accederse a las funciones de GDAL/OGR  empleando otros lenguajes ya que está escrito    sobre Phyton      OpenEV     . MapServer  Es la principal herramienta que emplearemos  para presentar nuestros mapas en la Web.   La página oficial de MapServer es:  http://mapserver.gis.edu      .umn.     GDAL/OGR  GDAL/OGR PostGIS    Acceso a datos y Performance    Portabilidad $ 0.MapServer ­ Ventajas  Ofrece la posibilidad de presentar los datos a otros  usuarios empleando Internet Es uno de los pocos productos que ofrecen soluciones  a los proyectos que disponen de mapas en múltiples  formatos.00    .    A menudo llamada Goodle Una librería para formatos de datos  geoespaciales raster.  Presenta un único  modelo de datos abstracto para la aplicación  que llama para todos los formatos soportados.GDAL  Geospatial Data Abstracion Library Es parte del paquete FWTools.        .   Para otros lenguajes. C++.GDAL  Tiene cuatro características principales:  Variedad: Soporta mas de 40 formatos raster Abstracción: Cualquier aplicación que emplee  GDAL accede automáticamente a esos 40 formatos Herramientas: Las herramientas que emplean  GDAL posiblemente ahorren esfuerzos de  programación. Ruby. puede emplearse    SWIG (Perl. Funciones: Sus funciones pueden ser empleadas  por programadores de distintos lenguajes:  C. PHP.  Phyton. etc. Java.)      . GDAL  En resumen: No hay que preocuparse del  formato de una imagen para poder analizarla y  emplearla.     . gdal_translate: Permite pasar de un formato a  otro.  Provee funciones para redimensaionar. etc.  extraer subconjuntos de datos.       .GDAL ­ Utilidades  Las  utilidades GDAL sobre Windows que  provienen con el paquete FWTools Se accede a las mismas empleando el  intérprete de comandos que viene con el  paquete. .298...              DATUM["North_American_Datum_1983".0]."7019"]].2572221010042..                  SPHEROID["GRS 1980".."6269"]].          GEOGCS["NAD83".6378137...tif      Driver: GTiff/GeoTIFF      Size is 1236..GDAL ­ Utilidades  gdalinfo: Nos brinda información acerca del  archivo de la imagen raster # gdalinfo vancouver..                  AUTHORITY["EPSG".              AUTHORITY["EPSG".0.... 1028      Coordinate System is:      PROJCS["NAD83 / UTM zone 10N"..                      AUTHORITY["EPSG"....              UNIT["degree (supplier to define representation)".01745329251994328]. ."4269"]]....            PROJECTION["Transverse_Mercator"]   ...              PRIMEM["Greenwich"... OGR  Es una librería open source para el  procesamiento de datos vectoriales. GDAL se emplea para visualizar datos raster o  imágenes y OGR para los vectoriales.      . OGR ­ Utilidades  ogrinfo ogr2ogr      .  como  cualquier dato tabular. gratuito y open source.PostGIS  PostgreSQL: un motor de base de datos  empresariales potente.  Geometry Engine Open Source (refractions  research)       . Las funciones mas avanzadas de PostGIS se  basan en un conjunto de librerías (GEOS). Extiende PostgreSQL. permitiendo almacenar  y manipular tipos de datos geográficos. wkb_geometry      .wkb_geometry && b. empleando SQL Consulta:    Seleccionar los países limítrofes a Argentina SQL: SELECT nombre_de_pais  from pais a. pais b where b.nombre = 'Argentina' and a.PostGIS  Permite manipular los datos directamente en la  BD.  El Servidor Web recibe las solicitudes de mapas y  las deriva a Mapserver para su creación. MapServer trabaja detrás de un  Web Server.      .MapServer ­ Funcionamiento  Por lo general. MapServer genera el mapa y se lo retorna al  servidor Web quien a su vez lo traslada al usuario. Una capa puede ser una imagen satelital.MapServer  La función principal de MapServer involucra  leer datos de distintas fuentes y combinar estas  capas (LAYERS) en un archivo gráfico.       .   Cada capa se dibuja y es superpuesta sobre  las otras. otras los  puntos con las principales ciudades. también  conocida como imagen del mapa. otra  un vector con los límites de los paises. MapServer     .      .MapServer  En la figura anterior se muestra un ejemplo de  superposición de capas. El proceso de rendering se realiza cada vez    que se solicita un nuevo mapa a MapServer. Cada capa es tomada desde un origen  independiente (también puede ser el mismo). Cada uno de los checkbox seleccionados  representa una capa que es solicitada a  MapServer para que sea presentada en la  imagen de la izquierda. MapServer  En nuestro caso. el redibujado se produce  cuando el usuario cambia las capas a visualizar  o bien realiza un zoom in/out o desplazamiento     .  dibuja la información desde los  data sources y retorna la imagen  correspondiente.     . el cual. luego de cada solicitud  de una mapa.MapServer  Uno de los componentes principales es el  programa CGI. MapServer  El programa CGI de MapServer. actua como  intermediario entre quien solicita la imagen y  los mapas que la conforman. Las solicitudes se pasan de la forma de  parámetros desde el servidor Web a  MapServer      . Cuando se realiza una solicitud a una  aplicación MapServer. barras de escala. el formato de imagen de salida. Incluye que capas deben dibujarse. etc. el sistema  de proyección. debe especificarse que  archivo de mapping debe emplearse para que    así pueda construir el mapa.MapServer ­ Mapfile  Básicamente es un archivo de configuración de  texto que enumera la forma de dibujar e  interactuar con el mapa.     .  si se emplean leyendas. shp  CLASS  OUTLINECOLOR 100 100 100  END  END  END     .MapServer ­ Mapfile MAP    SIZE 600 300  EXTENT ­180 ­90 180 90  LAYER  NAME countries  TYPE POLYGON  STATUS DEFAULT  DATA countries. Pueden provenir de una diversidad de fuentes:   soportados en forma nativa por MapServer soportados por medio de librerías GDAL / OGR por medio de un Web Service.MapServer ­ Datasource  Representarían el combustible del motor.   Básicamente define de donde se toman los  datos.       . MapServer – Instalación  Windows Linux   Repositorios Compilado      . Linux ­ Compilado  Compilamos todas la librerias requeridas./configure make       Se generará el archivo ejecutable mapserv .  Generalmente (depende de cada libreria)   ./configure make make install    Una vez compiladas las librerias:  Directorio source de MapServer . /configure \ --with-proj=/usr/local/proj-4.Linux ­ Compilado Algunas opciones de compilación: – .6.0 \ --with-geos=/usr/local/bin/geos-config \ --with-ogr=/usr/local/bin/gdal-config \ --with-gdal=/usr/local/bin/gdal-config \ --with-postgis=/usr/local/pgsql/bin/pg_config \ --with-curl-config=/usr/bin/curl-config \ --with-httpd=/usr/sbin/httpd \ --with-php=/usr/include/php \ --with-wfs \ --with-wfsclient \ --with-wmsclient \ --enable-debug \ --with-threads \ --with-wcs \ --with-wcsclient \ --with-sos \ --with-gd \ --with-freetype \ --with-jpeg \ --with-agg=/usr/local/     . Linux – Ubuntu ­ Repositorio  Actualizamos las fuentes   Es posible que tengamos que editar /etc/apt/sources.list apt­get update   Buscamos los paquetes de mapserver  apt­cache search mapserver Nos devuelve una lista con los paquetes que contienen el  texto: mapserver   Instalamos los paquetes de MapServer  apt­get install cgi­mapserver mapserver­bin php5­ mapscript   Por defecto se instala en /usr/lib/cgi­bin    . Puesta en marcha de servidor rápida. Prestaciones no tan elevadas. La compilación es + compleja. y + lenta.      Compilación      . Disponibles últimas versiones.Linux – Compilación vs  Repositorio  Repositorios  En los repositorios normalmente no se encuentran  disponibles las últimas versiones de los  componentes. Mayor productividad y prestaciones.  PHP.10 PHP version 5.org MapServer For(4) Windows Apache HTTP Server version 2.2.2. Python) GDAL/OGR 1.maptools.MS4W ­ Windows  Paquete MS4W.1 (CSharp.0     Contiene           .0.1 MapScript 5.6 MapServer CGI 5.6.2.0 RC2 and Utilities MapServer Utilities PROJ Utilities OGR/PHP Extension 1. Java. disponible en:  http://www.2. MS4W  Una vez descargado el archivo de MS4W  Descomprimir el contenido en el directorio raiz.  Pasaremos a tener c:\ms4w con el  contenido completo Iniciar MS4W Apache Web Server mediante    /ms4w/apache­install.conf. The Apache MS4W Web Server service is starting.     .bat  Se instala Apache como un servicio de Windows llamado  "Apache Web Server" Si se ejecuta en una consola DOS se obtiene el siguiente  mensaje: Installing the Apache MS4W Web Server service The Apache MS4W Web Server service is successfully installed. Errors reported here must be corrected before the service   can be started.. Testing httpd... por  ejemplo c:\. The Apache MS4W Web Server service was started successfully. MS4W  http://localhost/     . MS4W  http://localhost/cgi­bin/mapserv.exe     . bat     .MS4W ­ Herramientas  Ejecutar desde línea de comando   c:\ms4w\setenv. SHP de ESRI Herramientas:    OGR   ogrinfo ogr2ogr      .MS4W ­ Aplicaciones  Trabajando los Mapas Ejemplo: Carpeta con archivos . shp ogrinfo ­so mapas pob0003a_Project      .MS4W ­ Aplicaciones  c:\ms4w\apps\lapampa  mapas\*. 0.     PROJECTION["Transverse_Mercator"].0) PROVINCIA: String (60.     UNIT["Meter".845214) Layer SRS WKT: PROJCS["Argentina_Zone_3".297.0) TIPO: String (50.0.0)   .1.         UNIT["Degree".MS4W ­ Aplicaciones INFO: Open of `mapas' using driver `ESRI Shapefile' successful.3500000.0) HOJA: String (10.     GEOGCS["GCS_Campo_Inchauspe".578346.0) NOMBRE: String (45.  6127358.0].0)   OBSERVACIO: String (50.         DATUM["Campo_Inchauspe".         PRIMEM["Greenwich".             SPHEROID["International_1924".020105.0) HABITANTES: Real (11.     PARAMETER["False_Easting".0) PAIS: String (15.0]].0]] UNION: Real (11.0) DEPARTAMEN: String (40. 5570103.6378388. Layer name: pob0003a_Project Geometry: Point Feature Count: 7155 Extent: (3232375.035091) ­ (3772862.0].0174532925199433]].0. MS4W ­ Aplicaciones  ogr2ogr: Las primeras conversiones  ogr2ogr   ­f "ESRI Shapefile" mydata.shp      ogr2ogr      .shp  PG:"host=myhost user=myloginname  dbname=mydbname password=mypassword"  "mytable"  ­f "PostgreSQL" PG:"host=localhost user=someuser  dbname=somedb password=somepassword port=5432"  mydata.  no es la excepción Pasos a seguir:   Crear el Mapfile Crear el Archivo de Inicialización y el Template HTML Ṕrobar la aplicacion!       .MapServer – Primera Aplicación  Hola Mundo!!!!!  Si. 00 WEB TEMPLATE ”/var/www/htdocs/hello.html” IMAGEPATH ”/var/www/htdocs/tmp/”   IMAGEURL ”/tmp/” END   .MapServer ­ Mapfile NAME ”Hello World” SIZE 400 300 IMAGECOLOR 249 245 186 IMAGETYPE PNG EXTENT ­1.00 1.00 1.00 ­1. MapServer ­ Mapfile LAYER STATUS default TYPE point FEATURE POINTS 0.0 0.0 END TEXT ”Hello World” END CLASS STYLE COLOR 255 0 0 END LABEL TYPE  bitmap END END END END     . MapServer ­ hello.map”/> </form> <img src=”[img]” width=”400” height=”300” border=”0”/> </body> </html>     .exe”> <input type=”submit” value=”Click”/> <input type=”hidden” name=”map”       value=”/var/www/htdocs/hello.html <html> <head><title>Hello World desde MapServer</title></head> <body> <form method=”POST” action=”/cgi­bin/mapserv. MapServer     . png" <img src="/tmp/Hello_World11008505275638.png" width=400 height=300 border=0>      .MapServer  Archivos Creados (similares):  "/var/www/htdocs/tmp/Hello_World1100850527563 8. MapServer – Primer Mapa     . MapServer – Primer Mapa  Archivos SHP de ESRI  c:\ms4w\Apache\htdocs\mapdata\mapas c:\ms4w\Apache\htdocs\lapampa.map c:\ms4w\Apache\htdocs\map.html c:\ms4w\Apache\htdocs\mapdata\lapampa.html    HTML   Mapfile   Template    . MapServer – Primer Mapa lapampa.html <form name="formulario_mapa" method="get" action="mapa.html"> <input type="submit" value="Ok para comenzar"> <input type="hidden" name="program" value="/cgi­bin/mapserv.exe"> <input type="hidden" name="map"  value="/ms4w/Apache/htdocs/mapdata/lapampa.map"> <input type="hidden" name="zoomsize" value="2"> <input type="hidden" name="layers" value="caminos"> <input type="hidden" name="layers" value="contorno"> <input type="hidden" name="layers" value="canales"> <input type="hidden" name="layers" value="alternativos"> <input type="hidden" name="root" value="/"> </form>     . 995538 3738758.html" IMAGEPATH "/ms4w/apache/htdocs/tmp/"    IMAGEURL "/tmp/" END     ./mapa.490093 WEB TEMPLATE ".840706 5644021.515716 6127290.MapServer – Mapfile NAME "lapampa" SIZE 550 413 TRANSPARENT on IMAGETYPE GIF  SHAPEPATH "/ms4w/Apache/htdocs/mapdata/mapas" EXTENT 3294313.. MapServer – Mapfile SCALEBAR     IMAGECOLOR 255 255 255     LABEL       COLOR 0 0 0       SIZE small     END     POSITION lr     INTERVALS 4      STATUS embed     SIZE 150 4     STYLE 0     UNITS kilometers      TRANSPARENT on END LEGEND STATUS on IMAGECOLOR 255 255 255   TRANSPARENT TRUE END   . 840706 5644021.515716 6127290./referencia.995538 3738758.490093 STATUS ON COLOR ­1 ­1 ­1 OUTLINECOLOR 255 0 0 MINBOXSIZE 5 MAXBOXSIZE 100 MARKERSIZE 8 MARKER 'star' END     .gif" SIZE 200 150 EXTENT 3294313.MapServer – Mapfile REFERENCE IMAGE ".. 0.0.1 port=5432" # DATA "the_geom from contorno"         STATUS on         TYPE line         CLASS                 NAME "Contorno"                 STYLE                         COLOR 120 50 20                 END         END END     .MapServer – Mapfile LAYER         NAME "contorno"         DATA "lim0003a_Project" # CONNECTIONTYPE POSTGIS # CONNECTION "dbname=pampa user=postgres host=127. MapServer ­ Interacción Imagen de Referencia con  muestra de ubicación Refresco en la  imagen no de  página   Capas Seleccionables  con checkbox   . MapServer ­ Scripting  CGI es una alternativa  Permite la elaboración rápida de aplicaciones No requiere conocimientos de programación de un  lenguaje determinado MapScript   Existen Alternativas      . 0.py  import mapscript  map = mapscript.MS_DD  # Set the web object image properties  map.setExtent(­180.imageurl = "/tmp/"      .MapServer ­ MapScript Phyton # custommapfile.180.setRGB(180.imagecolor.0.mapObj(  )  map.web.0.0)  map.name = "CustomMap"  map.90. 180.300)  map.imagepath = "/srv/www/htdocs/tmp/"  map.­90.setSize(600.web. 250)  map.units = mapscript. $image­>saveImage(""/ms4w/Apache/htdocs/tmp/".$image_name).map").MapServer ­ MapScript Php <?php $image_name = "phpms­hello".999999)).".png". $image=$map­>draw().  ?>     . $map = ms_newMapObj("/ms4w/Apache/htdocs/mapdata/hello.rand(0. FIN  Conceptos de MapServer  Arquitectura Ventajas Herramientas Formatos Alternativas Ejemplos          .
Copyright © 2024 DOKUMEN.SITE Inc.