[Talk-de] Mapnik WMS Server will nicht mit postgis

OSM-Held Mapper freemaps.osm at googlemail.com
Mi Nov 12 18:01:42 UTC 2008


Hallo,
ich hoffe hier kann mir jemand helfen. Sorry, wenn es die falsche Liste sein
sollte!

Ich möchte einen WMS Server mit Mapnik aufsetzen. Dabei sollen Daten von
einer Postgis Datenbank eingelesen und gerendert werden. Leider klappt das
nicht.
Wenn ich ein Shapefile als Datenquelle benutze, geht alles wunderbar. Wenn
ich jedoch in der map_factory.py die datasource auf Postgis umstelle bekomme
ich ein weißes Bild vom WMS Server zurückgeliefert. Der Apache bringt
keinerlei Fehlermeldung.
Die Verbindung zur Datenbank klappt wunderbar. Unsicherheit besteht
meinerseits allerdings in dem Table-Parameter der Zeile:

lyr.datasource =
PostGIS(host='localhost',user='me',password='',dbname='osm',table='test')

in der map_factory.py

In meiner Datenbank habe ich eine tabelle angelegt, die testweise nur alle
boundarys enthalten soll:
create table test as select way from planet_osm_line where
boundary='administrative'

Irgendwie scheint auch gar nicht abgeprüft zu werden, was da in dem table
Parameter drin steht. Da kommt keinerlei Fehlermeldung, wenn ich da
irgendnen Quark reinschreibe. Wenn ein anderer Parameter z.B. dbname oder
user oder sowas nicht stimmt, kommen entsprechende Fehlermeldungen.

Kann mir eine sagen, was genau ich verkehrt mache?

Grüße und Danke schonmal.


Hier noch was ich bisher gemacht habe:

germany.osm.bz2 von der Geofabrik geladen und mit
osm2pgsql -l -d osm germany.osm.bz2
in meine Postgis-Datenbank importiert.

Nen Apache aufgesetzt und dann den ogcserver ausprobiert (neueste Version
aus dem svn) und mich dabei an folgende Tutorials gehalten:
http://trac.mapnik.org/browser/trunk/docs/ogcserver/readme.txt
http://mapnik-utils.googlecode.com/svn/trunk/tutorials/wms/readme

Meine map_factory Klasse in Python sieht momentan so aus:
**************************************************
from mapnik.ogcserver.WMS import BaseWMSFactory
from mapnik import * #Shapefile, Layer, Style, Rule, Color,
PolygonSymbolizer, LineSymbolizer
SHAPEFILE = '/home/me/mapnik/wms/sample_data/world_borders'
PROJ4_STRING = '+init=epsg:4326'
class WMSFactory(BaseWMSFactory):
  def __init__(self):
    BaseWMSFactory.__init__(self)
    sty = Style()
    rl = Rule()

    rl.symbols.append(PolygonSymbolizer(Color(248,216,136)))
    rl.symbols.append(LineSymbolizer(Color(0,0,0),1))

    sty.rules.append( rl )
    self.register_style('s', sty)
    lyr = Layer('borders',PROJ4_STRING)
    lyr.title = 'Deutschland'
    lyr.abstract = 'ger test'
    lyr.queryable = True
    lyr.datasource =
PostGIS(host='localhost',user='me',password='',dbname='osm',table='test')
    #lyr.datasource = Shapefile(file=SHAPEFILE) #das Shapefile funktioniert
korrekt!
    self.register_layer(lyr,'s',('s',))
    self.finalize()
********************************************************
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://lists.openstreetmap.org/pipermail/talk-de/attachments/20081112/04032a9f/attachment.htm>


Mehr Informationen über die Mailingliste Talk-de