x

Selbstgerenderte Kacheln unvollständig/fehlerhaft


  1. Selbstgerenderte Kacheln unvollständig/fehlerhaft · meik2108 (Gast) · 05.11.2014 14:25 · [flux]

    Hallo, ich habe unter Windows Kartenkacheln mit Mapnik und dem Standard Stylesheet gerendert.
    In den fertigen Kacheln sind mehrere Fehler enthalten, die ich mir einfach nicht erklären kann.
    - Straßen werden unvollständig gezeichnet
    - Details weichen von denen auf der Webseite vorhandenen Kacheln ab
    - Straßenbezeichnungen werden an den Kachelrändern einfach abgeschnitten

    Ich habe den Importvorgang der osm-Daten in die pg-Datenbank mehrfach vorgenommen und auch das rendern selbst mehrfach versucht und komme immer zum gleichen Ergebnis.
    Unten sind mal zwei Kartenausschnitte um zu verdeutlichen was ich meine (selbst gerendert + Auschnitt von http://www.openstreetmap.de/karte.html).

    Hat irgend jemand eine Idee, was ich falsch gemacht haben könnte?



    Vielen Dank für eure Hilfe


    • Re: Selbstgerenderte Kacheln unvollständig/fehlerhaft · KonB (Gast) · 05.11.2014 14:54 · [flux]

      Ich habe keine Ahnung von Mapnik; aber weil da ja einzelne ganz gewöhnliche Nodes zu fehlen scheinen, habe ich einige von denen angeschaut und festgestellt, dass die IDs > 2^31 haben. Das könnte bei älteren Programmen Probleme verursachen.


    • Re: Selbstgerenderte Kacheln unvollständig/fehlerhaft · brogo (Gast) · 05.11.2014 14:57 · [flux]

      meik2108 wrote:

      Ich habe den Importvorgang der osm-Daten in die pg-Datenbank mehrfach vorgenommen [...]

      Woher hast Du denn die Daten? Für mich sieht es einfach so aus, als seien die Daten unvollständig.

      Andere Vermutung: kommen alle Deine Programme (z.B. osm2pgsql) mit 64-Bit-Node-IDs zurecht?

      Christian


    • Re: Selbstgerenderte Kacheln unvollständig/fehlerhaft · meik2108 (Gast) · 05.11.2014 15:00 · [flux]

      das mit den 64 bit werde ich mal prüfen, osm2pgsql hab ich auf jeden fall die 64bit variante genommen.

      Die Daten habe ich von geofabrik


    • Re: Selbstgerenderte Kacheln unvollständig/fehlerhaft · rayquaza (Gast) · 05.11.2014 15:33 · [flux]

      meik2108 wrote:

      - Details weichen von denen auf der Webseite vorhandenen Kacheln ab

      Damit meinst du vermutlich, dass Farben und Schrift etwas anders sind? Daran wurde kürzlich was geändert, bei dir ist noch die alte Version des Stils zu sehen. Also diesbezüglich alles in Ordnung.

      meik2108 wrote:

      das mit den 64 bit werde ich mal prüfen, osm2pgsql hab ich auf jeden fall die 64bit variante genommen.

      Die Frage hat nichts mit der Prozessorarchitektur zu tun. Könntest du alle beteiligten Anwendungen mit Versionsbezeichnung hier auflisten?


    • Re: Selbstgerenderte Kacheln unvollständig/fehlerhaft · meik2108 (Gast) · 05.11.2014 16:15 · [flux]

      Postgres hatte ich die 32 Bit Variante installiert, das hab ich also nochmal neu installiert.

      Verwende jetzt:
      postgresql-9.3.5-1-windows-x64
      postgis-bundle-pg93x64-setup-2.1.4-1
      python-2.7.8 als 32 Bit. Irgendwo hab ich gelesen, dass man die nehmen soll. Mit der 64 Bit Version bekomme ich auch einen dll load error
      mapnik-win-v2.2.0
      osm2pgsql x64 (Version kann ich gerade nicht rausfinden)

      Das Problem besteht immernoch


    • Re: Selbstgerenderte Kacheln unvollständig/fehlerhaft · maxbe (Gast) · 05.11.2014 16:33 · [flux]

      Schau doch mal, ob du die Daten in der Datenbank hast, z.B. den Weg 194603896, das ist der Kreisverkehr An der Sonnenseite:

      select␣highway,way␣from␣osm_line␣where␣osm_id=194603896;
      highway␣|␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣way
      --------+---------------------------------------------
      primary␣|␣010200002031BF0D0003000000.....
      

      In der Tabelle mit den Nodes könntest Du z.B. die Ampel suchen

      select␣highway,way␣from␣osm_point␣where␣osm_id=290602747;
      highway␣␣␣␣|␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣␣way
      --------------+----------------------------------------------------
      traffic_sign␣|␣010100002031BF␣.....
      

      (vielleicht heissen bei dir die Tabelle nicht osm_line und osm_point, sondern planet_line und planet_point oder so ähnlich...)

      Dann wüsste man schon mal, ob die Wege vor oder nach dem Einlesen in die Datenbank verloren gingen...


    • Re: Selbstgerenderte Kacheln unvollständig/fehlerhaft · meik2108 (Gast) · 05.11.2014 16:50 · [flux]

      Die Ampel ist drin, der Kreisverkehr nicht


    • Re: Selbstgerenderte Kacheln unvollständig/fehlerhaft · maxbe (Gast) · 05.11.2014 17:04 · [flux]

      meik2108 wrote:

      Die Ampel ist drin, der Kreisverkehr nicht

      Der Weg hat nur "alte" Knoten mit ID<2^31.... Am 32-Bit-Problem wird es also eher nicht liegen...
      Dass es am Import-Stil liegt, kann ich mir nicht vorstellen, weil so ziemlich jede Strassenklasse importiert wird, nur halt nicht jedes Straßenstück...

      Welche Daten von der Geofabrik hast du denn genommen?


    • Re: Selbstgerenderte Kacheln unvollständig/fehlerhaft · meik2108 (Gast) · 05.11.2014 18:15 · [flux]

      Sowohl die germany-latest.osm.pbf als auch die sachsen-anhalt-latest.osm.pbf

      Aber natürlich nicht gleichzeitig


    • Re: Selbstgerenderte Kacheln unvollständig/fehlerhaft · maxbe (Gast) · 05.11.2014 18:31 · [flux]

      In sachsen-anhalt-latest.osm.pbf ist der Kreisverkehr drin. Sorry, dann weiss ich auch nix mehr


    • Re: Selbstgerenderte Kacheln unvollständig/fehlerhaft · wambacher (Gast) · 05.11.2014 18:59 · [flux]

      Bitte alle Kommandos posten - vom download über den import und die sql-abfrage. da ist bestimmt eine winzige Kleinigkeit faul.

      Noch besser die Logs vom Import.

      Und bitte nicht "Ich hab das genau nach der und der Anleitung gemacht" - das bringt nix.

      Gruss
      walter


    • Re: Selbstgerenderte Kacheln unvollständig/fehlerhaft · meik2108 (Gast) · 06.11.2014 08:46 · [flux]

      svn.openstreetmap.org/applications/rendering/mapnik/ in Verzeichnis "D:\mapnik" kopiert

      osm2pgsql.zip ebenfalls in das Verzeichnis entpackt

      Folgende Archive heruntergeladen und in das Verzeichnis "D:\mapnik\world_boundaries" entpackt

      ne_10m_populated_places.zip
      ne_10m_admin_0_countries.zip
      ne_110m_admin_0_boundary_lines_land.zip
      world_boundaries-spherical.tgz
      shoreline_300.tar.bz
      processed_p.tar.bz
      land-polygons-split-3857.zip
      simplified-land-polygons-complete-3857.zip

      Postgres, Postgis und Python installiert

      mapnik-win-v2.2.0.zip nach C: entpackt

      Umgebungsvariablen angepasst

      Name: PATH
      Wert: C:\mapnik-win-v2.2.0\lib;C:\Python27;...

      Name: PYTHONPATH
      Wert: C:\mapnik-win-v2.2.0\python\2.7\site-packages\

      In der Datei C:\Program Files\PostgreSQL\9.3\data\pg_hba.conf md5 durch trust ersetzt.

      "C:\Program Files\PostgreSQL\9.3\bin\createuser" -U postgres benutzer
      "C:\Program Files\PostgreSQL\9.3\bin\createdb" -U postgres -E UTF8 -O benutzer osmde
      "C:\Program Files\PostgreSQL\9.3\bin\createlang" -U postgres plpgsql osmde
      "C:\Program Files\PostgreSQL\9.3\bin\psql" -U postgres -d osmde -f "C:\Program Files\PostgreSQL\9.3\share\contrib\postgis-2.1\postgis.sql"
      "C:\Program Files\PostgreSQL\9.3\bin\psql" -U postgres -d osmde -f "C:\Program Files\PostgreSQL\9.3\share\contrib\postgis-2.1\spatial_ref_sys.sql"
      "C:\Program Files\PostgreSQL\9.3\bin\psql" -U postgres -d osmde -c "GRANT SELECT ON spatial_ref_sys TO PUBLIC;"
      "C:\Program Files\PostgreSQL\9.3\bin\psql" -U postgres -d osmde -c "GRANT ALL ON geometry_columns TO benutzer;"
      "C:\Program Files\PostgreSQL\9.3\bin\psql" -U postgres -d osmde -c "create extension hstore;"

      "D:\mapnik\osm2pgsql\x64\osm2pgsql" -U postgres -d osmde -C 6500 --hstore --hstore-match-only "D:\sachsen-anhalt-latest.osm.pbf"

      "C:\Program Files\PostgreSQL\9.3\bin\psql" -U postgres -d osmde

      SELECT populate_geometry_columns();

      "D:\mapnik\generate_xml.py" --host 'localhost' --port 5432 --dbname osmde --user postgres --password '' --inc D:/mapnik/inc --world_boundaries D:/mapnik/world_boundaries D:/mapnik/osm.xml > D:/mapnik/osm-local.xml

      In der Datei generate_tiles.py die Variablen tile_dir und mapfile angepasst und den zu rendernden Ausschnitt festgelegt

      "D:\mapnik\generate_tiles.py"

      Ein Import-Log hab ich nicht, wie bekomm ich das denn?


    • Re: Selbstgerenderte Kacheln unvollständig/fehlerhaft · wambacher (Gast) · 06.11.2014 09:55 · [flux]

      Hi Mike,

      meik2108 wrote:

      Ein Import-Log hab ich nicht, wie bekomm ich das denn?

      Auf den ersten - und auch 2. - Blick sieht das ganz vernünftig aus.
      Auf dem 3. Blick aber: nimm bitte --hstore-match-only raus . das ist mir sehr suspekt. Kannst dir das Logging erst mal sparen. DB brauchst du auch nicht neu aufsetzen, osm2pgsql reicht.

      Wenn es immer noch klemmt:

      Wie du das unter Windows protokollierst?

      Schaffe schon lange nicht mehr mit MS, aber eventuell geht das hier:

      Bei den Einstellungen für das Terminalfenster - oder wie immer das jetzt bei Win heisst - die Buffergröße auf ~1000 oder mehr stellen.
      Batch in diesem Fenster laufen lassen und nachher mit cut/paste den Log rausholen.

      Rendern brauchst du nicht, da ja vorher schon zu sehen war, dass manche Daten in der DB nicht ankommen.

      Gruss
      walter


    • Re: Selbstgerenderte Kacheln unvollständig/fehlerhaft · meik2108 (Gast) · 06.11.2014 13:33 · [flux]

      Ich habe mit osmconvert mal nur einen kleinen Ausschnitt aus der osm-Datei extrahiert und in die Datenbank importiert.

      Der Fehler mit den abgeschnittenen Icons ist immer noch, aber Straßen und Gebäude sind in den Kacheln nun alle da. Ich hab keine Ahnung warum es mit einer kleinen Datei funktioniert und mit größeren Dateien nicht :-(


    • Re: Selbstgerenderte Kacheln unvollständig/fehlerhaft · meik2108 (Gast) · 06.11.2014 15:46 · [flux]

      Ich danke euch erstmal vielmals für eure Hilfe. Ich hab den Fehler jetzt gefunden: Es liegt an den pbf-Dateien, die will osm2pgsql scheinbar nicht richtig verarbeiten. Wenn ich stattdessen die bz2 nehme, dann funktioniert es, wenn auch wesentlich langsamer.

      Das mit den abgeschnittenen Symbolen hab ich mit minimum-margin="10" lösen können