myMapnik, oder: Dann habe ich was Eigenes [tm]
-
myMapnik, oder: Dann habe ich was Eigenes [tm] · ajoessen (Gast) · 18.03.2011 07:55 · [flux]
Hallo zusammen,
auf vielfachen Wunsch habe ich jetzt mal zusammengeschrieben, wie ich mit Mapnik neben eigenen Kartentiles auch transparente Overlays für verschiedene Anwenungsfälle erzeuge:
http://wiki.openstreetmap.org/wiki/User … n/myMapnik
Alles lauffähig unter Windows XP mit ertwas angestaubter Hardware ;-)
Vorraussetzung ist eine funktionierende osmpgsql-PostgreSQL-Mapnik-Konfiguration, wie sie hier dokumentiert wird:
http://wiki.openstreetmap.org/wiki/User … en/Postgis
http://wiki.openstreetmap.org/wiki/User:Ajoessen/MapnikDie transparenten Overlays sind für meinen OSMviewer geeignet:
http://wiki.openstreetmap.org/wiki/User … _GPXviewerFür den eiligen nutzer gibt es die Styles hier:
http://bahnradwandern.bplaced.net/myMapnik.zip
und die zusätzlichen Symbole hier:
http://bahnradwandern.bplaced.net/symbols.zipViel Spaß beim Nachbauen...
Gruß,
ajoessen- Re: myMapnik, oder: Dann habe ich was Eigenes [tm] · !i! (Gast) · 18.03.2011 09:17 · [flux]
Wow sehr schön, muss ich mir mal in Ruhe durchlesen. Danke auf jeden Fall für deine Mühen!
- Re: myMapnik, oder: Dann habe ich was Eigenes [tm] · Vize11 (Gast) · 26.02.2013 20:24 · [flux]
Hallo ajossen,
ich bin noch ganz frisch in der Materie und versuche gerade, mit Mapnik eine Karte nach meinen Wünschen zu erstellen.
Ich hangele mich dabei an deiner hier genannten Vorgabe entlang, allerdings unter Linux Ubuntu 12.04.
Leider komm ich - trotz Tante Google - an einer Stelle nicht weiter.
Wenn ich das script generate_image.py ausführe, wird zwar ein Bild ausgegeben, in der Eingabeaufforderung/Terminal wird jedoch folgende Fehlermeldung ausgegeben:
andreas@Phenom-2300:~/osm/myMapnik$␣./generate_image.py "Mapnik␣LOG>␣2013-02-26␣20:03:35:"␣Unable␣to␣process␣some␣data␣while␣parsing␣'osm-de.xml': *␣text␣'r' *␣node␣'Filter'␣at␣line␣4164 output␣image␣to␣image.png!
in Zeile 4164 meiner Datei osm-de.xml steht
<Filter>[landuse]␣=␣'forest'␣or␣[natural]␣=␣'wood'␣or␣[landuse]␣=␣'wood'</Filter>
Die Datei habe ich vorher per upgrade_map_xml.py auf den aktuellen Stand gebracht.
Der gleiche Fehler taucht beim Versuch auf, Kacheln über generate_tiles.py zu erzeugen. Das script bricht hier allerdings ab und es werden keine Kacheln erzeugt.
andreas@Phenom-2300:~/osm/myMapnik$␣./generate_tiles.py /usr/lib/pymodules/python2.7/mapnik2/__init__.py:27:␣DeprecationWarning:␣␣mapnik2␣module␣has␣been␣deprecated, please␣use␣'import␣mapnik' warnings.warn(msg,␣DeprecationWarning) render_tiles(␣(7.8,␣51.3,␣9.4,␣52.5)␣osm-de.xml␣tiles/␣12␣14␣"Test") Traceback␣(most␣recent␣call␣last): File␣"./generate_tiles.py",␣line␣212,␣in␣<module> render_tiles(bbox,␣mapfile,␣tile_dir,␣12,␣14,␣"Test") File␣"./generate_tiles.py",␣line␣136,␣in␣render_tiles renderer␣=␣RenderThread(tile_dir,␣mapfile,␣queue,␣printLock,␣maxZoom) File␣"./generate_tiles.py",␣line␣64,␣in␣__init__ mapnik.load_map(self.m,␣mapfile,␣True) RuntimeError:␣Unable␣to␣process␣some␣data␣while␣parsing␣'osm-de.xml': *␣text␣'r' *␣node␣'Filter'␣at␣line␣4164
System:
Ubuntu 12.04 x64
PostgreSQL 9.1
Postgis 1.5.x
aktuelles osm2pgsql aus ppa:kakrueger
mapnik 2.1.0Irgendwelche Lösungsvorschläge, Tipps, Ansätze hierzu?
Gruß
Andreas - Re: myMapnik, oder: Dann habe ich was Eigenes [tm] · Vize11 (Gast) · 28.02.2013 10:53 · [flux]
Hallo nochmal,
hat denn niemand eine Idee oder eventuell eine Vermutung, woran es liegen könnte?
Gruß
Andreas - Re: myMapnik, oder: Dann habe ich was Eigenes [tm] · tunnelbauer (Gast) · 28.02.2013 11:21 · [flux]
Schon mal versucht die Leerzeichen wegzulassen?
also, dass es dann so aussieht:
<Filter>[landuse]='forest'␣or␣[natural]='wood'␣or␣[landuse]='wood'</Filter>
Nachtrag:
Eventuell kannst du auch noch die zeile oberhalb und unterhalb posten...
- Re: myMapnik, oder: Dann habe ich was Eigenes [tm] · Vize11 (Gast) · 28.02.2013 18:20 · [flux]
Hallo Thomas,
die Leerzeichen hatten keinen Einfluss...
hier noch der Auszug Zeilen 4155-4166, mit !!! die Zeile, die bemängelt wird:
<Rule> <Filter>[landuse]␣=␣'forest'␣or␣[natural]␣=␣'wood'␣or␣[landuse]␣=␣'wood'</Filter> <MaxScaleDenominator>100000</MaxScaleDenominator> <MinScaleDenominator>50000</MinScaleDenominator> <PolygonSymbolizer␣fill="#8dc56c"␣fill-opacity="0.9"/> </Rule> <Rule> <Filter>[landuse]␣=␣'forest'</Filter> <MaxScaleDenominator>50000</MaxScaleDenominator> !!!␣<Filter>[landuse]␣=␣'forest'␣or␣[natural]␣=␣'wood'␣or␣[landuse]␣=␣'wood'</Filter>␣!!! <PolygonPatternSymbolizer␣file="symbols/forest.png"/> </Rule>
Lösche ich die Zeile komplett raus, ist die Fehlermeldung dazu weg.
Was aber bleibt, ist der erste Teil der FehlermeldungRuntimeError:␣Unable␣to␣process␣some␣data␣while␣parsing␣'osm-de.xml': *␣text␣'r'
Da komm ich einfach nicht weiter...
Gruß
Andreas - Re: myMapnik, oder: Dann habe ich was Eigenes [tm] · wambacher (Gast) · 28.02.2013 22:29 · [flux]
Vize11 wrote:
Hallo Thomas,
die Leerzeichen hatten keinen Einfluss...
hier noch der Auszug Zeilen 4155-4166, mit !!! die Zeile, die bemängelt wird:
<Rule> <Filter>[landuse]␣=␣'forest'</Filter> <MaxScaleDenominator>50000</MaxScaleDenominator> !!!␣<Filter>[landuse]␣=␣'forest'␣or␣[natural]␣=␣'wood'␣or␣[landuse]␣=␣'wood'</Filter>␣!!! <PolygonPatternSymbolizer␣file="symbols/forest.png"/> </Rule>
Lösche ich die Zeile komplett raus, ist die Fehlermeldung dazu weg.
Zwei Filter in einer Rule? Kommt mir komisch vor. Und dem Renderer wohl auch.
also: Erstes Filter raus!
Gruss
walter - Re: myMapnik, oder: Dann habe ich was Eigenes [tm] · MasiMaster (Gast) · 01.03.2013 01:25 · [flux]
[gelöscht]
ups, da war jemand vieeel schneller 🙂 - Re: myMapnik, oder: Dann habe ich was Eigenes [tm] · Vize11 (Gast) · 01.03.2013 10:06 · [flux]
wambacher wrote:
Zwei Filter in einer Rule? Kommt mir komisch vor. Und dem Renderer wohl auch.
also: Erstes Filter raus!
Gruss
walterJo, deswegen hab ich das ja dann auch gelöscht (siehe mein letzter post).
Aber was ist mit der verbleibenden Fehlermeldung?
Gruß
Andreas - Re: myMapnik, oder: Dann habe ich was Eigenes [tm] · wambacher (Gast) · 01.03.2013 11:00 · [flux]
Vize11 wrote:
Jo, deswegen hab ich das ja dann auch gelöscht (siehe mein letzter post).
Aber was ist mit der verbleibenden Fehlermeldung?
Hattu aber sehr unklar formuliert. Egal.
bitte poste den restlichen Fehler mit der passenden Umgebung.
Gruss
walterp.s. ach ja, das deprecated-Warning solltest du auch fixen.
- Re: myMapnik, oder: Dann habe ich was Eigenes [tm] · Vize11 (Gast) · 01.03.2013 11:49 · [flux]
Hallo Walter,
bitte hilf mir dazu nochmal weiter, da ich da ja noch ziemlich unbeleckt bin...
Was meinst du mit "passender" Umgebung?
Und wie kann man das deprecated-Warning fixen?
Danke schonmal und Gruß
Andreas - Re: myMapnik, oder: Dann habe ich was Eigenes [tm] · wambacher (Gast) · 01.03.2013 12:05 · [flux]
Vize11 wrote:
Was meinst du mit "passender" Umgebung?
Aktuelle Fehlermeldung (ohne doppeltes Filter) mit den dazu passenden Datenzeilen, was sonst?
Und wie kann man das deprecated-Warning fixen?
keine Ahnung, muttu Manual lesen. Hat was mit Wechsel von mapnik auf mapnik2 zu tun und dein Vorlagen könnten noch mit mapnik 1 sein.
Mapnik ist bei mir derzeit wegen Rechnerwechsel nicht installiert, daher kann ich nicht testen.Gruss
walterp.s. mach mal aus "import mapnik2" "import mapnik" - eventuell war es das mit dem warning.
- Re: myMapnik, oder: Dann habe ich was Eigenes [tm] · Vize11 (Gast) · 01.03.2013 12:31 · [flux]
wambacher wrote:
Vize11 wrote:
Was meinst du mit "passender" Umgebung?
Aktuelle Fehlermeldung (ohne doppeltes Filter) mit den dazu passenden Datenzeilen, was sonst?
Hi,
guckst du meinen allerersten post mit der Meldung zu generate_tiles.py und streiche die letzte Zeile des code-Schnippels, dann hast du die übrig gebliebene Fehlermeldung.
Leider nix mit Datenzeilen oder so...einfach nur "* text 'r'"Gruß
Andreas - Re: myMapnik, oder: Dann habe ich was Eigenes [tm] · Vize11 (Gast) · 01.03.2013 17:45 · [flux]
So, der Vollständigkeit halber, hier nochmal die aktuelle Fehlermeldung komplett:
andreas@Phenom-2300:~/osm/myMapnik$␣./generate_tiles.py render_tiles(␣(7.8,␣51.3,␣9.4,␣52.5)␣osm-de.xml␣tiles/␣12␣14␣Test␣) Traceback␣(most␣recent␣call␣last): File␣"./generate_tiles.py",␣line␣212,␣in␣<module> render_tiles(bbox,␣mapfile,␣tile_dir,␣12,␣14,␣"Test") File␣"./generate_tiles.py",␣line␣136,␣in␣render_tiles renderer␣=␣RenderThread(tile_dir,␣mapfile,␣queue,␣printLock,␣maxZoom) File␣"./generate_tiles.py",␣line␣64,␣in␣__init__ mapnik.load_map(self.m,␣mapfile,␣True) RuntimeError:␣Unable␣to␣process␣some␣data␣while␣parsing␣'osm-de.xml': *␣text␣'r' andreas@Phenom-2300:~/osm/myMapnik$
Gruß
Andreas - Re: myMapnik, oder: Dann habe ich was Eigenes [tm] · wambacher (Gast) · 02.03.2013 02:23 · [flux]
Vize11 wrote:
So, der Vollständigkeit halber, hier nochmal die aktuelle Fehlermeldung komplett:
...Sorry, da muß ich passen.
Eventuell reduzierst du das Datenfile solange bis es funktioniert oder nimmst ein total anderes.
Vielleicht gibt es auch Debug-Optionen?Gruss
walter - Re: myMapnik, oder: Dann habe ich was Eigenes [tm] · HeBri (Gast) · 02.03.2013 18:08 · [flux]
Hi Andreas,
schon mal versucht das angemeckerte xml in einem Browser oder einem xml-Editor aufzumachen um zu sehen ob dort auch Fehlermeldungen kommen?
Evtl. hast Du Dir ein "nicht druckbares Zeichen" eingefangen? Hast Du einen Editor, der solche Zeichen (z.B. als Rechteck) sichtbar macht?
Nur so als Idee...
Gruß, Heinz - Re: myMapnik, oder: Dann habe ich was Eigenes [tm] · derstefan (Gast) · 02.03.2013 21:33 · [flux]
Nur ne Idee: Mit welchem Zeilenumbruch ist die Datei gespeichert? \r\n könnte evtl. das "r" erklären. 😐
- Re: myMapnik, oder: Dann habe ich was Eigenes [tm] · wambacher (Gast) · 02.03.2013 22:59 · [flux]
Solange er uns nicht verrät, wie er osm-de.xml erzeugt hat und was drin steht (download!), schweig ich wie ein Pfarrer nach der Beichte.
Gruss
walter - Re: myMapnik, oder: Dann habe ich was Eigenes [tm] · Vize11 (Gast) · 03.03.2013 11:15 · [flux]
Moin,
dann also nochmal: Steht doch in meinem ersten post, was ich gemacht habe. Dann kann man sich eigentlich auch denken, wo ich die xml-Datei her habe und was drinsteht, oder?
Egal.
xml-Datei (osm-de.xml) steckt in dieser zip-Datei:http://bahnradwandern.bplaced.net/myMapnik.zip
Danach habe ich dieses script drüber laufen lassen: upgrade_map_xml.py
Die Datei hat danach über 8000 Zeilen. Soll ich die hier komplett posten, oder kann man auch ne Datei hier hochladen?
Gruß
Andreas - Re: myMapnik, oder: Dann habe ich was Eigenes [tm] · Vize11 (Gast) · 03.03.2013 12:03 · [flux]
derstefan wrote:
Nur ne Idee: Mit welchem Zeilenumbruch ist die Datei gespeichert? \r\n könnte evtl. das "r" erklären. 😐
Hallo Stefan,
wie kann man das auf die Schnelle herausfinden?
Suche ich nach \r\n in osm-de.xml wird nix gefunden. Such ich nach \n findet er was am Ende jeder Zeile, ohne das da was steht...
Hab die Datei mit gedit geöffnet.Gruß
Andreas - Re: myMapnik, oder: Dann habe ich was Eigenes [tm] · wambacher (Gast) · 03.03.2013 14:42 · [flux]
Vize11 wrote:
Moin,
dann also nochmal: Steht doch in meinem ersten post, was ich gemacht habe. Dann kann man sich eigentlich auch denken, wo ich die xml-Datei her habe und was drinsteht, oder?
Egal.
nix mit "egal"! Du hast (mindestens) ein Problem und möchtest, dass man dir hilft. Dann ist es quasi deine "Pflicht", so viele Infos zu geben wie es vertretbar ist. Wir haben hier keine Ratestunde oder einen Kursus in "Zwischen den Zeilen lesen" oder "Hellsehen II".
xml-Datei (osm-de.xml) steckt in dieser zip-Datei:http://bahnradwandern.bplaced.net/myMapnik.zip
Danach habe ich dieses script drüber laufen lassen: upgrade_map_xml.py
Die Datei hat danach über 8000 Zeilen. Soll ich die hier komplett posten, oder kann man auch ne Datei hier hochladen?Der notwendige Upgrade könnte das Problem sein. Leider kenne ich keinen File-Hoster, da ich bei pic-upload.de nur Bilder hochladen kann und mir das reicht. Eventuell hat ein Kollege nen Tip - beim osm-wiki kann man Files hochladen aber ob das hierfür gedacht ist, wag ich zu bezweifeln.
Gruß
Walterp.s. ab hier muß ich eh passen, auch wenn ich dir weiterhelfen möchte, da mapnik2 bei mir immer noch nicht installiert ist und das auch noch 2-3 Wochen dauern wird (lokaler Serverupgrade). Es müsste doch eigentlich einen Debug-Möglichkeit geben, sodaß mapnik etwas gesprächiger wird?
- Re: myMapnik, oder: Dann habe ich was Eigenes [tm] · Vize11 (Gast) · 03.03.2013 15:08 · [flux]
wambacher wrote:
Der notwendige Upgrade könnte das Problem sein.
Hallo Walter,
das glaube ich eigentlich nicht, da der gleiche Fehler mit der nicht "upgegradeten" (was für ein Wort) Datei auftaucht plus noch ein paar Meldungen in dieser Form:
*␣node␣'CssParameter'␣at␣line␣7
Diese Meldungen sind aber nach dem upgrade weg...
Zum Thema debuggen hab ich bisher nur was in Englisch gefunden, aber da steig ich nicht durch...
Gruß
Andreas - Re: myMapnik, oder: Dann habe ich was Eigenes [tm] · mmd (Gast) · 03.03.2013 19:30 · [flux]
Der Parser beschwert sich über ein Element, das er nicht verarbeiten konnte. Der Fehler kommt von einem überschüssigen r nach einem </Rule>. Such mal nach dem String </Rule>r und ändere das in </Rule> ab.
Hier ist der Fehler drin:
<Rule>
<Filter>[highway] = 'trunk' and [length] = 2</Filter>
<MaxScaleDenominator>100000</MaxScaleDenominator>
<ShieldSymbolizer fontset-name="book-fonts" size="10" fill="#000000" placement="line" file="symbols/B2.png" minimum-distance="30" spacing="750">[ref]</ShieldSymbolizer>
</Rule>r
<Rule> - Re: myMapnik, oder: Dann habe ich was Eigenes [tm] · Vize11 (Gast) · 03.03.2013 20:28 · [flux]
Hi mmd,
DAS WARS!!!
Du bist der beste! Nun läuft's durch...und das wegen einem einzigen Buchstaben.
Wie in aller Welt hast du das so schnell rausgefunden???
Gruß
Andreas - Re: myMapnik, oder: Dann habe ich was Eigenes [tm] · mmd (Gast) · 04.03.2013 22:32 · [flux]
Gar nicht so schwierig:
gedit
Strg-H (Suchen / Ersetzen)
Nur vollständige Wörter berücksichtigen markieren
Suchen nach r
-> erster TrefferGut ok, ich hab auch in den Sources nachgeschaut und dort gesehen, dass alle Elemente im osm.xml angemeckert werden, die am Ende noch unverarbeitet sind. Das können Tippfehler sein, oder eben irgendwelche überschüssigen Elemente, die schlicht vom Parser nicht angefasst wurden. Macht m.E. auch Sinn um "tote" Regeln,Elemente etc. in einem Style erkennen zu können. Nur die Fehlermeldung selbst wäre wohl besser mit Zeilennummer, ein text 'r' ist doch reichlich unverständlich.
- Re: myMapnik, oder: Dann habe ich was Eigenes [tm] · Vize11 (Gast) · 05.03.2013 12:04 · [flux]
Ein Durchsuchen der xml-Datei hatte ich auch schon überlegt, aber ich hab gedacht, wenn ich einfach nach r suche, dauert das Tage bis ich das Richtige finde...
Na ja, besten Dank nochmal, natürlich auch an alle anderen, für die Hilfe!
Gruß
Andreas