Membuat Mapscript

Mapscript merupakan salah satu extensi PHP yang digunakan untuk menggenerate gambar peta dari mapserver.Pertama kita buat mapscrip sendiri dengan nama demp.map dengan isi

#
# Map Demo
#

MAP
  NAME ITASCA
  STATUS ON
  SIZE 600 600
  EXTENT 388107.634400379 5203120.88405952 500896.339019834 5310243.30613897
  UNITS METERS
  SHAPEPATH "data"
  IMAGECOLOR 255 255 255

  IMAGETYPE PNG

  WEB
    TEMPLATE "map.html"
    IMAGEPATH "/home/chroot/bandungq/home/bandun.gq/public_html/tmp/"
    IMAGEURL "/tmp/"
  END  

  LAYER
    NAME DEMOLAYER
    TYPE POLYGON
    STATUS DEFAULT
    DATA ctybdpy2

    CLASS
       STYLE
         OUTLINECOLOR 128 128 128
         COLOR 225 225 185
       END
    END

    METADATA
      WMS_TITLE "DEMO TAKEN FROM ITASCA"
      WMS_ABSTRACT "DEMO TAKEN FROM ITASCA"
      WMS_SRS "EPSG:26915"
    END
  END

END # Map File

Yang perlu diperhatikan pertama kali adalah di dalam blok WEB

[...]
  WEB
    TEMPLATE "map.html"
    IMAGEPATH "/home/chroot/bandungq/home/bandun.gq/public_html/tmp/"
    IMAGEURL "/tmp/"
  END
[...]

TEMPLATE : merupakan file html berisi mapserver template yang akan dikeluarkan menjadi tampilan dari file mapscript yang kita jalankan apabila salah nama atau file tersebut tidak ada akan muncul error IMAGEPATH : merupakan folder tempat gambar statis hasil pembacaan mapscript,pastikan folder ini ada dan dapat hak akses untuk menulisnya (chmod 777 atau pastikan tidak read-only), jika tidak ada folder dan hak akses untuk menulis di folder tersebut maka akan muncul error seperti ini. yang artinya server tidak dapat menuliskan hasil output pembacaan mapscript ke folder tersebut dengan nama file tersebut.

Mapserver Template

Buat file map.html yang akan kita isi Mapserver template, apabila masih kosong akan berisi error

Kita akan mencoba mengisi map.html dengan

<!-- MapServer Template -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/transitional.dtd">
<html>
  <head>
    <title>MapServer Template Sample</title>
  </head>

  <body>
    MapServer Template Sample<br>

    <!-- The central form the application is based on. -->
    <form method="GET" action="[program]">

    <!-- CGI MapServer applications are server stateless in principle,
         all information must be "stored" in the client. This includes
         some basic settings as below.
         The example is based on the pan and zoom test suite:
         http://maps.dnr.state.mn.us/mapserver_demos/tests36/           -->
      <input type="hidden" name="map" value="[map]">
      <input type="hidden" name="imgext" value="[mapext]">
      <input type="hidden" name="imgxy" value="149.5 199.5">
      <input type="hidden" name="program" value="[program]">
      <input type="hidden" name="htmlroot" value="[htmlroot]">
      <input type="hidden" name="map_web" value="[map_web]">

      <!-- A table for minimal page formatting. -->
      <table border=0 cellpadding=5>
      <tr>
        <!-- First column: Map and scale bar -->
        <td align=center>
          <!-- The map -->
          <input type="image" name="img" src="[img]"
                 style="border:0;width:300;height:400">
          <br>
          <!-- The scale bar-->
          <img src="[scalebar]" alt="Scale Bar">
        </td>

        <!-- Second column: Zoom direction, Legend and Reference -->
        <td valign=top>
          <!-- Zoom direction -->
          <b>Map Controls</b><br>
          Set your zoom option:<br>
          <select name="zoom" size="1">
            <option value="2" [zoom_2_select]> Zoom in 2 times
            <option value="1"  [zoom_1_select]> Recenter Map
            <option value="-2" [zoom_-2_select]> Zoom out 2 times
          </select>
          <br>

          <!-- Legend -->
          <b>Legend</b><br>
          <img src="[legend]" alt="Legend"><br><br><br><br>

          <!-- Reference map -->
         <input type="image" name="ref" src="[ref]"
                style="border:0;width:150;height:150">
        </td>
      </tr>
      </table>

    </form>

  </body>
</html>

Maka akan tampil map dari mapserver template yang akan kita jalankan.

results matching ""

    No results matching ""