Hi Edward,
I just commented a bit here:
http://gis.stackexchange.com/questions/10442/mapnik-textsymbolizer-showing-nothing-above-openstreetmap-base-layer
But, this mailing list is preferable to work out your issues since I don't get
notifications from stack exchange.
Anyway, without seeing your whole map it is hard to deduce exactly what is
causing your missing labels.
Ideally you could call mapnik.save_map(m,'map.xml') and then post that map.xml
somewhere for me to see.
Dane
On May 30, 2011, at 10:45 PM, Edward Sargisson wrote:
> Hi all,
> (I think my original message bounced because I used the wrong posting
> address. If this is re-post then please accept my apologies).
>
> I'm trying to use Python to create a TextSymbolizer to display a trail
> name above the trail LineSymbolizer. Below this layer is the OSM base
> layer which contains its own data for that trail.
>
> I can display the line but I cannot display any text. I've run out of
> ideas, Google is proving fruitless so I'm looking for new ideas, if I
> may be so bold.
>
> I've compiled Mapnik with debug turned on only to find that there's no
> logging near the text symbolizer code.
> I had a go with gdb but I haven't spent enough time to workout how to
> debug from python into the Mapnik shared library. If anybody has any
> guidance for how to do this then I'd be grateful. I'm happy enough to
> debug but I'm not familiar with gdb.
>
> I also edited the osm.xml and took away the trails and trail names
> which might be interfering with the TextSymbolizer but I didn't see
> any difference.
>
> Relevant code:
> imgx = 400
> imgy = 400
>
> m = mapnik.Map(imgx,imgy)
> m.buffer_size = 1000
>
> workoutParams =
> dict(host='localhost',port='5432',user='postgres',password='password',dbname='postgis')
> workoutParams['estimate_extent'] = False
> workoutParams['extent']='-180,-89.99,180,89.99'
> workoutTable = "(select id, geometry, 'really long trail
> name' as trail_name from pub_trail_segment where pub_trail_id = %s) as
> route" % idNumber
> workoutParams['table']= workoutTable
> workoutDatasource = PostGIS(**workoutParams)
> workoutLayer = Layer('route','+proj=latlong +datum=WGS84')
> workoutLayer.datasource = workoutDatasource
> workoutStyle = mapnik.Style()
> segmentStyleRule = mapnik.Rule()
>
> segmentStyleRule.symbols.append(mapnik.LineSymbolizer(mapnik.Color('blue'),1))
> #50 for print
> segmentTextSymbolizer = mapnik.TextSymbolizer('trail_name',
> 'book-fonts', 20, mapnik.Color('blue'))
> segmentTextSymbolizer.halo_radius = 1
> segmentTextSymbolizer.label_placement =
> mapnik.label_placement.LINE_PLACEMENT
> segmentTextSymbolizer.allow_overlap = True
> segmentTextSymbolizer.avoid_edges = False
>
> segmentStyleRule.symbols.append(segmentTextSymbolizer)
> workoutStyle.rules.append(segmentStyleRule)
> m.append_style('route',workoutStyle)
> workoutLayer.styles.append('route')
> m.layers.append(workoutLayer)
> m.zoom_to_box(bbox)
> im = mapnik.Image(imgx,imgy)
> mapnik.render(m, im)
>
> What am I doing wrong?
>
> Many thanks for any ideas,
> Edward
> _______________________________________________
> Mapnik-users mailing list
> [email protected]
> https://lists.berlios.de/mailman/listinfo/mapnik-users
_______________________________________________
Mapnik-users mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/mapnik-users