(♦) PyWMS
not implemented yet ...
All configurations are held in a single text file. Its default location
is
. But it is also possible to
store this file on any other location by defining the environment variable
.
example A: defining config location in the configuration file of
your apache webserver
SetEnv "</path/to/your/configfile/name.cfg>"
example B: using a simple shell script in your cgi-bin directory
#!/usr/bin/sh
export ="</path/to/your/configfile/name.cfg>"
</path/to/your/pywms_installation>/wms.py
PyWMS uses the Python-ConfigParser module in order to interpret the
content of your configuration file. You can find a detailed description
of the general syntax at
http://docs.python.org/library/configparser.html
. Here is a short overview:
general configuration file syntax:
[section]
# just a comment ...
optionName=value
Note that option names (= keys) and values are case-sensitive.
Additionally PyWMS uses some restricted value strings for special
purposes. The values
NO
,
OFF
and
AUTO
will be treated in the same way like an empty
string. With
YES
or
ON
you can enable
an option.
the following alternatives will have exactly the same result:
myOption=NO
myOption=OFF
myOption=
The configuration keys are divided into several sections:
In section [grass]
you'll find all settings either for
your GRASS GIS program or the map projection code (EPSG).
Section [server]
deals with basic CGI server settings and
security parameters whereas [wms_server]
lists several options
concerning the WMS service. Finally the [doc_metadata]
section
includes some information (metadata) for compiling the GetCapabilities document.
### key descriptions for all keys in the configuration file:
PyWMS uses GRASS GIS as a back-end for
accessing the database and map rendering. Thus, the successful installation
of a GRASS system is essential.
The key gisbase
must contain the path to the GRASS libraries.
It should be the same directory as stored in the GRASS related environment
variable GISBASE
(you can find more information about GRASS
variables here). If you're not sure about this path, start
the GRASS program manually and type echo $GISBASE
to obtain the correct value.
GRASS stores its data in a directory, called the "GRASS database". You have
to set the path to the initial database in your config file.
Although the key name in your config file (grassdb
) differs
a little from the analogous environment variable in GRASS
(GISDBASE
), they have the same meaning. For more information
about the general GRASS database structure, you should have a look
here.
A GRASS database consists of one or more locations, defined by a coordinate
system, a map projection and geographical boundaries (as described
here).
Internally a location is a simple subdirectory in your database directory.
An instance of PyWMS server can't deal with more than one location at once.
So you have to choose one of your locations and assign its name to the
location
key. Please just use the simple location name
(= subdirectory name) and not the entire path to your
location as key value. Additionally you have to ensure, that PyWMS have the
permission to create a temporary directory inside the location. This can be
done by the following shell command:
chmod a+rwx <grassdb_value>/<location_value>
The WebMapService standard allows several namespaces for defining a
coordinate reference system (CRS). However, PyWMS supports only the EPSG
namespace (see: WMS_1-3-0 sect.6.7.3.3, p.16).
The EPSG dataset includes many common CRS, each defined by a numeric identifier
(= EPSG code).
If this key is set to NO
or OFF
, no static code will
be used. Although PyWMS is basically capable to detect the appropriate EPSG code
from your GRASS location automatically, there may be some reasons to set a
(static) EPSG code manually:
- to speed up the GetMap request; The auto-detecting algorithm is
time-consuming.
- there's no code in your EPSG file, that fits to the CRS parameters of
your GRASS location or you haven't got any EPSG file installed (see also:
[grass] epsgfile
checkup)
- more than one EPSG code fits to your location
not implemented yet ...
The data in this section are helpful, if you stumble on a problem
that could not be solved with the help of this info-page.
The PyWMS project has an own
mailing list
for discussing problems, bugs and enhancements of the software. If you want to
discuss your problem there, please copy the following lines to the bottom of
your email text:
--------pywms-environment-information--------
Operating system :
Kernel :
Distribution :
Architecture :
Python version :
GRASS version :
ImageMagick version :
Apache version :
PyWMS version :
failed checkups :
---------------------end---------------------