#!/usr/bin/env python
-try:
- import mapnik2 as mapnik
-except:
- import mapnik
+import mapnik
import sys, os
def render_map(mapfile,map_uri,gpx_file,imgx,imgy):
- xml = etree.parse(gpx_file)
+ with open(gpx_file,'r') as f:
+ data = f.read()
+
+ xml = etree.fromstring(data)
gpx = pygpx.GPX()
gpx.ReadTree(xml)
style = mapnik.Style()
rule = mapnik.Rule()
- point_symbolizer = mapnik.MarkersSymbolizer()
- point_symbolizer.allow_overlap = True
- point_symbolizer.opacity = 0.8 # semi-transparent
- rule.symbols.append(point_symbolizer)
+ line_symbolizer = mapnik.LineSymbolizer()
+
+ line_symbolizer.stroke = mapnik.Color('rgb(0,0,127)')
+ line_symbolizer.stroke_width = 4.0
+ line_symbolizer.stroke_opacity = 0.5
+
+ rule.symbols.append(line_symbolizer)
style.rules.append(rule)
m.append_style('GPS_tracking_points', style)
layer = mapnik.Layer('GPS_tracking_points')
- layer.datasource = mapnik.Ogr(file=gpx_file, layer='track_points')
+ layer.datasource = mapnik.Ogr(file=gpx_file, layer='tracks')
layer.styles.append('GPS_tracking_points')
m.layers.append(layer)
from os.path import dirname
conn = sqlite3.connect(db)
+ conn.text_factory = str
cur = conn.cursor()
updcur = conn.cursor()
if options.mapfile:
mapfile = options.mapfile
else:
- mapfile = "/etc/mapnik-osm-carto-data/veloroad-transparent.xml"
+ mapfile = "/etc/mapnik-osm-carto-data/veloroad-imposm.xml"
if options.outfile:
map_uri = options.outfile
if options.x:
imgx = int(options.x)
else:
- imgx= 400
+ imgx= 640
if options.y:
imgy = int(options.y)
else:
- imgy= 400
+ imgy= 640
if options.db:
render_all(options.db,mapfile,imgx,imgy)