International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume XXXIX-B4, 2012
XXII ISPRS Congress, 25 August — 01 September 2012, Melbourne, Australia
transactional WFS (Web Feature Service) and GML
(Geography Markup Language). MapServer is not a stand-alone
system; it basically needs to be run on web server such as
Apache WebServer. MapServer consists of three different
components
" The CGI program
=" The template files
= The Mapfile
CGI program provide standard protocol to interfacing browser
and web server, it reads and processes both the map file settings
and the template file, user defined variables and returns the
processed outputs as maps, variables or values and query results
shown in the template files. Every CGI output is a temporary
image or value updated at each CGI work session.
The Mapfile is the heart of MapServer. It defines the
relationships between objects, points MapServer to where data
are located and defines how things are to be drawn. This is a
built-in object oriented scripting language in MapServer, which
defines how to create and use the maps and their layers. OGR
connection (by OGR library) is used to connect the database in
MySQL and web GIS.
Template files are used to define the look of a MapServer CGI
application interface and to provide the results of the query.
They guide the presentation of results, either as a text or as map,
to the user. Common HTML page tags are provided by the
MapServer and can thus be viewed in web browser.
OpenLayers is a free JavaScript which makes it easy to put a
dynamic map in any web page. Capable to display map tiles and
markers loaded from different source/servers. OpenLayers has
been developed to further the use of geographic information of
all kinds.
5. MYSQL & DATA PROCESSING
Database in MySQL is designed to support geo-referenced data
from HF Radar in a tabular format. Database is segregated into
different tables based on station and year indexed by
observation time for faster response. The basic naming
convention for tables are t TOTL [station] [year], eg.
t TOTL Anco 2010; and the table description is given in the
following table.
Field Type Null | Key | Default
station id varchar(10) YES | MUL | NULL
observation time
i datetime YES | MUL | NULL
longitude decimal(12,7) | YES NULL
latitude decimal(12,7) | YES NULL
speed decimal(8,3) YES NULL
direction decimal(8,3) YES NULL
20
Along with this main table maintains all the raw data received
from HF Radar with following description:
Field Type Null | Key Default
station id varchar(10) | YES | MUL | NULL
observation time | datetime YES | MUL | NULL
datafile longblob YES NULL
The data extraction tool developed using Java, organizes and
stores the location and currents information into database from
the data received through scheduled FTP at hourly intervals
Similar procedure has been adopted for the data received from
wave rider buoys and tide gauges.
MySQL interaction with MapServer
Mapfile LAYER object of MapServer plays the important role
to interact with MySQL database. Layer is a combination of
data and styling, in the form of attributes and geometry using
CLASS and STYLE derivatives. To read data from MySQL
database the MapServer should be compiled using OGR
support. The following parameters have to be specified with
CONNECTIONTYPE OGR derivatives to read vector data from
database.
e the connection parameters, viz name of the database,
user name and password.
e the name of table and its geometry column
e the filter with the syntax user for a SQL query
WHERE clause.
The other important derivatives used in layers are CLASS,
STYLE, SIZE, COLOR, ANGLE and EXPRESSION
e CLASS is used to classify the vector data based on
speed of currents, where EXPRESSION specifies to
which CLASS the feature belongs to.
e STYLE with SIZE to map the data with specified size
depends on speed, COLOR to map data with specified
color and ANGLE to map symbol “Arrow” in the
direction of currents.
e ANGLE rotates the symbol in counter clockwise.
Thus angle attribute is adjusted to specify angles in
compass direction.
OpenLayers interaction with MapServer
OpenLayers.Layer.MapServer instances are used to display data
from MapServer CGI instance. Whereas MapServer also
exposes its CGI functionalities in WMS mode. Thus
OpenLayers.Layer. WMS instance is preferred over
OpenLayers.Layer.MapServer, since MapServer layer can lead
maps to not work properly due to mis-configurations and
projection issues [3].
Fi
da
Fi
ef