Funny Mapnik Rendering Experiments [OSM]
2011-01-9 | 2:25 pm | Kein Kommentar »
I made some experiments with mapnik rendering. Have a look a the slippy map of Reykjavik with funny colours.
Rendering with Mapnik [OSM]
2011-01-9 | 12:47 pm | Kein Kommentar »
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 admin einrichten
Siehe http://wiki.ubuntuusers.de/PostgreSQL#Admin-Passwort-einrichten
standard admin user heisst postgres
sudo sudo -u postgres psql
\password postgres # passwort einrichten
\q # postgres verlassen
OSM DB anlegen
sudo sudo -u postgres createdb osm
postgis aktivieren fuer die OSM DB
Alle folgenden postgres Befehle unter dem Benutzer postgres durchfuehren.
sudo sudo -u postgres
createlang plpgsql -d osm
psql osm -f /usr/share/postgresql/8.4/contrib/postgis-1.5/postgis.sql
psql osm -f /usr/share/postgresql/8.4/contrib/postgis-1.5/spatial_ref_sys.sql
psql osm –command ‚GRANT SELECT ON spatial_ref_sys TO PUBLIC‘
psql osm –command ‚GRANT ALL ON geometry_columns TO PUBLIC‘
Import Script osm2pgsql
osm2pgsql importiert nur tags, die in dem Konfigurationsfile default.style festgelegt sind. Will man andere Tags kann man entweder default.style editieren oder ein anderes Style File angeben. Mit der Option –style wird default.style ueberschrieben.
-S|–style Location of the style file. Defaults to /usr/share/osm2pgsql/default.style
OSM Daten in postgres DB einlesen
sudo sudo -u postgres osm2pgsql -d osm iceland.osm.bz2
Die Mapnik Bibliothek
Ubuntu Pakete python-mapnik und libmapnik0.7.
Skripte um Mapnik zu verwenden
Skripte, die mit Hilfe von Mapnik Tiles erzeugen erhaelt man aus dem osm svn.
svn checkout http://svn.openstreetmap.org/applications/rendering/mapnik/
osm.xml
osm.xml ist das Stylesheet File um das es beim Rendering mit Mapnik geht. Dort sind Styles, Farben, Linien, Layers etc definiert.
generate_xml.py
generate_xml.py befuellt osm.xml mit postgres Zugangsdaten u.a.
./generate_xml.py osm.xml my_osm.xml
–host localhost
–user postgresuser
–dbname osm
–symbols ./symbols/
–world_boundaries ./world_boundaries/
–port 5432
–password posrgrespassword
Rendering festlegen
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.
apt-get install mapnik-viewer
Tiles erzeugen mit generate_tiles.py
generate_tiles.py erzeugt Tiles aus dem OSM-XML-File.
Einige Kleinigkeiten muss man mit Hand anpassen:
bbox Ausschnitt festlegen
Im Beispiel die geographischen Koordinaten von Reykjavik.
Vorsicht nur kleine Ausschnitte rendern. Reykjavik dauert einige Stunden. Island eine ganze Nacht (und Island hat im Moment noch extrem wenig Daten, ist also vergleichsweise „klein“). Die ganze Welt wuerde ein Jahr dauern.
bbox = (-22.10,64.01, -21.60,64.25)
XML-File, dass verwendet werden soll
Das File, das man sich vorher mit generate_xml. erzeugt hat.
Und in dem man dann Farben, Groessen, etc. für die einzelnen Objekte festgelegt hat.
mapfile = „/absoluter_pfad/osm_reykjavik.xml“
Verzeichnis in das die Tiles gespeichert werden sollen
tile_dir = „/absoluter_pfad/tiles_reykjavik/“
Siehe
- Das Buch „OpenStreetMap“ von Frederik Ramm und Jochen Topf.
- http://wiki.openstreetmap.org/wiki/Mapnik