Open Source Web Mapping with UMN MapServer
Daniel Morissette DM Solutions Group Inc.
MapServer History
) ed dd a tc.) e er) ,e yp t v E r e ru Se SD ap ...) L, +T d) M r A e n al, t e ) i d t D o e t d s i d t a a rN de ,G 4a Sp era r, r v) ad Fo en GR OJ cle ser rve pt v) as i G R O a r e p r r , P e e a S L S Sc gs ap , O ev't (m pt, eas M ap AM IS M cri (im rel W M ase o G S s rd c t N f e t i p l C s l P r n a de b o M re G H n u P sta c/I M U P ( r u O ( P t D ( ( ( ( .0 .4 .0 .5 jec .0 3.6 n 3.7 dA 3.3 +G n3 n3 n3 n1 pro n2 ase on on o o lib io i o o i t o i i b i i s e i s e s s s s ers er er N er er ap er eb er ers r h V V V V V o V V V S W F
1994
1995
1996
1997
1998
1999
2000
2001
2002
...
Architecture of a Typical MapServer Application Client Browser
Internet
Web Server MapServer mapserv CGI
HTTP/CGI Request (x,y click location, layers status on/off, etc.)
or
MapScript + PHP or
HTTP Server
MapScript + Perl
(Apache, IIS, etc.)
MapFile
or ...
HTML Template (or App. Scripts)
Map Data External Data
MapServer Key Features v
Server-side
v
Focus on web mapping, not on GIS analysis
v
High performance and reliability
v
Multiplatform (Windows 95 to XP, Linux, *BSD, Solaris, MacOSX)
v
Runs with Apache, Microsoft IIS/PWS, Netscape Enterprise, NCSA Httpd
MapServer Key Features v
Scriptable via MapScript
v
OGC WMS Client and Server
v
On the fly reprojection (vectors and rasters)
v
Direct support for multiple file formats
Input Data Formats Rasters: v
TIFF, EPPL, PNG, JPEG, GIF
v
GDAL (30+ formats)
Vectors: v
Shapefiles
v
OGR (TAB, MIF, DGN, Arc/Info coverages, GML, Tiger, ...)
v
PostGIS, ESRI SDE, Oracle Spatial
Others: v
WMS server connection (and WFS in 3.7)
Output Map Formats Up to version 3.6: v
PNG, JPEG, GIF, WBMP
Version 3.7 (under development): v
Vector output: Flash SWF, PDF, GML (WFS)
v
24 bits image support
v
Output to any GDAL format
User Interface Widgets
v
Map Legend
v
Reference Map
v
Scalebar
v
Navigation controls
v
Query support
v
ROSA applet
Simple CGI – 'mapserv'
v
No coding required, only configuration
v
Predefined functions
v
Controlled via CGI parameters
.map file
.html template
'mapserv' CGI
vector/raster data
MapScript
v
Allows maximum flexibility
v
Full access to all MapServer internal structures
v
Take advantage of existing scripting language modules
v
Available for: • PHP, Perl, Python, Tcl/Tk • Java (experimental)
v
Used by MapLab, Neapoljs, etc
OGC Web Services (OWS)
v
Interoperability between multiple vendors
v
Web Map Service (WMS) • Publish Capabilities (XML) • Serve maps (PNG, JPEG, GIF) for selected area, layers, SRS, etc.
v
Web Feature Service (WFS) • Publish Capabilities (XML) • Serve vector data in GML format • Transaction support (data update)
MapLab
v
MapEdit – Create and Edit .map files
v
MapBrowser – Browse WMS servers and add WMS layers to map
v
GmapFactory – Generate a standalone mapping application
MapLab Plans – CWC MapBrowser GMapFactory
Map Context (XML) UI Context (XML)
My Website mymap.html (HREF to CWC Service with ref. to mymap.xml and myui.xml)
Map Context (mymap.xml) UI Context (myui.xml)
CWC Service WMS
WMS