Docstoc

Internet MapServer

Document Sample
Internet     MapServer Powered By Docstoc
					UMN MapServer




                              สินีนาฏ พรัดมะลิ
         ศูนย์เทคโนโลยีสารสนเทศและการสื่อสาร
                สานักงานปลัดกระทรวงสาธารณสุข
    UMN MapServer

มินเนโซต้า แมพเซิร์ฟเวอร์
   พัฒนาโดยมหาวิทยาลัย มินเนโซต้า ประเทศสหรัฐอเมริกา
   พัฒนาด้วยภาษาซี เป็นซอฟต์แวร์แบบซอฟต์แวร์รหัสเปิด
   ทางานแบบ CGI Script ( PHP, Python, Perl, Ruby, Java, and C# )
   การติดต่อกับฐานข้อมูล
   แสดงผลเป็นรูปภาพและตัวอักษรในไฟล์รูปแบบต่างๆ
   ทางานได้ทั้งบนระบบปฏิบัติการ วินโดว์ ลีนุกซ์ และ ยูนิกส์
   ปัจจุบันเป็นเวอร์ชั่น 4.10.2
   ดาว์นโหลดได้ที่ http://mapserver.gis.umn.edu/
MapServer
Basic Functionality

   Map Creation
   Map Component(eg. Legend, Scalbar
    and reference map)
   Simple feature Query
   On-the-fly projection
   Annotation including scaling, rotation,
    outline and drop shadows
 MapServer
 Features
Advanced cartographic output
  Scale dependent feature drawing and application execution
  Feature labeling
  TrueType fonts
  Map element automation (scalebar, reference map, and
   legend)
  Thematic mapping using logical- or regular expression-based
   classes
  Support for popular scripting and development environments
   PHP, Python, Perl, Ruby, Java, and C#
  Cross-platform support
   Linux, Windows, Mac OS X, Solaris, and more
  A multitude of raster and vector data formats
  Map projection support
  On-the-fly map projection
    MapServer
    Input Data Format

    Raster
      TIFF, GeoTIFF, PNG, JPEG, GIF

      GDAL

    Verctor
      ShapeFile

      OGR(MIF, TAB, DGN, ArcInfo, GML)

      PostGIS, SDE, Oracle Spatial

    Other
      OGC
    MapServer
    Output Data Format

    Raster
      PNG, JPEG, GIF, WBMP

    Verctor
      Flash, PDF, GML(WFL)

    Other
      OGC WMS
System Requirement

   Operation System
   Web Server
   CGI
   Database
MapServer Installation

   Web Server
   MapServer 4.10.2
   Mapscript 4.10 with PHP 5.2.1 and up
   PostgreSQL 8.1
   PostGIS
    MS4W

  โปรแกรมสาหรับติดตั้ง ms4w_2.2.4.zip
  unzip ms4w_2.2.4.zip ลงที่ root
   directory ของ drive ที่ต้องการ
  doubleclick ที่apache-install.bat จะติดตั้ง
   Apache ลงในระบบ
ในกรณีที่มีการติดตั้ง Apache แล้วให้ไปแก้ไข
   D:\ms4w\Apache\conf\httpd.conf
    line 53 : Listen 80  Listen 8010
MapServer Installation
For Windows
ms4w_2.2.4.zip
 Web Server Apache 2.2.4
 PHP 5.2.3 with Mapscript 4.10

 MapServer 4.10.2

PostgreSQL 8.1
 PostGIS
http://localhost:8010
   เริ่มต้นเรียกใช้ MapServer

http://localhost/cgi-bin/mapserv.exe
UMN MapServer



      การเขียน Map File
MapServer
                                     Template
              Map file
                                     Web page
   GIS Data

    Vector


    Raster
                         MapServer
                           CGI




                    User Interface
Map File
    MAP
    Size, Extent

    Layer
    Name, Type, Status, Data
     Class
     Style
      Outlinecolor



    Layer
    Name, Type, Status, Data
     Class
     Style
      Outlinecolor
     ้
กฎเบืองต้นในการเขียน Map File


   MapFiles ไม่บังคับตัวอักษร(not case-sensitive)

   ถ้าข้อความที่ใช้ไม่ได้เป็นตัวเลข(non-alphanumeric characters)
                                                ่
    หรือ MapServer keyword ต้องอยู่ภายใต้เครืองหมาย “(
    quoted)
   จานวน Layers ใน Map File มีได้ไม่เกิน 50 Layers ซึ่งจานวน
    layers นี้สามารถแก้ไขที่ map.h เปลี่ยนจานวน layer ที่ต้องการที่
    MS_MAXLAYERS แล้ว compile
   File paths สามารถใช้ได้ทั้ง absolute paths หรือ paths
    relative ที่สัมพันธ์กับตาแหน่งของ Map File ส่วน data files ต้อง
    กาหนดแบบ relative กับ SHAPEPATH
   โครงสร้างของ Map File เป็นแบบ hierarchical structure โดยมี
    Map object เป็น "root" และ objects อื่นๆจะอยู่ภายใต้ Map object
  Map file                 D:\ms4w\Apache\htdocs\day1\ex-01.map


MAP
   NAME HELLO
   STATUS ON
   EXTENT 0 0 1 1
   SIZE 500 300
   IMAGECOLOR 200 150 255
   IMAGETYPE png
   LAYER                                    CLASS
         NAME "credits"                       LABEL
         TYPE POINT                            TYPE BITMAP
         FEATURE                               COLOR 255 0 0
          POINTS 0 0 END                      END # end of label
          TEXT 'Hello world.'
                                            END # end of class
         END
         CLASS
            …
         END
   END
END
  Map file Output
http://localhost/cgi-bin/mapserv.exe
      ?map=./../htdocs/day1/ex-01.map&mode=map
MAP Object

General Map Settings

   NAME
   UNITS       [feet|inches|kilometers|meters|miles|dd]
   EXTENT [minx] [miny] [maxx] [maxy]
    How to get extent :
      - ogrinfo province.shp al -summary
      - SELECT extent(the_geom) from province;
   STATUS [on|off]
การหาค่า Extent
Quantum GIS
     Layer - - >Properties
การหาค่า Extent (Vector)
   ogrinfo
    ogrinfo filename.shp layername –so [enter]
การหาค่า Extent (Vector)
   PostGIS
    SELECT extent(the_geom) FROM province;
การหาค่า Extent (Raster)
   gdalinfo
    gdalinfo filename.tif[enter]
การหาค่า Extent

   ติดตั้ง Quantum GIS
       CD/software/Qgis/qgis-0.8.0_setup.exe
   FW Tools
       CD/software/ms4/FWTools105.exe
    การหาค่า Extent (Vector)

   ogrinfo
    ogrinfo d:\ms4\shp\province.shp province - so [enter]
    การหาค่า Extent (Vector)

   PostGIS

    SELECT extent(the_geom) FROM province
Map file                D:\ms4w\Apache\htdocs\day1\ex-02.map

MAP
   NAME “THAI”
   STATUS ON
   EXTENT 0 0 4000 3000
    SIZE 400 300
   IMAGECOLOR 200 255 255
   WEB
          IMAGEPATH “/ms4w/apache/htdoc/tmp/”
          IMAGEURL “./../tmp/”
   END

   LAYER
           NAME “PROVINCE”
           TYPE POLYGON
           STATUS DEFAULT
           DATA “/ms4/shp/province.shp”
           LABELITEM “CHANGWAT”
            CLASS
              NAME “ขอนแก่น”
              EXPRESSION („[PROV_CODE]‟ eq „40‟)
              COLOR 255 0 0
             LABEL
                COLOR 0 0 0
             END
           END
   END
END
   Map file Output
http://localhost/cgi-bin/mapserv.exe
                  ?map=./../htdocs/day1/ex-02.map
                         &mode=map&layers=all
   Browse Mode
http://localhost/cgi-bin/mapserv.exe
                  ?map=./../htdocs/day1/ex-01.map
                         &mode=browse&layers=all




mapserv(): Web application error. No template provided.
  Browse Mode
MAP
      NAME HELLO
      STATUS ON
      EXTENT -1 -1 1 1
      SIZE 400 400
      IMAGECOLOR 200 150 255
      IMAGETYPE png
      WEB
               TEMPLATE “ex-01.html”
                IMAGEPATH "/ms4w/apache/htdocs/tmp/"
               IMAGEURL "./../tmp/"
      END
       LAYER
         ...
      ...
END
     Browse Mode
http://localhost/cgi-bin/mapserv.exe
                  ?map=./../htdocs/day1/ex-01.map
                         &mode=browse&layers=all




Content-type: text/html msReturnPage(): Unable to access file. ex-01.html
Browse Mode
 สร้าง ex-01.html
<html>
<body>
<IMG SRC=“[img]” BORDER="0">
</body>
</html>
  Browse Mode
msSaveImageGD(): Unable to access file.
 Unable to open file
  /ms4w/apache/htdocs/tmp/HELLO1189416292664.png
  for writing


วิธีการแก้ไข
   สร้าง Folder /ms4w/apache/htdocs/tmp/
Browse mode

   ยังไม่แสดงภาพใน Page
   Rt. Click ที่ภาพ -> Properties
   ตรวจสอบ Path ของภาพ
   IMAGEURL "./../tmp/"
MapSurfer

   MapSurfer
    http://172.20.26.100/mapsurfer.zip
   Unzip to /ms4w/Apache/htdocs/
http://172.20.26.100/mapsurfer.zip
      http://localhost:8010/mapsurfer/




                                   mapper.html


layers.html


refmap.html



                       info.html
  MapSurfer
เขียน Map File

    TEMPLATEPATTERN “printable.html|loader.html”

    Web Interface

        WEB
          TEMPLATE "printable.html"
          EMPTY "/mapsurfer/info.html"
          IMAGEPATH "/ms4w/Apache/htdocs/tmp/"
          IMAGEURL "./../tmp/"
        END
    MapSurfer

   Mapsurfer/mapper.html

    Line 21 : var mapfile = '../htdocs/mapsurfer/test.map';
    Line 22 : var extent = new Array(325216 ,620850, 1213687, 2263257);
    Line 23 : var layers = new Array('province„, „district');
    // fullview action
     Line 41 : actions[4] = 'myMap.redraw(new Array(325216 ,620850,
                   1213687, 2263257)); swap(\'fullview\', \'fullview_off\');';
    // socal action
    Line 43 : actions[5] = 'myMap.redraw(new Array(412507
    ,1517078,594970,1731143)); swap(\'socal\', \'socal_off\');';
MapSurfer

Mapsurfer/layers.html
  กาหนดชั้นข้อมูล(Layers)
                                  Layer name
  <form name="layerselect">
          <input name="province"
                 type=checkbox checked
                 onClick=“loadLayers()”    >
          จังหวัด<br>
  </form>                   ชื่อ Layer
                         ที่ต้องการแสดง
                              ใน Page
MapSurfer - query map
MapSurfer - query map
            quake_header.html




            quake_query.html




            quake_footer.html
             </table>
p.Mapper
   P.Mapper     cd/software/ms4w/pmapper_ms4w-3.1-b4.zip
   Unzip to ms4w
   Edit /ms4w/apache/httpd/httpd.conf
    Alias /pmapper "/ms4w/apps/pmapper"
    <Directory "/ms4w/apps/pmapper">
     AllowOverride None
     Options Indexes FollowSymLinks Multiviews
     Order allow,deny
     Allow from all
    </Directory>
   Restart service Apache
D:\ms4w\apps\pmapper\config\default\php_config.php
Data Access and Performance

   Native
       Shapefile
       Geo Tiff image
       PostGIS
   GDAL/OGR
       Map
       etc.
MAP Object


General Output Settings
   IMAGETYPE
    [gif|png|jpeg|wbmp|gtiff|swf|userdefined]
   SIZE        [x] [y] in pixels
   WEB         see WEB object
   WEB Object

WEB
  IMAGEPATH “/ms4w/Apache/htdocs/”
  IMAGEURL "/tmp/"
  ERROR “/ms4w/Apache/htdocs/ms_error.htm”
  EMPTY “/ms4w/Apache/htdocs/ms_empty.htm”
  LOG “/ms4w/Apache/htdocs/logs/mapserver.log”
END
    LAYER Object

General Layer Settings
   NAME
     limited to 20 characters.

     This name is the link between the MapFile and web interfaces that
      refer to this name.
     They must be identical.

     The name should be unique.

   STATUS                   [on|off|default]
   TYPE           [point|line|polygon|circle|annotation|raster|query]
   MINSCALE                 Minimum scale at which this layer is drawn.
   MAXSCALE                 Maximum scale at which this layer is drawn.
   CLASSITEM                Item name in attribute table to use
                             for CLASS lookups.
    CLASS Object
   NAME
   EXPRESSION
     String comparisons

        EXPRESSION “water”
     regular expressions

        EXPRESSION /*water*/
     simple logical expressions

        =,>,<,<=,>=,=,or,and,lt,gt,ge,le,eq
        ([POPULATION] > 50000 AND '[LANGUAGE]' eq 'FRENCH')
     string functions

        EXPRESSION (length('[NAME_E]') < 8)
CLASS Object

   COLOR             [r] [g] [b]
   OUTLINECOLOR      [r] [g] [b]
   BACKGROUNDCOLOR   [r] [g] [b]
Symbols
 SYMBOL
  Name 'circle'    MAP
  Type ELLIPSE     …
  Filled TRUE         CLASS
  Points 1 1 END       STYLE
 END                     SYMBOL "circle"
                         COLOR 255 0 0
                         SIZE 30
                       END
                       …
                       …
                      END
                   …
                   END
Sample MapFiles
Shape Files

  LAYER
   NAME "Parcels"
   STATUS ON
   DATA "surveying/parcels.shp"
   TYPE POLYGON
   CLASS
     COLOR 255 255 204
     OUTLINECOLOR 0 0 0
   END
  END
Sample MapFiles
 MapInfo Files

 LAYER
         NAME "POI“
         TYPE POINT
         MINSCALE 0
         MAXSCALE 2000
         STATUS ON
         CONNECTIONTYPE OGR
         CONNECTION "..\data\poi.TAB“
           CLASS
                COLOR 255 0 0
           END
 END
Sample MapFiles
PostGIS DB

LAYER
   NAME "POI“
   TYPE POINT
   MINSCALE 0
   MAXSCALE 2000
   STATUS ON
   CONNECTIONTYPE postgis
   CONNECTION "user=wood dbname=forestry host=canada“
   DATA "the_geom from stands"
       CLASS
          COLOR 255 0 0
       END
END
Sample MapFiles
Raster Files

 LAYER
    NAME "POI“
    TYPE RASTER
    MINSCALE 0
    MAXSCALE 2000
    STATUS ON
    DATA “./../map/school.tif”
        CLASS
           COLOR 255 0 0
        END
 END
ติดตั้ง PostgreSQL&PostGIS

   CD/software/postgreSQL
   ติดตั้ง PostgreSQL
       Postgresql-8.2.3-1.zip
   ติดตั้ง PostGIS
       postgis-pg82-setup-1.2.1-1.exe
   ติดตั้งข้อมูล
       Psql –U postgres postgis
       \i D/ms4/postGIS/province.sql

				
DOCUMENT INFO
Shared By:
Categories:
Tags:
Stats:
views:195
posted:9/5/2011
language:Thai
pages:56
pptfiles pptfiles
About