Skip to content
Commits on Source (6)
python-mapnik (1:0.0~20180130-804a7947d-2) UNRELEASED; urgency=medium
python-mapnik (1:0.0~20180411-fe47aa15e-1) unstable; urgency=medium
* New upstream git snapshot.
* Update Vcs-* URLs for Salsa.
* Bump Standards-Version to 4.1.4, no changes.
* Rebuild with Mapnik 3.0.20.
-- Bas Couwenberg <sebastic@debian.org> Sat, 31 Mar 2018 12:55:39 +0200
-- Bas Couwenberg <sebastic@debian.org> Sat, 14 Apr 2018 13:00:56 +0200
python-mapnik (1:0.0~20180130-804a7947d-1) unstable; urgency=medium
......
......@@ -6,7 +6,7 @@ Priority: optional
Build-Depends: debhelper (>= 9),
dh-python,
libboost-python-dev,
libmapnik-dev (>= 3.0.19),
libmapnik-dev (>= 3.0.20),
python-all-dev,
python-setuptools,
python-cairo,
......@@ -17,7 +17,7 @@ Build-Depends: debhelper (>= 9),
python3-cairo,
python3-cairo-dev,
python3-nose
Standards-Version: 4.1.3
Standards-Version: 4.1.4
Vcs-Browser: https://salsa.debian.org/debian-gis-team/python-mapnik
Vcs-Git: https://salsa.debian.org/debian-gis-team/python-mapnik.git
Homepage: https://github.com/mapnik/python-mapnik
......
......@@ -164,7 +164,7 @@ sym = mapnik.LineSymbolizer()
# FIXME - currently adding dash arrays is broken
# https://github.com/mapnik/mapnik/issues/2324
sym.stroke = mapnik.Color('black')
sym.stroke_width = 1.0
sym.stroke_width = 1
provlines_rule.symbols.append(sym)
provlines_style.rules.append(provlines_rule)
......@@ -196,7 +196,7 @@ roads34_rule.filter = mapnik.Expression('([CLASS] = 3) or ([CLASS] = 4)')
sym = mapnik.LineSymbolizer()
sym.stroke = mapnik.Color(171,158,137)
sym.stroke_width = 2.0
sym.stroke_width = 2
sym.stroke_linecap = mapnik.stroke_linecap.ROUND_CAP
roads34_rule.symbols.append(sym)
......@@ -219,7 +219,7 @@ roads2_rule_1.filter = mapnik.Expression('[CLASS] = 2')
sym = mapnik.LineSymbolizer()
sym.stroke = mapnik.Color(171,158,137)
sym.stroke_width = 4.0
sym.stroke_width = 4
sym.stroke_linecap = mapnik.stroke_linecap.ROUND_CAP
roads2_rule_1.symbols.append(sym)
roads2_style_1.rules.append(roads2_rule_1)
......@@ -232,7 +232,7 @@ roads2_rule_2.filter = mapnik.Expression('[CLASS] = 2')
sym = mapnik.LineSymbolizer()
sym.stroke = mapnik.Color(255,250,115)
sym.stroke_linecap = mapnik.stroke_linecap.ROUND_CAP
sym.stroke_width = 2.0
sym.stroke_width = 2
roads2_rule_2.symbols.append(sym)
roads2_style_2.rules.append(roads2_rule_2)
......@@ -255,7 +255,7 @@ roads1_rule_1.filter = mapnik.Expression('[CLASS] = 1')
sym = mapnik.LineSymbolizer()
sym.stroke = mapnik.Color(188,149,28)
sym.stroke_linecap = mapnik.stroke_linecap.ROUND_CAP
sym.stroke_width = 7.0
sym.stroke_width = 7
roads1_rule_1.symbols.append(sym)
roads1_style_1.rules.append(roads1_rule_1)
m.append_style('highway-border', roads1_style_1)
......@@ -265,7 +265,7 @@ roads1_rule_2 = mapnik.Rule()
roads1_rule_2.filter = mapnik.Expression('[CLASS] = 1')
sym.stroke = mapnik.Color(242,191,36)
sym.stroke_linecap = mapnik.stroke_linecap.ROUND_CAP
sym.stroke_width = 5.0
sym.stroke_width = 5
roads1_rule_2.symbols.append(sym)
roads1_style_2.rules.append(roads1_rule_2)
......
......@@ -47,9 +47,6 @@
#include <mapnik/group/group_symbolizer_properties.hpp>
#include <mapnik/util/variant.hpp>
// stl
#include <sstream>
using mapnik::symbolizer;
using mapnik::point_symbolizer;
using mapnik::line_symbolizer;
......@@ -73,10 +70,61 @@ using mapnik::parse_path;
namespace {
struct value_to_target
{
value_to_target(mapnik::symbolizer_base & sym, std::string const& name)
: sym_(sym), name_(name) {}
void operator() (mapnik::value_integer const& val)
{
auto key = mapnik::get_key(name_);
switch (std::get<2>(get_meta(key)))
{
case mapnik::property_types::target_bool:
put(sym_, key, static_cast<mapnik::value_bool>(val));
break;
case mapnik::property_types::target_double:
put(sym_, key, static_cast<mapnik::value_double>(val));
break;
default:
put(sym_, key, val);
break;
}
}
void operator() (mapnik::value_double const& val)
{
auto key = mapnik::get_key(name_);
switch (std::get<2>(get_meta(key)))
{
case mapnik::property_types::target_bool:
put(sym_, key, static_cast<mapnik::value_bool>(val));
break;
case mapnik::property_types::target_integer:
put(sym_, key, static_cast<mapnik::value_integer>(val));
break;
default:
put(sym_, key, val);
break;
}
}
template <typename T>
void operator() (T const& val)
{
put(sym_, mapnik::get_key(name_), val);
}
private:
mapnik::symbolizer_base & sym_;
std::string const& name_;
};
using namespace boost::python;
void __setitem__(mapnik::symbolizer_base & sym, std::string const& name, mapnik::symbolizer_base::value_type const& val)
{
put(sym, mapnik::get_key(name), val);
mapnik::util::apply_visitor(value_to_target(sym, name), val);
}
std::shared_ptr<mapnik::symbolizer_base::value_type> numeric_wrapper(const object& arg)
......