(♦) PyWMS

Welcome to PyWMS - a lightweight WMS server specifically for geodata stored in a GRASS database.
This page will help you to configure your WMS server successfully. It includes detailed information about every aspect of the configuration options, so that there's no need for reading an extra manual.
The page is divided into 4 sections: Environment checkup, Configuration checkup, Server capabilities and System information.

Document references:

WMS_1-3-0:
OGC Web Map Server Implementation Specification
version 1.3.0
ref.num.: OGC 06-042
online available here: http://portal.opengeospatial.org/files/?artifact_id=14416

Environment checkup

not implemented yet ...

Configuration checkup

Location of the central configuration file
Your configuration file was successfully found at location .
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
General configuration file syntax
The general syntax of your configuration file seems to be valid.
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=
Sections
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.
[]
your current value:  
### 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

Server capabilities

not implemented yet ...

System information

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---------------------