diff doc/config-manual/generating_maps.tex @ 946:dd6102eae823

Added content for generating maps doc/trunk@1090 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Hans Plum <hans.plum@intevation.de>
date Mon, 10 May 2010 21:47:24 +0000
parents 2d84fc30ab58
children 9a28846dfb9c
line wrap: on
line diff
--- a/doc/config-manual/generating_maps.tex	Mon May 10 19:41:15 2010 +0000
+++ b/doc/config-manual/generating_maps.tex	Mon May 10 21:47:24 2010 +0000
@@ -1,15 +1,86 @@
 \subsection{Generating Maps-- Background Information and Configuration}
 
-%% TODO: principle of generating maps
+The artifact-server is able to process geographic data and provide them
+for a WMS service rendering maps via a HTTP-based interface. The
+following process chains are covered. For generating horizontal-cross sections, 
+the following steps have to be processed:
 
-%% This section describes the possibilities to configure the
-%% artifact-server. The following properties do affect mostly technical
-%% funtions of the server.
-%% 
-%% This section describes the possibilities in a kind of a reference
-%% manual. Information for the process of installing and integration can be
-%% found in the Administration Manual of the GNV-System (FIXME reference).
-%% The following elements are covered here:
+\begin{enumerate}
+%% FIXME: When do we clip? Sequence will influence the interpolation
+    \item Selecting the data from datawarehouse
+    \item Clipping the datasets along the passed polygon
+    \item Calculating interpolation in the plane
+    \item Generating contour lines
+    \item Matching processed parameter data to the corresponding style
+    \item Rendering requested map
+\end{enumerate}
+
+For generating maps from object-based datamodels like CONTIS, NAUTHIS
+and Marine Features, just the following steps are needed:
+
+\begin{enumerate}
+    \item Selecting the data from datawarehouse
+    \item Clipping the datasets along the passed polygon
+    \item Matching processed object data to the corresponding style
+    \item Rendering requested map
+\end{enumerate}
+
+%% FIXME: box it
+In order to understand the configuration facilities for generating maps
+in more detail, the internal
+interaction of the artifact-server and the mapserver is described below
+for the use case when a user parameterizes a horizontal-cross-section
+profile and visualizes it as a map (without regarding the caching
+facilities)
+
+\begin{enumerate}
+    \item After finishing the parameterization, the artifact-server
+    requests the data from the database-backend and processes the data
+    (see above).    
+    
+    \item By requesting a map in the GNV-WebClient, the artifact-server writes a ESRI
+    shapefile with (clipped) geometries, attribute data, projection
+    information and a special file storing meta information ({\tt
+    meta.xml}) for this artifact in the a corresponding directory in the
+    {\tt shapefile-directory}.
+    
+    \item After that the so called {\tt map-generator}
+    is triggered. The map-generator searches the {\tt shape-directory}
+    and its subfolders with all existing {\tt meta.xml} files and
+    generates a central configuration file for the mapserver at {\tt
+    map-generator/mapfile@path}. Each shapefile will be published as a WMS
+    layer. \\
+    The generated mapfile is constructed out of a base template from {\tt
+    map-generator/templates/maptemplate} and a parameter-/layer-specific
+    part generated from {\tt map-generator/templates/path}. The
+    selection of the correct file-based templates is extracted out of
+    the {\tt meta.xml}-file.
+    
+    \item The matching between the generated geograpic data and the corresponding
+    style files is been done by the artifact-server, constructing
+    filenames of maptemplates out of parameter-information. For
+    horizontal-cross-sections the schema looks like this {\tt
+    horizontalcrosssection\_\$NAME-OF-PARAMETER}; for layer-orientated
+    FIS like e.g. NAUTHIS and CONTIS like this {\tt
+    layer\_\$ID\_MAPSERVICE\_\$ID\_LAYER}  e.g.
+    {\tt layer\_BSH\_IMS\_CONTIS\_Resources\_2}.
+    %% FIXME@TE: Marine Feature? Name of WMS?
+    In order to set at least title, geometry-type and path to the
+    corresponding shapefile dynamically a templating language, called
+    {\tt velocity} is used.
+
+    \item The corresponding subfolder of an artifact in {\tt
+    shape-directory} with their shapefiles
+    and {\tt meta.xml}-document will be deleted after the time of
+    expiry. By triggering the {\tt map-generator} the next time, the
+    geographic data and the central configuration of the mapserver will
+    be updated.
+
+\end{enumerate}
+
+The coupling of the artifact-server and mapserver is free of
+maintenance. The artifact-server as master cares about deleting and
+updating the configuration of the mapserver.
 
 \begin{lstlisting}
 artifact-database
@@ -21,37 +92,60 @@
 `-- velocity
 \end{lstlisting}
 
-\paragraph*{}
-{\em Function}: 
+\paragraph*{mapserver}
+{\em Function}: URL of the mapserver where request can be send to. The
+URL will be used for displaying the location e.g. in the GNV-WebClient and in
+the {\tt meta.xml}-file.
 
 \begin{itemize}
-    \item {\tt }:
-\end{itemize}
-
-\paragraph*{}
-{\em Function}: 
-
-\begin{itemize}
-    \item {\tt }:
+    \item {\tt server}: URL of the mapserver where request can send to.
 \end{itemize}
 
-\paragraph*{}
-{\em Function}: 
+\paragraph*{velocity}
+{\em Function}: Templating language used in the maptemplates at {\tt
+map-generator/templates/path} for accessing the parameters from
+dynamically generated {\tt meta.xml}-configuration of artifacts
 
 \begin{itemize}
-    \item {\tt }:
+    \item {\tt logfile}: Setting the path to write log files.
+    Preconfigured to {\tt /var/log/artifacts/velocity.log}. {\bf Just
+    absolute pathes are allowed here!}
 \end{itemize}
 
-\paragraph*{}
-{\em Function}: 
+\paragraph*{map-generator}
+{\em Function}: Mechanism for generating configuration for the {\tt
+mapserver} dynamically. For background information about the interaction
+between artifact-server and mapserver, see above.
 
 \begin{itemize}
-    \item {\tt }:
+    \item {\tt mapfile}: path to the mapfile accessed by the WMS wrapper
+    {\tt gnv-wms}
+    \item {\tt templates}: \\ {\tt path} to the directory where
+    parameter-specific mapconfiguartions (as *.vm) are stored. 
+    \\ {\tt
+    maptemplate} containing the WMS instance-specific configurations and
+    metadata, like overall boundingbox, spatial reference systems and
+    contact data.
+    \end{itemize}
+
+\paragraph*{shapefile-directory}
+{\em Function}: Pointer where shapefiles for map-generation are stored 
+
+\begin{itemize}
+    \item {\tt path}: path to the directory where shapefiles are stored
+    and accessed by {\tt mapserver}
 \end{itemize}
 
-\paragraph*{}
-{\em Function}: 
+\paragraph*{horizontal-cross-section}
+{\em Function}: Parameterization for the interpolation algorithm for
+horizontal-cross-sections (maps).
+  
 
 \begin{itemize}
-    \item {\tt }:
+    \item {\tt sample}: The attribute {\tt number} sets the number of
+    steps for the interpolation grid.
+    \item {\tt ground}: {\tt interpolation} method for calculating the
+    interpolation from the last measured value in meshes against the seafloor.
+    Available methods are {\tt nearest-neighbor | bilinear | bicubic}.
+%%    FIXME: Could not find nn and bicubic in the code ...
 \end{itemize}

http://dive4elements.wald.intevation.org