\section{Introduction}

%BEGINHTML <<this keyword marks parts of text to extract for HTML page>>
Mapyrus is software for
creating plots of points, lines, polygons and labels 
to PostScript (high resolution, up to A0 paper size),
Portable Document Format (PDF),
Scalable Vector Graphics (SVG) format
and web image output formats.

Mapyrus is open source software and is implemented entirely in Java
enabling it to run on a wide range of operating systems.

The software combines the following four features.

\begin{enumerate}
\item

A Logo or turtle graphics program.

An imaginary pen is moved around a page,
creating shapes that are drawn into an image file.
Reusable routines are built up using a BASIC-like language.
Branching and looping constructs enable complex shapes, symbols, patterns
and graphs to be be defined.

%ENDHTML
See Figure \ref{turtle}.

\begin{figure}[htb]
%BEGINHTML
%HTML <table><tr><td>
\includegraphics{turtle1.eps}
%HTML </td><td>
\includegraphics{turtle2.eps}
%HTML </td><td>
\includegraphics{turtle3.eps}
%HTML </td><td>
\includegraphics{turtle4.eps}
%HTML </td><td>
\includegraphics{turtle5.eps}
%HTML </td><td>
\includegraphics{turtle6.eps}
%HTML </td><td>
\includegraphics{turtle7.eps}
%HTML </tr>
%HTML <tr>
%HTML <td align="center"><a href="turtle1.svg">SVG</a>
%HTML <a href="turtle1.pdf">PDF</a></td>
%HTML <td align="center"><a href="turtle2.svg">SVG</a>
%HTML <a href="turtle2.pdf">PDF</a></td>
%HTML <td align="center"><a href="turtle3.svg">SVG</a>
%HTML <a href="turtle3.pdf">PDF</a></td>
%HTML <td align="center"><a href="turtle4.svg">SVG</a>
%HTML <a href="turtle4.pdf">PDF</a></td>
%HTML <td align="center"><a href="turtle5.svg">SVG</a>
%HTML <a href="turtle5.pdf">PDF</a></td>
%HTML <td align="center"><a href="turtle6.svg">SVG</a>
%HTML <a href="turtle6.pdf">PDF</a></td>
%HTML <td align="center"><a href="turtle7.svg">SVG</a>
%HTML <a href="turtle7.pdf">PDF</a></td>
%HTML </table>
%ENDHTML
\caption{Shapes, Symbols And Patterns}
\label{turtle}
\end{figure}

%BEGINHTML
\item

Reading and displaying of geographic information
system (GIS) datasets,
text files, or tables held in a relational database
(including spatially extended databases such as Oracle Spatial,
PostGIS and MySQL).

Drawing routines are applied to geographic data to produce annotated and
symbolized maps and graphs.  Attributes of the geographic data control
the color, size, annotation and other characteristics of the
appearance of the geographic data.
Scalebars, legends, coordinate grids and north arrows are also available.

%ENDHTML
See Figures \ref{mapview1}, \ref{mapview3}, \ref{mapview5}, \ref{mapview2}
and \ref{mapview4}.

\begin{figure}
%BEGINHTML
%HTML <table><tr>
%HTML <td>
\includegraphics{mapview1.eps}
%HTML </td>
%ENDHTML
\caption[Average Monthly Temperatures]{Average Monthly Temperatures of Australian Cities (degrees Celsius)}
\label{mapview1}
\end{figure}

\begin{figure}
%BEGINHTML
%HTML <td>
\includegraphics{mapview3.eps}
%HTML </td>
%ENDHTML
\caption{Strip Map of Railways Lines in East Kent}
\label{mapview3}
\end{figure}

\begin{figure}
%BEGINHTML
%HTML <td>
\includegraphics{mapview5.eps}
%HTML </td>
%ENDHTML
\caption{Sinusoidal Projection}
\label{mapview5}
\end{figure}

%BEGINHTML
%HTML </tr>
%HTML <tr>
%HTML <td align="center"><a href="mapview1.svg">SVG</a>
%HTML <a href="mapview1.pdf">PDF</a></td>
%HTML <td align="center"><a href="mapview3.svg">SVG</a>
%HTML <a href="mapview3.pdf">PDF</a></td>
%HTML <td align="center"><a href="mapview5.svg">SVG</a>
%HTML <a href="mapview5.pdf">PDF</a></td>
%HTML </tr>
%HTML </table>
%ENDHTML

\begin{figure}
%BEGINHTML

%HTML <table>
%HTML <tr>
%HTML <td>
\includegraphics{mapview2.eps}
\includegraphics{mapview2legend.eps}
%HTML </td>
%ENDHTML
\vspace{1pt}
\includegraphics{mapview2scalebar.eps}
\includegraphics{mapview2north.eps}
\caption{Vegetation Classes}
\label{mapview2}
\end{figure}

\begin{figure}
%BEGINHTML
%HTML <td>
\includegraphics{mapview4.eps}
%HTML </td>
%HTML <tr>
%HTML <td align="center"><a href="mapview2.svg">SVG</a>
%HTML <a href="mapview2.pdf">PDF</a></td>
%HTML <td align="center"><a href="mapview4.svg">SVG</a>
%HTML <a href="mapview4.pdf">PDF</a></td>
%HTML </tr>
%HTML </table>
%ENDHTML
\caption{Inventory Levels at Warehouses}
\label{mapview4}
\end{figure}

%BEGINHTML

\item
Integration with the freely-available
JTS Topology Suite
\footnote{Available from http://www.tsusiatsoftware.net/jts/main.html}.
This library provides geometric algorithms
such as buffering, point-in-polygon test and polygon intersection.

\item
Integration with the freely-available
Java port of the PROJ.4 projection library.
\footnote{Available from http://www.jhlabs.com/java/maps/proj}

\item
Flexibility.  Running in one of three ways.

\begin{enumerate}
\item
As a stand-alone program for integration into
scripts and batch tasks (suitable for generating a one-off
map or a series of similar maps from a template
showing different areas, or using different criteria for each map).
A simple graphical user interface is also provided.

\item
As a self-contained web server providing map and
graph images to a web application such as OpenLayers
\footnote{Available from http://www.openlayers.org}
via HTTP requests.

\item
As a Java Servlet in Apache Tomcat,
generating map and graph images in response to HTTP requests.

\end{enumerate}

\end{enumerate}

%ENDHTML
