annotate 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
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 %% FIXME: box it
dd6102eae823 Added content for generating maps
Hans Plum <hans.plum@intevation.de>
parents: 938
diff changeset
29 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
30 in more detail, the internal
dd6102eae823 Added content for generating maps
Hans Plum <hans.plum@intevation.de>
parents: 938
diff changeset
31 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
32 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
33 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
34 facilities)
dd6102eae823 Added content for generating maps
Hans Plum <hans.plum@intevation.de>
parents: 938
diff changeset
35
dd6102eae823 Added content for generating maps
Hans Plum <hans.plum@intevation.de>
parents: 938
diff changeset
36 \begin{enumerate}
dd6102eae823 Added content for generating maps
Hans Plum <hans.plum@intevation.de>
parents: 938
diff changeset
37 \item After finishing the parameterization, the artifact-server
dd6102eae823 Added content for generating maps
Hans Plum <hans.plum@intevation.de>
parents: 938
diff changeset
38 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
39 (see above).
dd6102eae823 Added content for generating maps
Hans Plum <hans.plum@intevation.de>
parents: 938
diff changeset
40
dd6102eae823 Added content for generating maps
Hans Plum <hans.plum@intevation.de>
parents: 938
diff changeset
41 \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
42 shapefile with (clipped) geometries, attribute data, projection
dd6102eae823 Added content for generating maps
Hans Plum <hans.plum@intevation.de>
parents: 938
diff changeset
43 information and a special file storing meta information ({\tt
dd6102eae823 Added content for generating maps
Hans Plum <hans.plum@intevation.de>
parents: 938
diff changeset
44 meta.xml}) for this artifact in the a corresponding directory in the
dd6102eae823 Added content for generating maps
Hans Plum <hans.plum@intevation.de>
parents: 938
diff changeset
45 {\tt shapefile-directory}.
dd6102eae823 Added content for generating maps
Hans Plum <hans.plum@intevation.de>
parents: 938
diff changeset
46
dd6102eae823 Added content for generating maps
Hans Plum <hans.plum@intevation.de>
parents: 938
diff changeset
47 \item After that the so called {\tt map-generator}
dd6102eae823 Added content for generating maps
Hans Plum <hans.plum@intevation.de>
parents: 938
diff changeset
48 is triggered. The map-generator searches the {\tt shape-directory}
dd6102eae823 Added content for generating maps
Hans Plum <hans.plum@intevation.de>
parents: 938
diff changeset
49 and its subfolders with all existing {\tt meta.xml} files and
dd6102eae823 Added content for generating maps
Hans Plum <hans.plum@intevation.de>
parents: 938
diff changeset
50 generates a central configuration file for the mapserver at {\tt
dd6102eae823 Added content for generating maps
Hans Plum <hans.plum@intevation.de>
parents: 938
diff changeset
51 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
52 layer. \\
dd6102eae823 Added content for generating maps
Hans Plum <hans.plum@intevation.de>
parents: 938
diff changeset
53 The generated mapfile is constructed out of a base template from {\tt
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
dd6102eae823 Added content for generating maps
Hans Plum <hans.plum@intevation.de>
parents: 938
diff changeset
55 part generated from {\tt map-generator/templates/path}. The
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
dd6102eae823 Added content for generating maps
Hans Plum <hans.plum@intevation.de>
parents: 938
diff changeset
57 the {\tt meta.xml}-file.
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
dd6102eae823 Added content for generating maps
Hans Plum <hans.plum@intevation.de>
parents: 938
diff changeset
62 horizontal-cross-sections the schema looks like this {\tt
dd6102eae823 Added content for generating maps
Hans Plum <hans.plum@intevation.de>
parents: 938
diff changeset
63 horizontalcrosssection\_\$NAME-OF-PARAMETER}; for layer-orientated
dd6102eae823 Added content for generating maps
Hans Plum <hans.plum@intevation.de>
parents: 938
diff changeset
64 FIS like e.g. NAUTHIS and CONTIS like this {\tt
dd6102eae823 Added content for generating maps
Hans Plum <hans.plum@intevation.de>
parents: 938
diff changeset
65 layer\_\$ID\_MAPSERVICE\_\$ID\_LAYER} e.g.
dd6102eae823 Added content for generating maps
Hans Plum <hans.plum@intevation.de>
parents: 938
diff changeset
66 {\tt layer\_BSH\_IMS\_CONTIS\_Resources\_2}.
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
dd6102eae823 Added content for generating maps
Hans Plum <hans.plum@intevation.de>
parents: 938
diff changeset
70 {\tt velocity} is used.
dd6102eae823 Added content for generating maps
Hans Plum <hans.plum@intevation.de>
parents: 938
diff changeset
71
dd6102eae823 Added content for generating maps
Hans Plum <hans.plum@intevation.de>
parents: 938
diff changeset
72 \item The corresponding subfolder of an artifact in {\tt
dd6102eae823 Added content for generating maps
Hans Plum <hans.plum@intevation.de>
parents: 938
diff changeset
73 shape-directory} with their shapefiles
dd6102eae823 Added content for generating maps
Hans Plum <hans.plum@intevation.de>
parents: 938
diff changeset
74 and {\tt meta.xml}-document will be deleted after the time of
dd6102eae823 Added content for generating maps
Hans Plum <hans.plum@intevation.de>
parents: 938
diff changeset
75 expiry. By triggering the {\tt map-generator} the next time, the
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}
dd6102eae823 Added content for generating maps
Hans Plum <hans.plum@intevation.de>
parents: 938
diff changeset
105 {\em Function}: Templating language used in the maptemplates at {\tt
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
dd6102eae823 Added content for generating maps
Hans Plum <hans.plum@intevation.de>
parents: 938
diff changeset
107 dynamically generated {\tt 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.
dd6102eae823 Added content for generating maps
Hans Plum <hans.plum@intevation.de>
parents: 938
diff changeset
111 Preconfigured to {\tt /var/log/artifacts/velocity.log}. {\bf Just
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}.
dd6102eae823 Added content for generating maps
Hans Plum <hans.plum@intevation.de>
parents: 938
diff changeset
150 %% FIXME: Could not find nn and bicubic in the code ...
938
2d84fc30ab58 Added more chapters in config-manual
Hans Plum <hans.plum@intevation.de>
parents:
diff changeset
151 \end{itemize}

http://dive4elements.wald.intevation.org