Mapnik 2.2消失标记(MarkerSymbolizer)

时间:2017-08-03 19:07:43

标签: mapnik

我在Ubuntu 16.04环境中使用Python 2.7的Mapnik v2.2.0。应用程序使用各种坐标处的一组MarkerSymbolizers生成地图。在一个地图中,当MarkerSymbolizers设置为25x25像素时,其中一个标记不会出现。如果标记大小设置为15x15,则会显示所有标记。

标记是从csv文件加载的:

    layer = mapnik.Layer('GPS_tracking_points')
    layer.datasource = mapnik.CSV(file=leak_file_name, layer_by_index=0)

样式如下:

            point_style = mapnik.Style()
            point_rule = mapnik.Rule()
            point_filter = mapnik.Filter ("[val] > 10")
            point_rule.filter = point_filter
            point_point_symbolizer = mapnik.MarkersSymbolizer()
            point_point_symbolizer.width = mapnik.Expression ('25')
            point_point_symbolizer.height = mapnik.Expression ('25')
            point_point_symbolizer.fill = mapnik.Color ('#ff0000')
            point_point_symbolizer.allow_overlap = True
            point_point_symbolizer.opacity = 0.5 # semi-transparent
            point_rule.symbols.append(point_point_symbolizer)
            point_style.rules.append(point_rule)
            map_canvas.append_style('high', point_style)

屏幕截图如下。

感谢任何帮助。

感谢。

Image missing Marker

Image with all markers

1 个答案:

答案 0 :(得分:0)

问题似乎与Mapnik 2.2在代码与xml中处理样式的方式有关。我将样式规范移到xml文件中,一切都按预期工作。

答案在这里找到:https://github.com/mapnik/python-mapnik/issues/117