Hallo Lars,
danke für Deine Hinweise. Ich hab es jetzt geschafft, ein PNG zu
exportieren. Juhu :) Der entscheidende letzte Baustein, der mir noch
fehlte, war ein Python-Skript zu schreiben, welches über die Mapnik-API
das PNG erzeugt.
Meine Schritte waren jetzt:
- eine neue PostGIS Datenbank namens "gis" anlegen (anscheinend wird das
vom Style vorausgesetzt?)- eine OSM-Datei für ein Bundesland nach
PostGIS (nach "gis") importiert
- NPM installiert (sudo apt-get install npm)
- Carto installiert (https://github.com/mapbox/carto/blob/master/README.md)
- gravitysorm/openstreetmap-carto installiert
(https://github.com/gravitystorm/openstreetmap-carto/blob/master/INSTALL.md)
- gemäß INSTALL.md die Shapefiles runtergeladen und Fonts installiert
- mittels Carto aus der project.mml die mapnik.xml erzeugt (carto
project.mml > mapnik.xml)
- und dann besagtes Python-Skript geschrieben (habe ich unten mal angehängt)
Jetzt kann ich mich erstmal weiter mit dem Styling beschäftigen.
> Sag doch mal welche Anleitung du probiert hast und wo du gerade nicht
> weiter kommst. Veraltete Anleitungen können ja aktualisiert werden ;)
>
Ich hatte es erst mit "Mapnik/Rendering OSM XML data directly" probiert.
Aber das osm-Plugin scheint in Mapnik 3 nicht mehr unterstützt.
Dann hatte ich "DE:HowTo_Mapnik_%26_Tirex#Mapnik_testen" gefunden, doch
der Link zu dem render-tool auf toolserver.org ist tot, da ja Toolserver
schon vor einer Weile abgeschaltet wurde.
Der sehr große Artikel "DE:Mapnik" war auch nicht sehr hilfreich, da
sehr konfus.
Vielleicht magst Du ja die OSGeo-Live DVD um einen fertigen Stack zur
lokalen Erzeugung einer OSM-Karte ergänzen.
Mit dem MapBox Studio geht das Styling zwar sehr komfortabel, nur darf
ich diese Karten leider nicht in Wikipedia nutzen, da die keine Freie
Lizenz haben. Aber so wie ich das verstehe, darf ich MapBox zumindest
nutzen, um einen eigenen Style zu entwickeln.
Grüße
Alex
--------------- generate_map.py -------------------------
import mapnik
import sys, os
merc = mapnik.Projection('+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0
+lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs +over')
longlat = mapnik.Projection('+proj=longlat +ellps=WGS84 +datum=WGS84
+no_defs')
imgx = 2000
imgy = 2000
map_uri = "image.png"
m = mapnik.Map(imgx,imgy)
bounds = (13.31,52.48, 13.36,52.51)
if hasattr(mapnik,'Box2d'):
bbox = mapnik.Box2d(*bounds)
else:
bbox = mapnik.Envelope(*bounds)
transform = mapnik.ProjTransform(longlat,merc)
merc_bbox = transform.forward(bbox)
sys.stdout.write('merc_bbox %s!\n' % merc_bbox)
mapnik.load_map(m, "/home/user/openstreetmap-carto-master/mapnik.xml")
m.zoom_to_box(merc_bbox)
im = mapnik.Image(imgx,imgy)
mapnik.render(m, im)
im.save(map_uri,'png')
sys.stdout.write('output image to %s!\n' % map_uri)
_______________________________________________
Talk-de mailing list
Talk-de@openstreetmap.org
https://lists.openstreetmap.org/listinfo/talk-de