{"id":194,"date":"2011-01-09T12:47:09","date_gmt":"2011-01-09T10:47:09","guid":{"rendered":"http:\/\/blog.hermione.de\/?p=194"},"modified":"2011-01-09T15:47:59","modified_gmt":"2011-01-09T13:47:59","slug":"rendering-with-mapnik-osm","status":"publish","type":"post","link":"http:\/\/blog.hermione.de\/?p=194","title":{"rendered":"Rendering with Mapnik [OSM]"},"content":{"rendered":"<h4>osm daten runterladen<\/h4>\n<p>Kleiner Auschnitte von <em>http:\/\/download.geofabrik.de\/osm<\/em><\/p>\n<p>Beispiel Island<br \/>\n<em>wget http:\/\/download.geofabrik.de\/osm\/europe\/iceland.osm.bz2<\/em><\/p>\n<h4>Kuestenlinien und Grenzen<\/h4>\n<p>Das Verzeichnis <em>world_boundaries<\/em> ins mapnik Verzeichnis linken damit generate_tiles es findet.<\/p>\n<p><em>wget http:\/\/tile.openstreetmap.org\/world_boundaries-spherical.tgz<br \/>\nwget http:\/\/tile.openstreetmap.org\/processed_p.tar.bz2<br \/>\nwget http:\/\/tile.openstreetmap.org\/shoreline_300.tar.bz2<br \/>\nwget http:\/\/www.nacis.org\/naturalearth\/10m\/cultural\/10m-populated-places.zip<br \/>\nwget http:\/\/www.nacis.org\/naturalearth\/110m\/cultural\/110m-admin-0-boundary-lines.zip<\/em><\/p>\n<h4>Icons<\/h4>\n<p>Verzeichnis symbols wird benoetigt fuer mapnik.<br \/>\n<em>svn checkout http:\/\/svn.openstreetmap.org\/applications\/rendering\/mapnik\/symbols\/<\/em><\/p>\n<h4>Installieren von postgres und postgis<\/h4>\n<p><em>postgresql-8.4<br \/>\npostgresql-client-8.4<br \/>\npostgresql-8.4-postgis<br \/>\npostgis<\/em><\/p>\n<h4>postgres admin einrichten<\/h4>\n<p>Siehe <a href=\"http:\/\/wiki.ubuntuusers.de\/PostgreSQL#Admin-Passwort-einrichten\">http:\/\/wiki.ubuntuusers.de\/PostgreSQL#Admin-Passwort-einrichten<\/a><br \/>\nstandard admin user heisst postgres<br \/>\n<em>sudo sudo -u postgres psql<\/em><br \/>\n<em>\\password postgres<\/em> # passwort einrichten<br \/>\n<em>\\q<\/em> # postgres verlassen<\/p>\n<h4>OSM DB anlegen<\/h4>\n<p>sudo sudo -u postgres createdb osm<\/p>\n<h4>postgis aktivieren fuer die OSM DB<\/h4>\n<p>Alle folgenden postgres Befehle unter dem Benutzer postgres durchfuehren.<br \/>\nsudo sudo -u postgres<\/p>\n<p><em>createlang plpgsql -d osm<br \/>\npsql osm -f \/usr\/share\/postgresql\/8.4\/contrib\/postgis-1.5\/postgis.sql<br \/>\npsql osm -f \/usr\/share\/postgresql\/8.4\/contrib\/postgis-1.5\/spatial_ref_sys.sql<br \/>\npsql osm &#8211;command &#8218;GRANT SELECT ON spatial_ref_sys TO PUBLIC&#8216;<br \/>\npsql osm &#8211;command &#8218;GRANT ALL ON geometry_columns TO PUBLIC&#8216;<\/em><\/p>\n<h4>Import Script osm2pgsql<\/h4>\n<p>osm2pgsql importiert nur tags, die in dem Konfigurationsfile <em>default.style<\/em> festgelegt sind. Will man andere Tags kann man entweder default.style editieren oder ein anderes Style File angeben. Mit der Option &#8211;style wird default.style ueberschrieben.<br \/>\n-S|&#8211;style     Location of the style file. Defaults to \/usr\/share\/osm2pgsql\/default.style<\/p>\n<h4>OSM Daten in postgres DB einlesen<\/h4>\n<p><em>sudo sudo -u postgres osm2pgsql -d osm iceland.osm.bz2<\/em><\/p>\n<h4>Die Mapnik Bibliothek<\/h4>\n<p>Ubuntu Pakete <em>python-mapnik<\/em> und<em> libmapnik0.7<\/em>.<\/p>\n<h4>Skripte um Mapnik zu verwenden<\/h4>\n<p>Skripte, die mit Hilfe von Mapnik Tiles erzeugen erhaelt man aus dem osm svn.<br \/>\n<em>svn checkout http:\/\/svn.openstreetmap.org\/applications\/rendering\/mapnik\/<\/em><\/p>\n<h4>osm.xml<\/h4>\n<p>osm.xml ist das Stylesheet File um das es beim Rendering mit Mapnik geht. Dort sind Styles, Farben, Linien, Layers etc definiert.<\/p>\n<h4>generate_xml.py<\/h4>\n<p>generate_xml.py befuellt osm.xml mit postgres Zugangsdaten u.a.<br \/>\n<em>.\/generate_xml.py osm.xml my_osm.xml<br \/>\n&#8211;host localhost<br \/>\n&#8211;user postgresuser<br \/>\n&#8211;dbname osm<br \/>\n&#8211;symbols .\/symbols\/<br \/>\n&#8211;world_boundaries .\/world_boundaries\/<br \/>\n&#8211;port 5432<br \/>\n&#8211;password posrgrespassword<\/em><\/p>\n<h4>Rendering festlegen<\/h4>\n<p>Hier findet die eigentliche Arbeit, um die es geht statt :) Das my_osm.xml wird editiert. Mit dem Mapnik Viewer koennen die Aenderungen live ueberprueft werden.<br \/>\n<em>apt-get install mapnik-viewer<\/em><\/p>\n<h4>Tiles erzeugen mit generate_tiles.py<\/h4>\n<p>generate_tiles.py erzeugt Tiles aus dem OSM-XML-File.<br \/>\nEinige Kleinigkeiten muss man mit Hand anpassen:<\/p>\n<p><strong>bbox Ausschnitt festlegen <\/strong><br \/>\nIm Beispiel die geographischen Koordinaten von Reykjavik.<br \/>\nVorsicht nur kleine Ausschnitte rendern. Reykjavik dauert einige Stunden. Island eine ganze Nacht (und Island hat im Moment noch extrem wenig Daten, ist also vergleichsweise &#8222;klein&#8220;). Die ganze Welt wuerde ein Jahr dauern.<br \/>\n<em>bbox = (-22.10,64.01, -21.60,64.25)<\/em><\/p>\n<p><strong>XML-File, dass verwendet werden soll<\/strong><br \/>\nDas File, das man sich vorher mit generate_xml. erzeugt hat.<br \/>\nUnd in dem man dann Farben, Groessen, etc. f\u00fcr die einzelnen Objekte festgelegt hat.<br \/>\n<em>mapfile = &#8222;\/absoluter_pfad\/osm_reykjavik.xml&#8220;<\/em><\/p>\n<p><strong>Verzeichnis in das die Tiles gespeichert werden sollen<\/strong><br \/>\n<em>tile_dir = &#8222;\/absoluter_pfad\/tiles_reykjavik\/&#8220;<\/em><\/p>\n<h4>Siehe<\/h4>\n<ul>\n<li>Das Buch <a href=\"http:\/\/www.openstreetmap.info\">&#8222;OpenStreetMap&#8220;<\/a> von Frederik Ramm und Jochen Topf.<\/li>\n<li>http:\/\/wiki.openstreetmap.org\/wiki\/Mapnik<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>osm daten runterladen Kleiner Auschnitte von http:\/\/download.geofabrik.de\/osm Beispiel Island wget http:\/\/download.geofabrik.de\/osm\/europe\/iceland.osm.bz2 Kuestenlinien und Grenzen Das Verzeichnis world_boundaries ins mapnik Verzeichnis linken damit generate_tiles es findet. wget http:\/\/tile.openstreetmap.org\/world_boundaries-spherical.tgz wget http:\/\/tile.openstreetmap.org\/processed_p.tar.bz2 wget http:\/\/tile.openstreetmap.org\/shoreline_300.tar.bz2 wget http:\/\/www.nacis.org\/naturalearth\/10m\/cultural\/10m-populated-places.zip wget http:\/\/www.nacis.org\/naturalearth\/110m\/cultural\/110m-admin-0-boundary-lines.zip Icons Verzeichnis symbols wird benoetigt fuer mapnik. svn checkout http:\/\/svn.openstreetmap.org\/applications\/rendering\/mapnik\/symbols\/ Installieren von postgres und postgis postgresql-8.4 postgresql-client-8.4 postgresql-8.4-postgis postgis postgres [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[22],"tags":[],"_links":{"self":[{"href":"http:\/\/blog.hermione.de\/index.php?rest_route=\/wp\/v2\/posts\/194"}],"collection":[{"href":"http:\/\/blog.hermione.de\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/blog.hermione.de\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/blog.hermione.de\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/blog.hermione.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=194"}],"version-history":[{"count":4,"href":"http:\/\/blog.hermione.de\/index.php?rest_route=\/wp\/v2\/posts\/194\/revisions"}],"predecessor-version":[{"id":198,"href":"http:\/\/blog.hermione.de\/index.php?rest_route=\/wp\/v2\/posts\/194\/revisions\/198"}],"wp:attachment":[{"href":"http:\/\/blog.hermione.de\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=194"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/blog.hermione.de\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=194"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/blog.hermione.de\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}