1

Just a forewarning, I will try to be as extensive with my question as possible. Due to a number of reasons why this might not be working, I have posted all sorts of portions of my debugging below.

Web map located here

Tile cache is being setup as a test run for the "hii_5" layer in OpenLayers. MapServer is the backend.

I am trying to get TileCache to cache images of my MapServer WMS. However, no images are produced. The TileCache is "trying" to load the tiles (as you can see on the live page), however, no images are returned.

When I follow the path of one of the image tiles, I see this error:

An error occurred: File contains parsing errors: C:\ms4w\Apache\cgi-bin\tilecache.cfg
    [line 82]: '  type=WMS\n'
    [line 83]: '  url=http://141.117.104.183/cgi-bin/mapserv.exe\n'
    [line 84]: '  mapfile=C:/ms4w/Apache/htdocs/moot2_dev/hii_railroads.map\n'
    [line 85]: '  extension=png\n'
    [line 86]: '  layers=HII_railroads\n'
  File "C:\ms4w\Apache\cgi-bin\TileCache\Service.py", line 85, in _load
    config.read(files)
  File "C:\Python27\lib\ConfigParser.py", line 297, in read
    self._read(fp, filename)
  File "C:\Python27\lib\ConfigParser.py", line 538, in _read
    raise e

Here are the relevant mapfile, tilecache.cfg, and openlayers source:

Not sure how much help I will get here, but the questions out there for anyone to take a stab at it!


hii_railroads.map

MAP                                                     #-> BEGIN MAP
    OUTPUTFORMAT                                        #-> BEGIN OUTPUT FORMATTING DEFINITION
        NAME "png"                                      # Name of format
        DRIVER AGG/PNG                                  # Image driver
        MIMETYPE "image/png"                            # Type of image
        IMAGEMODE RGBA                                  # Image mode
        EXTENSION "png"                                 # Image filetype
        TRANSPARENT ON                                  # Transparency
    END                                                 #-> END OUTPUT FORMATTING DEFINITION

    WEB                                                 #-> BEGIN WEB DEFINITION

        METADATA
            "wms_title"           "HII_railroads"
            "wms_onlineresource"  "http://rinnerweb.arts.ryerson.ca/cgi-bin/mapserv.exe?map=/ms4w/Apache/htdocs/moot2_dev/hii_railroads.map&"
            "wms_srs"             "EPSG:3857"
            "ows_enable_request"  "*"
        END

        TEMPLATE "template.html"
        IMAGEPATH "/ms4w/tmp/ms_tmp/"
        IMAGEURL "/ms_tmp/"
    END                                                 #-> END WEB DEFINITION

LAYER                                                   #-> BEGIN LAYER DEFINITION: Railroads <-#

    METADATA
        "wms_title" "HII_railroads"
    END

    NAME    HII_railroads                               # Layer identifier
    DATA    "data/wgs84/railroads_360.tif"              # Name of the data (in this case, string identifying a raster)
    STATUS  ON     

tilecache.cfg

[HII_railroads]
  type=WMS
  url=http://141.117.104.183/cgi-bin/mapserv.exe
  mapfile=C:/ms4w/Apache/htdocs/moot2_dev/hii_railroads.map
  extension=png
  layers=HII_railroads

index.html

hii_5 = new OpenLayers.Layer.WMS("Railroads","../../cgi-bin/tilecache.cgi?",{
    layers:"HII_railroads",
    format:"image/png"},{
    isBaseLayer:false,
    transparent:true,
    format:"image/png",
    alpha:true,
    displayInLayerSwitcher:false
    });

2 Answers 2

2

This issue is coming directly from ConfigParser, in Python. Glancing at your config, it looks like you have spaces at the beginning of your newlines, indenting your configuration options. If that's the case -- don't do that. I'm pretty sure that ConfigParser is refusing to parse that file.

1
  • This helped, however I have a new problem. See updated question. Thanks a lot Christopher. Jan 31, 2012 at 1:18
2

Your tilecache.cfg file seems to be missing the mandatory [cache] section. Try adding:

[cache]
type=Disk
base=C:/tmp/tilecache

There are a few other options other than saving your cache to disk:

# [cache] section examples: (mandatory!)
# 
# Disk:
# [cache] 
# type=Disk   (works out of the box)
# base=<full path to cache directory>
# 
# Memcached:
# [cache]
# type=Memcached  (you'll need memcache.py and memcached running!)
# servers=192.168.1.1:11211
#
# Amazon S3:
# [cache]
# type=AWSS3
# access_key=your_access_key
# secret_access_key=your_secret_access_key
1
  • Sorry, thought this might have been the answer I was looking for but it seems I have already set that part up :). Getting closer though it seems, see updated question. Jan 31, 2012 at 1:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.