Mercurial > dive4elements > gnv-client
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} |