comparison doc/config-manual/generating_maps.tex @ 1138:2c00570ab3bd

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

http://dive4elements.wald.intevation.org