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