comparison 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
comparison
equal deleted inserted replaced
945:491b8d6cd291 946:dd6102eae823
1 \subsection{Generating Maps-- Background Information and Configuration} 1 \subsection{Generating Maps-- Background Information and Configuration}
2 2
3 %% TODO: principle of generating maps 3 The artifact-server is able to process geographic data and provide them
4 for a WMS service rendering maps via a HTTP-based interface. The
5 following process chains are covered. For generating horizontal-cross sections,
6 the following steps have to be processed:
4 7
5 %% This section describes the possibilities to configure the 8 \begin{enumerate}
6 %% artifact-server. The following properties do affect mostly technical 9 %% FIXME: When do we clip? Sequence will influence the interpolation
7 %% funtions of the server. 10 \item Selecting the data from datawarehouse
8 %% 11 \item Clipping the datasets along the passed polygon
9 %% This section describes the possibilities in a kind of a reference 12 \item Calculating interpolation in the plane
10 %% manual. Information for the process of installing and integration can be 13 \item Generating contour lines
11 %% found in the Administration Manual of the GNV-System (FIXME reference). 14 \item Matching processed parameter data to the corresponding style
12 %% The following elements are covered here: 15 \item Rendering requested map
16 \end{enumerate}
17
18 For generating maps from object-based datamodels like CONTIS, NAUTHIS
19 and Marine Features, just the following steps are needed:
20
21 \begin{enumerate}
22 \item Selecting the data from datawarehouse
23 \item Clipping the datasets along the passed polygon
24 \item Matching processed object data to the corresponding style
25 \item Rendering requested map
26 \end{enumerate}
27
28 %% FIXME: box it
29 In order to understand the configuration facilities for generating maps
30 in more detail, the internal
31 interaction of the artifact-server and the mapserver is described below
32 for the use case when a user parameterizes a horizontal-cross-section
33 profile and visualizes it as a map (without regarding the caching
34 facilities)
35
36 \begin{enumerate}
37 \item After finishing the parameterization, the artifact-server
38 requests the data from the database-backend and processes the data
39 (see above).
40
41 \item By requesting a map in the GNV-WebClient, the artifact-server writes a ESRI
42 shapefile with (clipped) geometries, attribute data, projection
43 information and a special file storing meta information ({\tt
44 meta.xml}) for this artifact in the a corresponding directory in the
45 {\tt shapefile-directory}.
46
47 \item After that the so called {\tt map-generator}
48 is triggered. The map-generator searches the {\tt shape-directory}
49 and its subfolders with all existing {\tt meta.xml} files and
50 generates a central configuration file for the mapserver at {\tt
51 map-generator/mapfile@path}. Each shapefile will be published as a WMS
52 layer. \\
53 The generated mapfile is constructed out of a base template from {\tt
54 map-generator/templates/maptemplate} and a parameter-/layer-specific
55 part generated from {\tt map-generator/templates/path}. The
56 selection of the correct file-based templates is extracted out of
57 the {\tt meta.xml}-file.
58
59 \item The matching between the generated geograpic data and the corresponding
60 style files is been done by the artifact-server, constructing
61 filenames of maptemplates out of parameter-information. For
62 horizontal-cross-sections the schema looks like this {\tt
63 horizontalcrosssection\_\$NAME-OF-PARAMETER}; for layer-orientated
64 FIS like e.g. NAUTHIS and CONTIS like this {\tt
65 layer\_\$ID\_MAPSERVICE\_\$ID\_LAYER} e.g.
66 {\tt layer\_BSH\_IMS\_CONTIS\_Resources\_2}.
67 %% FIXME@TE: Marine Feature? Name of WMS?
68 In order to set at least title, geometry-type and path to the
69 corresponding shapefile dynamically a templating language, called
70 {\tt velocity} is used.
71
72 \item The corresponding subfolder of an artifact in {\tt
73 shape-directory} with their shapefiles
74 and {\tt meta.xml}-document will be deleted after the time of
75 expiry. By triggering the {\tt map-generator} the next time, the
76 geographic data and the central configuration of the mapserver will
77 be updated.
78
79 \end{enumerate}
80
81 The coupling of the artifact-server and mapserver is free of
82 maintenance. The artifact-server as master cares about deleting and
83 updating the configuration of the mapserver.
13 84
14 \begin{lstlisting} 85 \begin{lstlisting}
15 artifact-database 86 artifact-database
16 |-- gnv # charts, palettes, interpolation parameters 87 |-- gnv # charts, palettes, interpolation parameters
17 | |-- map-generator 88 | |-- map-generator
19 | `-- horizontal-cross-section 90 | `-- horizontal-cross-section
20 |-- mapserver 91 |-- mapserver
21 `-- velocity 92 `-- velocity
22 \end{lstlisting} 93 \end{lstlisting}
23 94
24 \paragraph*{} 95 \paragraph*{mapserver}
25 {\em Function}: 96 {\em Function}: URL of the mapserver where request can be send to. The
97 URL will be used for displaying the location e.g. in the GNV-WebClient and in
98 the {\tt meta.xml}-file.
26 99
27 \begin{itemize} 100 \begin{itemize}
28 \item {\tt }: 101 \item {\tt server}: URL of the mapserver where request can send to.
29 \end{itemize} 102 \end{itemize}
30 103
31 \paragraph*{} 104 \paragraph*{velocity}
32 {\em Function}: 105 {\em Function}: Templating language used in the maptemplates at {\tt
106 map-generator/templates/path} for accessing the parameters from
107 dynamically generated {\tt meta.xml}-configuration of artifacts
33 108
34 \begin{itemize} 109 \begin{itemize}
35 \item {\tt }: 110 \item {\tt logfile}: Setting the path to write log files.
111 Preconfigured to {\tt /var/log/artifacts/velocity.log}. {\bf Just
112 absolute pathes are allowed here!}
36 \end{itemize} 113 \end{itemize}
37 114
38 \paragraph*{} 115 \paragraph*{map-generator}
39 {\em Function}: 116 {\em Function}: Mechanism for generating configuration for the {\tt
117 mapserver} dynamically. For background information about the interaction
118 between artifact-server and mapserver, see above.
40 119
41 \begin{itemize} 120 \begin{itemize}
42 \item {\tt }: 121 \item {\tt mapfile}: path to the mapfile accessed by the WMS wrapper
122 {\tt gnv-wms}
123 \item {\tt templates}: \\ {\tt path} to the directory where
124 parameter-specific mapconfiguartions (as *.vm) are stored.
125 \\ {\tt
126 maptemplate} containing the WMS instance-specific configurations and
127 metadata, like overall boundingbox, spatial reference systems and
128 contact data.
129 \end{itemize}
130
131 \paragraph*{shapefile-directory}
132 {\em Function}: Pointer where shapefiles for map-generation are stored
133
134 \begin{itemize}
135 \item {\tt path}: path to the directory where shapefiles are stored
136 and accessed by {\tt mapserver}
43 \end{itemize} 137 \end{itemize}
44 138
45 \paragraph*{} 139 \paragraph*{horizontal-cross-section}
46 {\em Function}: 140 {\em Function}: Parameterization for the interpolation algorithm for
141 horizontal-cross-sections (maps).
142
47 143
48 \begin{itemize} 144 \begin{itemize}
49 \item {\tt }: 145 \item {\tt sample}: The attribute {\tt number} sets the number of
146 steps for the interpolation grid.
147 \item {\tt ground}: {\tt interpolation} method for calculating the
148 interpolation from the last measured value in meshes against the seafloor.
149 Available methods are {\tt nearest-neighbor | bilinear | bicubic}.
150 %% FIXME: Could not find nn and bicubic in the code ...
50 \end{itemize} 151 \end{itemize}
51
52 \paragraph*{}
53 {\em Function}:
54
55 \begin{itemize}
56 \item {\tt }:
57 \end{itemize}

http://dive4elements.wald.intevation.org