mapnik generiert nur leere Kacheln ("Empty Tile")

Hallo,

ich habe auf einem Windows 7 Rechner Postgis (Postgres 8.4) und mapnik 0.7.1 installiert.
Mit osm2pgsql.exe habe ich mir die OSM-Daten (von der Geofabrik) in die Datenbank importiert.
In QGIS kann ich mir dann die Daten der Postgis-DB anzeigen lassen. (90013 default Projektion)
Hab mir für meine DB (mit user und pw) mapnik osm.xml erzeugt. Mit dem Skript generate_tiles.py produziere ich nur leere Kacheln. Scheinbar kann mapnik die Daten in der DB nicht lesen oder gar nicht darauf zu greifen.

Was für Möglichkeiten der Fehlersuche gibt es in diesem Fall?

Gruß
Geobiker

Schwer zu sagen. Ich habe mit dieser Anleitung

http://wiki.openstreetmap.org/wiki/User:Ajoessen/Mapnik

“ordentliche” Kacheln bekommen.

Gruß,
ajoessen

Hi ajoessen,

danke für deine Hilfe.

Ich habe von der Wiki-Seite das Mapnik Example unbearbeitet nach health.xml kopiert und bekomme im Firefox
folgende Meldung:

XML-Verarbeitungsfehler: nicht wohlgeformt
Adresse: file:///D:/Geodata/mapnik/mapnik_conf/health.xml
Zeile Nr. 148, Spalte 26: [leisure] <> ‘’ or [landuse] <> ‘’
-------------------------^

Daher konnte ich das Beispiel nicht rendern!
Konnte an der XML aber erstmal kein Fehler feststellen.
Noch eine Idee?

Gruß
Geobiker

Ich meinte diese Wiki-Seite:
http://wiki.openstreetmap.org/wiki/Mapnik_Example

Du musst den Inhalt des großen grauen Kastens im Firefox markieren, kopieren und in eine neue, leere Textdatei einfügen, die du als health.xml abspeicherst.
Ich verwende für sowas notepad++, das baut keine unerwünschten Zeilenumbrüche ein.

Wenn nur leere Kacheln rauskommen, können auch die bbox-Parameter falsch sein.

Gruß,
ajoessen

Hallo,

ja hab den grauen Kasten kopiert, aber die Struktur ist wohl nicht richtig.
Bekomme immer noch xml-Fehler

BBOX scheint zu stimmen da bei Zoomfaktor < 10 die Tiles im gewünschten Berreich aus den Shapes erstellt wird.

Irgendwie scheint die Sache auf meiner Kiste nicht zu funktionieren :frowning:

Ciao
Stefan

hi,

ich bekomme mapnik jetzt über das Skript generate_tiles.py soweit das es rendern will allerdings scheint die Umrechnung in eine andere Projektion nicht zu funktionieren.

Bekomme folgende Fehlermeldung:

Traceback (most recent call last):
File “D:\Geodata\mapnik\mapnik_conf\generate_tiles.py”, line 218, in
render_tiles(bbox, mapfile, tile_dir, 11, 13, “BW”)
File “D:\Geodata\mapnik\mapnik_conf\generate_tiles.py”, line 129, in render_tiles
renderer = RenderThread(tile_dir, mapfile, queue, printLock, maxZoom)
File “D:\Geodata\mapnik\mapnik_conf\generate_tiles.py”, line 61, in init
self.prj = mapnik.Projection(self.m.srs)
RuntimeError: failed to initialize projection with:90013

Gruß
Geobiker

Ich bin mir ziemlich sicher, du möchtest Projektion 900913 aka Google Mercator haben.

gruß,
ajoessen

Hi ajoessen,

ja soll natürlich 900913 heissen.

Bekomme aber auch mit 900913 die gleiche Fehlermeldung.

In der Tabelle spatial_ref_sys auf der OSM-DB ist ein Satz mit srid 900913 vorhanden!

Oder geschieht die Projektion bei mapnik über proj4?

Gruß
Geobiker

der eintrag für 900913 fehlt bei manchen Neuinstallationen schon mal. der muss in spatial_ref_sys nachgetragen werden.

sorry, meine zeit ist knapp. google bitte mal etwas - das ist aber genau das Problem.
Gruss
Walter

wie jetzt? Keine Zeit mal kurz ausm Kopf


INSERT into spatial_ref_sys (srid, auth_name, auth_srid, proj4text, srtext) values ( 900913, 'spatialreference.org', 6, '+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs', 'PROJCS["unnamed",GEOGCS["unnamed ellipse",DATUM["unknown",SPHEROID["unnamed",6378137,0]],PRIMEM["Greenwich",0] ,UNIT["degree",0.0174532925199433]],PROJECTION["Mercator_2SP"],PARAMETER["standard _parallel_1",0],PARAMETER["central_meridian",0],PARAMETER["false_easting",0],PARAMETER ["false_northing",0],UNIT["Meter",1],EXTENSION["PROJ4","+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +wktext +no_defs"]]');

aufzuschreiben?

Hi,

der Satz ist in der Tabelle bereits vorhanden.
Kann es sein das mapnik Rechte fehlen auf die Tabelle zuzugreifen? Auch bei SRS 4326 kommt die gleiche Python Exception!

Gruß
Geobiker

rofl
gruss
Walter

Der Student muss es wissen. Der Assi muss wissen, wo es steht. Der Prof braucht nen Assi, der weiss wo es steht - Mein Assi hat schon Feierabend :wink:

könnte sein: check mal die Leserechte für solche Tabellen.
Hatte ich auch am Anfang, als ich damals (kurz nach den Ardennenfeldzug) mit postgis angefangen hatte.
Erst fehlte der Eintrag und dann durfte ein “normaler” sql-user die und manche andere Tabelle nicht benutzen.
Mapnik selbst braucht keine spezielle Rechte, nur der User, der die Verbindung zum sql-server aufbaut.

ich hab dann einfach alle Tabellen auf read,insert,update,delete für ANY gesetzt, da meine Installation unkritisch ist.

Gruss
Walter

ich kenne Mapnik selber nicht…Benutzt Mapnik auch die proj4 Projektionsdefinitionen? Dann müsste die 900913 da auch angelegt werden. Suche mal ob es bei Dir eine Datei “epsg” gibt. Falls ja, schaue mal ob es da einen Eintrag für 900913 gibt. Wenn nicht, einfach oben ergänzen


#Google
<900913> +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +no_defs <>

Hast du folgendes durchgeführt?

Passwortabfrage deaktivieren

Start/Programme/PostgreSQL 8.4/pgAdmin III

Datei/pg_hba.conf öffnen

Suchen in: E:\data

Datei: pg_hba.conf

erste Zeile doppelclicken

Methode md5 auf trust umschalten

speichern

Datei/Exit

Danach sollten alle user alle Rechte haben.

Wenn das mit den Tiles nicht funktioniert, probier mal generate_image.py aus.

Gruß,
ajoessen

sollte aber beim Anlegen der osm2pgsql-Datenbank mit


%ProgramFiles%\PostgreSQL\8.4\bin\psql -U postgres -d osmdb -f "%ProgramFiles%\PostgreSQL\8.4\share\contrib\postgis-1.5\spatial_ref_sys.sql"

enthalten sein.

gruß,
ajoessen

Hi,

ich habe nochmals alle planet-Tabellen in der DB geleert und neu befüllt und im xml File bei
SRS = “”+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs +over" eingetragen.

Und siehe da jetzt funktionierts!!!

Danke nochmals.
Geobiker