habe leider ein kleines problem und weiß nicht woran es liegt.
vielleicht weiß ja der eine oder andere einen rat
beim rendern der tiles über die generate_tiles.py erhalte ich folgendes ergebnis
aussehen sollte es doch aber eigentlich so
was habe ich vergessen oder was ist hier falsch eingestellt?
wenn die bilder von mapnik gerendert werden, werden die gleich komplett mit allen informationen gerendert oder
sind das mehrere durchläufe und die kacheln werden pro durchlauf erweitert?
Mapnik liest alle in deiner Datenbank vorhandenen Daten innerhalb der von Dir im Python-Skript angegebenen Zoomstufen und Grenzen aus.
(Ist der Import erfolgreich verlaufen? Versuch mal eine Aktualisierung der Daten.)
Das Python-Skript enthält auch eine Verknüpfung zur XML-Datei mit den Renderregeln.
(Stimmt der Pfad zur XML-Datei?)
Mapnik rendert die Grafik(en) entsprechend der Regeln in der osm.xml.
(hast du die Datei verändert? Versuch mal die Originaldatei.)
Mapnik rendert bereits vorhandene tiles nicht neu. Das bedeutet dass alte Tiles unverändert bleiben.
(verschiebe deine bereits vorhandenen tiles in ein anderes Verzeichnis und rendere alles nochmal neu)
In den Regeln in der osm.xml sind zahlreiche Layer definiert, die nacheinander gerendert werden.
Deine Grafik sieht so aus, als ob nur zwei oder drei von diesen Layers gerendert werden, alle anderen scheinen einen Fehler zu enthalten. Das liegt meistens daran, daß ein Fehler im SQL-Statement für die Layer ist oder daß eine falsche Datenbanktabelle angegeben wurde. Oder, falls Du Deine osm.xml per Konvertierungsscript aus dem default erstellt hast, könnte dabei etwas grundlegend falsch eingestellt worden sein.
also der import ist erfolgreich durchgelaufen und es wurden alle tiles erzeugt
mit der XML-Datei meinst du die osm.xml? der pfad stimmt, habe ich eben nochmal überprüft
die datei hatte ich verändert und anhand meiner variablen generiert … symbolpfad, datenbankconnection
wie greift die originaldatei auf die o.g. inhalte zu?
gibt es eine windows gui, wo man mal einen connect zur db herstellen kann, die einen die karte aus der db mal darstellt?
also ich hatte mittels osm2pgsql alle bundesländer einzeln importiert
hi nop
also die osm.xml hatte ich per konvertierungsscript erzeugt.
sollte ich die template mal nehmen und manuell verändern?
viel wird nicht angezeigt, weiss leider nicht, welche objekte das sind
zumindest sind die grundlinien der straßen enthalten. und hier und da nen waldgebiet
nachsehen welche Tags für diese Objekte verantwortlich sind
über die Tags findest Du die Renderregln und die Layers in der osm.xml
Unterschiede suchen zwischen den Layers die angezeigt werden und denen die es nicht tun
Nebenbei noch gefragt: Welche Version von mapnik verwendest Du? Mapnik ab 0.7 sollte eigentlich in so einem Fall deutliche Fehlermeldungen für jede kaputte Layer auf der Console ausgeben.
ich habe derzeit ein debian lenny im einsatz und über die installation von python-mapnik wird scheinbar nur ein mapnik 0.5 installiert, obwohl die sources-list aktuell ist.
Dann müssten wir die Fehlerursache auch gefunden haben, die osm.xml enthält gleich am Anfang folgenden Hinweis:
This stylesheet uses features only available in mapnik builds with
libxml2 as the XML parser. Furthermore, there are other features
that necessitate an upgrade to at least mapnik 0.6.1
habe mir von mapnik.org die aktuelle version besorgt und installiert.
hat soweit auch gut geklappt.
nun erhalte ich beim renderversuch mit der generate_tiles.py gleich am anfang einen fehler, dass er eine spalte in einer tabelle nicht finden kann.
richtig, die gibt es auch gar nicht. habe die osmfiles mit osm2pgsql importiert
render_tiles( (-180.0, -90.0, 180.0, 90.0) /opt/mapnik/osm.xml /opt/tiles/ 0 5 World )
Traceback (most recent call last):
File "./generate_tiles.py", line 202, in <module>
render_tiles(bbox, "/opt/mapnik/osm.xml", tile_dir, 0, 5, "World")
File "./generate_tiles.py", line 130, in render_tiles
renderer = RenderThread(tile_dir, mapfile, queue, printLock, maxZoom)
File "./generate_tiles.py", line 59, in __init__
mapnik.load_map(self.m, mapfile, True)
RuntimeError: PSQL error:
FEHLER: Spalte »disused« existiert nicht
LINE 1: select * from (select way,waterway,disused,name,case when tu...
^
Full sql was: 'select * from (select way,waterway,disused,name,case when tunnel in ('yes','true','1') then 'yes'::text else tunnel end as tunnel from planet_osm_line where waterway IS NOT NULL order by z_order) as water_lines limit 0'
(encountered during parsing of layer 'water_lines')
ich habe den fehler scheinbar gefunden, kann ihn aber dennoch nicht lösen
debian (lenny) liefert ein altes osm2pgsl paket … hier muss es eine default.style geben, die die db-tabellen erzeugt.
leider habe ich keine möglichkeit ein neues osm2pgsl zu kompilieren (das geht irgendwie nicht) noch habe ich die möglichkeit die default.style im system auszutauschen. (die datei ist nirgends vorhanden im system)
somit nutzt er eine alte osm2pgsl und die db wird fehlerhaft.
kennt jemand eine alternative, wie ich die aktuelle source nutzen bzw. die default.style ins system integrieren kann?
laut osm2pgssql wiki soll man folgende befehle ausführen