make it possible to disable compilation of grid_renderer - closes #1962
This commit is contained in:
parent
5ad2ebb30e
commit
ef4dfeb747
14 changed files with 507 additions and 395 deletions
|
@ -8,6 +8,10 @@ For a complete change history, see the git log.
|
||||||
|
|
||||||
## Future
|
## Future
|
||||||
|
|
||||||
|
- Added to python bindings: `has_tiff`, `has_png`, `has_webp`, `has_proj4`, `has_svg_renderer`, and `has_grid_renderer`
|
||||||
|
|
||||||
|
- Made it possible to disable compilation of `grid_renderer` with `./configure GRID_RENDERER=False` (#1962)
|
||||||
|
|
||||||
- Added `webp` image encoding and decoding support (#1955)
|
- Added `webp` image encoding and decoding support (#1955)
|
||||||
|
|
||||||
- Added `premultiplied` property on mapnik::image_32 / mapnik.Image to enable knowledge of premultiplied status of image buffer.
|
- Added `premultiplied` property on mapnik::image_32 / mapnik.Image to enable knowledge of premultiplied status of image buffer.
|
||||||
|
|
|
@ -336,6 +336,7 @@ opts.AddVariables(
|
||||||
|
|
||||||
# Variables affecting rendering back-ends
|
# Variables affecting rendering back-ends
|
||||||
|
|
||||||
|
BoolVariable('GRID_RENDERER', 'build support for native grid renderer', 'True'),
|
||||||
BoolVariable('SVG_RENDERER', 'build support for native svg renderer', 'False'),
|
BoolVariable('SVG_RENDERER', 'build support for native svg renderer', 'False'),
|
||||||
BoolVariable('CPP_TESTS', 'Compile the C++ tests', 'True'),
|
BoolVariable('CPP_TESTS', 'Compile the C++ tests', 'True'),
|
||||||
BoolVariable('BENCHMARK', 'Compile the C++ benchmark scripts', 'False'),
|
BoolVariable('BENCHMARK', 'Compile the C++ benchmark scripts', 'False'),
|
||||||
|
@ -447,6 +448,7 @@ pickle_store = [# Scons internal variables
|
||||||
'CAIRO_LIBPATHS',
|
'CAIRO_LIBPATHS',
|
||||||
'CAIRO_ALL_LIBS',
|
'CAIRO_ALL_LIBS',
|
||||||
'CAIRO_CPPPATHS',
|
'CAIRO_CPPPATHS',
|
||||||
|
'GRID_RENDERER',
|
||||||
'SVG_RENDERER',
|
'SVG_RENDERER',
|
||||||
'SQLITE_LINKFLAGS',
|
'SQLITE_LINKFLAGS',
|
||||||
'BOOST_LIB_VERSION_FROM_HEADER',
|
'BOOST_LIB_VERSION_FROM_HEADER',
|
||||||
|
|
|
@ -20,6 +20,8 @@
|
||||||
*
|
*
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
|
#if defined(GRID_RENDERER)
|
||||||
|
|
||||||
// boost
|
// boost
|
||||||
#include <boost/python.hpp>
|
#include <boost/python.hpp>
|
||||||
#include <boost/python/module.hpp>
|
#include <boost/python/module.hpp>
|
||||||
|
@ -80,3 +82,5 @@ void export_grid()
|
||||||
;
|
;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
|
@ -20,6 +20,8 @@
|
||||||
*
|
*
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
|
#if defined(GRID_RENDERER)
|
||||||
|
|
||||||
// boost
|
// boost
|
||||||
#include <boost/python.hpp>
|
#include <boost/python.hpp>
|
||||||
#include <boost/python/module.hpp>
|
#include <boost/python/module.hpp>
|
||||||
|
@ -49,3 +51,5 @@ void export_grid_view()
|
||||||
)
|
)
|
||||||
;
|
;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
|
@ -41,8 +41,10 @@ void export_image();
|
||||||
void export_image_view();
|
void export_image_view();
|
||||||
void export_gamma_method();
|
void export_gamma_method();
|
||||||
void export_scaling_method();
|
void export_scaling_method();
|
||||||
|
#if defined(GRID_RENDERER)
|
||||||
void export_grid();
|
void export_grid();
|
||||||
void export_grid_view();
|
void export_grid_view();
|
||||||
|
#endif
|
||||||
void export_map();
|
void export_map();
|
||||||
void export_python();
|
void export_python();
|
||||||
void export_expression();
|
void export_expression();
|
||||||
|
@ -92,7 +94,9 @@ void export_logger();
|
||||||
#include <mapnik/value_error.hpp>
|
#include <mapnik/value_error.hpp>
|
||||||
#include <mapnik/save_map.hpp>
|
#include <mapnik/save_map.hpp>
|
||||||
#include <mapnik/scale_denominator.hpp>
|
#include <mapnik/scale_denominator.hpp>
|
||||||
|
#if defined(GRID_RENDERER)
|
||||||
#include "python_grid_utils.hpp"
|
#include "python_grid_utils.hpp"
|
||||||
|
#endif
|
||||||
#include "mapnik_value_converter.hpp"
|
#include "mapnik_value_converter.hpp"
|
||||||
#include "mapnik_threads.hpp"
|
#include "mapnik_threads.hpp"
|
||||||
#include "python_optional.hpp"
|
#include "python_optional.hpp"
|
||||||
|
@ -366,7 +370,33 @@ std::string mapnik_version_string()
|
||||||
return MAPNIK_VERSION_STRING;
|
return MAPNIK_VERSION_STRING;
|
||||||
}
|
}
|
||||||
|
|
||||||
// indicator for jpeg read/write support within libmapnik
|
bool has_proj4()
|
||||||
|
{
|
||||||
|
#if defined(MAPNIK_USE_PROJ4)
|
||||||
|
return true;
|
||||||
|
#else
|
||||||
|
return false;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
bool has_svg_renderer()
|
||||||
|
{
|
||||||
|
#if defined(SVG_RENDERER)
|
||||||
|
return true;
|
||||||
|
#else
|
||||||
|
return false;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
bool has_grid_renderer()
|
||||||
|
{
|
||||||
|
#if defined(GRID_RENDERER)
|
||||||
|
return true;
|
||||||
|
#else
|
||||||
|
return false;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
bool has_jpeg()
|
bool has_jpeg()
|
||||||
{
|
{
|
||||||
#if defined(HAVE_JPEG)
|
#if defined(HAVE_JPEG)
|
||||||
|
@ -376,6 +406,33 @@ bool has_jpeg()
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool has_png()
|
||||||
|
{
|
||||||
|
#if defined(HAVE_PNG)
|
||||||
|
return true;
|
||||||
|
#else
|
||||||
|
return false;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
bool has_tiff()
|
||||||
|
{
|
||||||
|
#if defined(HAVE_TIFF)
|
||||||
|
return true;
|
||||||
|
#else
|
||||||
|
return false;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
bool has_webp()
|
||||||
|
{
|
||||||
|
#if defined(HAVE_WEBP)
|
||||||
|
return true;
|
||||||
|
#else
|
||||||
|
return false;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
// indicator for cairo rendering support inside libmapnik
|
// indicator for cairo rendering support inside libmapnik
|
||||||
bool has_cairo()
|
bool has_cairo()
|
||||||
{
|
{
|
||||||
|
@ -427,7 +484,6 @@ BOOST_PYTHON_MODULE(_mapnik)
|
||||||
using mapnik::load_map_string;
|
using mapnik::load_map_string;
|
||||||
using mapnik::save_map;
|
using mapnik::save_map;
|
||||||
using mapnik::save_map_to_string;
|
using mapnik::save_map_to_string;
|
||||||
using mapnik::render_grid;
|
|
||||||
|
|
||||||
register_exception_translator<std::exception>(&standard_error_translator);
|
register_exception_translator<std::exception>(&standard_error_translator);
|
||||||
register_exception_translator<std::out_of_range>(&out_of_range_error_translator);
|
register_exception_translator<std::out_of_range>(&out_of_range_error_translator);
|
||||||
|
@ -448,8 +504,10 @@ BOOST_PYTHON_MODULE(_mapnik)
|
||||||
export_image_view();
|
export_image_view();
|
||||||
export_gamma_method();
|
export_gamma_method();
|
||||||
export_scaling_method();
|
export_scaling_method();
|
||||||
|
#if defined(GRID_RENDERER)
|
||||||
export_grid();
|
export_grid();
|
||||||
export_grid_view();
|
export_grid_view();
|
||||||
|
#endif
|
||||||
export_expression();
|
export_expression();
|
||||||
export_rule();
|
export_rule();
|
||||||
export_style();
|
export_style();
|
||||||
|
@ -487,7 +545,8 @@ BOOST_PYTHON_MODULE(_mapnik)
|
||||||
">>> clear_cache()\n"
|
">>> clear_cache()\n"
|
||||||
);
|
);
|
||||||
|
|
||||||
def("render_grid",&render_grid,
|
#if defined(GRID_RENDERER)
|
||||||
|
def("render_grid",&mapnik::render_grid,
|
||||||
( arg("map"),
|
( arg("map"),
|
||||||
arg("layer"),
|
arg("layer"),
|
||||||
args("key")="__id__",
|
args("key")="__id__",
|
||||||
|
@ -495,6 +554,7 @@ BOOST_PYTHON_MODULE(_mapnik)
|
||||||
arg("fields")=boost::python::list()
|
arg("fields")=boost::python::list()
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
#endif
|
||||||
|
|
||||||
def("render_to_file",&render_to_file1,
|
def("render_to_file",&render_to_file1,
|
||||||
"\n"
|
"\n"
|
||||||
|
@ -579,9 +639,11 @@ BOOST_PYTHON_MODULE(_mapnik)
|
||||||
(arg("map"),arg("image"),args("layer"))
|
(arg("map"),arg("image"),args("layer"))
|
||||||
);
|
);
|
||||||
|
|
||||||
|
#if defined(GRID_RENDERER)
|
||||||
def("render_layer", &mapnik::render_layer_for_grid,
|
def("render_layer", &mapnik::render_layer_for_grid,
|
||||||
(arg("map"),arg("grid"),args("layer"),arg("fields")=boost::python::list())
|
(arg("map"),arg("grid"),args("layer"),arg("fields")=boost::python::list())
|
||||||
);
|
);
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(HAVE_CAIRO) && defined(HAVE_PYCAIRO)
|
#if defined(HAVE_CAIRO) && defined(HAVE_PYCAIRO)
|
||||||
def("render",&render3,
|
def("render",&render3,
|
||||||
|
@ -739,7 +801,12 @@ BOOST_PYTHON_MODULE(_mapnik)
|
||||||
def("save_map_to_string", &save_map_to_string, save_map_to_string_overloads());
|
def("save_map_to_string", &save_map_to_string, save_map_to_string_overloads());
|
||||||
def("mapnik_version", &mapnik_version,"Get the Mapnik version number");
|
def("mapnik_version", &mapnik_version,"Get the Mapnik version number");
|
||||||
def("mapnik_version_string", &mapnik_version_string,"Get the Mapnik version string");
|
def("mapnik_version_string", &mapnik_version_string,"Get the Mapnik version string");
|
||||||
|
def("has_proj4", &has_proj4, "Get proj4 status");
|
||||||
def("has_jpeg", &has_jpeg, "Get jpeg read/write support status");
|
def("has_jpeg", &has_jpeg, "Get jpeg read/write support status");
|
||||||
|
def("has_png", &has_png, "Get png read/write support status");
|
||||||
|
def("has_tiff", &has_jpeg, "Get tiff read/write support status");
|
||||||
|
def("has_webp", &has_jpeg, "Get webp read/write support status");
|
||||||
|
def("has_grid_renderer", &has_grid_renderer, "Get grid_renderer status");
|
||||||
def("has_cairo", &has_cairo, "Get cairo library status");
|
def("has_cairo", &has_cairo, "Get cairo library status");
|
||||||
def("has_pycairo", &has_pycairo, "Get pycairo module status");
|
def("has_pycairo", &has_pycairo, "Get pycairo module status");
|
||||||
|
|
||||||
|
|
|
@ -20,6 +20,8 @@
|
||||||
*
|
*
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
|
|
||||||
|
#if defined(GRID_RENDERER)
|
||||||
|
|
||||||
// boost
|
// boost
|
||||||
#include <boost/python.hpp>
|
#include <boost/python.hpp>
|
||||||
#include <boost/scoped_array.hpp>
|
#include <boost/scoped_array.hpp>
|
||||||
|
@ -472,3 +474,5 @@ boost::python::dict render_grid(mapnik::Map const& map,
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
|
@ -9,6 +9,9 @@ subdirs = ['','svg','wkt','grid','json','util','text_placements','formatting']
|
||||||
if env['SVG_RENDERER']:
|
if env['SVG_RENDERER']:
|
||||||
subdirs.append('svg/output')
|
subdirs.append('svg/output')
|
||||||
|
|
||||||
|
if env['GRID_RENDERER']:
|
||||||
|
subdirs.append('grid')
|
||||||
|
|
||||||
if 'install' in COMMAND_LINE_TARGETS:
|
if 'install' in COMMAND_LINE_TARGETS:
|
||||||
for subdir in subdirs:
|
for subdir in subdirs:
|
||||||
pathdir = os.path.join(base,subdir,'*.hpp')
|
pathdir = os.path.join(base,subdir,'*.hpp')
|
||||||
|
|
|
@ -27,7 +27,11 @@
|
||||||
#include <mapnik/svg/svg_path_attributes.hpp>
|
#include <mapnik/svg/svg_path_attributes.hpp>
|
||||||
#include <mapnik/gradient.hpp>
|
#include <mapnik/gradient.hpp>
|
||||||
#include <mapnik/box2d.hpp>
|
#include <mapnik/box2d.hpp>
|
||||||
|
|
||||||
|
#if defined(GRID_RENDERER)
|
||||||
#include <mapnik/grid/grid_pixel.hpp>
|
#include <mapnik/grid/grid_pixel.hpp>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <mapnik/noncopyable.hpp>
|
#include <mapnik/noncopyable.hpp>
|
||||||
|
|
||||||
// boost
|
// boost
|
||||||
|
@ -334,6 +338,7 @@ public:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(GRID_RENDERER)
|
||||||
template <typename Rasterizer, typename Scanline, typename Renderer>
|
template <typename Rasterizer, typename Scanline, typename Renderer>
|
||||||
void render_id(Rasterizer& ras,
|
void render_id(Rasterizer& ras,
|
||||||
Scanline& sl,
|
Scanline& sl,
|
||||||
|
@ -416,6 +421,7 @@ public:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
|
|
|
@ -292,7 +292,8 @@ if env['RUNTIME_LINK'] == "static":
|
||||||
source += glob.glob('../deps/agg/src/' + '*.cpp')
|
source += glob.glob('../deps/agg/src/' + '*.cpp')
|
||||||
|
|
||||||
# grid backend
|
# grid backend
|
||||||
source += Split(
|
if env['GRID_RENDERER']: # svg backend
|
||||||
|
source += Split(
|
||||||
"""
|
"""
|
||||||
grid/grid.cpp
|
grid/grid.cpp
|
||||||
grid/grid_renderer.cpp
|
grid/grid_renderer.cpp
|
||||||
|
@ -307,6 +308,8 @@ source += Split(
|
||||||
grid/process_shield_symbolizer.cpp
|
grid/process_shield_symbolizer.cpp
|
||||||
grid/process_text_symbolizer.cpp
|
grid/process_text_symbolizer.cpp
|
||||||
""")
|
""")
|
||||||
|
lib_env.Append(CPPDEFINES = '-DGRID_RENDERER')
|
||||||
|
libmapnik_defines.append('-DGRID_RENDERER')
|
||||||
|
|
||||||
# https://github.com/mapnik/mapnik/issues/1438
|
# https://github.com/mapnik/mapnik/issues/1438
|
||||||
if env['SVG_RENDERER']: # svg backend
|
if env['SVG_RENDERER']: # svg backend
|
||||||
|
|
|
@ -24,8 +24,11 @@
|
||||||
#include <mapnik/feature_style_processor_impl.hpp>
|
#include <mapnik/feature_style_processor_impl.hpp>
|
||||||
#include <mapnik/agg_renderer.hpp>
|
#include <mapnik/agg_renderer.hpp>
|
||||||
#include <mapnik/graphics.hpp>
|
#include <mapnik/graphics.hpp>
|
||||||
|
|
||||||
|
#if defined(GRID_RENDERER)
|
||||||
#include <mapnik/grid/grid_renderer.hpp>
|
#include <mapnik/grid/grid_renderer.hpp>
|
||||||
#include <mapnik/grid/grid.hpp>
|
#include <mapnik/grid/grid.hpp>
|
||||||
|
#endif
|
||||||
|
|
||||||
#if defined(HAVE_CAIRO)
|
#if defined(HAVE_CAIRO)
|
||||||
#include <cairo.h>
|
#include <cairo.h>
|
||||||
|
@ -48,7 +51,10 @@ template class feature_style_processor<cairo_renderer<cairo_surface_ptr> >;
|
||||||
template class feature_style_processor<svg_renderer<std::ostream_iterator<char> > >;
|
template class feature_style_processor<svg_renderer<std::ostream_iterator<char> > >;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(GRID_RENDERER)
|
||||||
template class feature_style_processor<grid_renderer<grid> >;
|
template class feature_style_processor<grid_renderer<grid> >;
|
||||||
|
#endif
|
||||||
|
|
||||||
template class feature_style_processor<agg_renderer<image_32> >;
|
template class feature_style_processor<agg_renderer<image_32> >;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,11 @@
|
||||||
#include <mapnik/font_engine_freetype.hpp>
|
#include <mapnik/font_engine_freetype.hpp>
|
||||||
#include <mapnik/text_properties.hpp>
|
#include <mapnik/text_properties.hpp>
|
||||||
#include <mapnik/graphics.hpp>
|
#include <mapnik/graphics.hpp>
|
||||||
|
|
||||||
|
#if defined(GRID_RENDERER)
|
||||||
#include <mapnik/grid/grid.hpp>
|
#include <mapnik/grid/grid.hpp>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <mapnik/text_path.hpp>
|
#include <mapnik/text_path.hpp>
|
||||||
#include <mapnik/pixel_position.hpp>
|
#include <mapnik/pixel_position.hpp>
|
||||||
#include <mapnik/font_util.hpp>
|
#include <mapnik/font_util.hpp>
|
||||||
|
@ -686,6 +690,7 @@ void text_renderer<T>::render(pixel_position const& pos)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if defined(GRID_RENDERER)
|
||||||
template <typename T>
|
template <typename T>
|
||||||
void text_renderer<T>::render_id(mapnik::value_integer feature_id,
|
void text_renderer<T>::render_id(mapnik::value_integer feature_id,
|
||||||
pixel_position const& pos)
|
pixel_position const& pos)
|
||||||
|
@ -715,6 +720,7 @@ void text_renderer<T>::render_id(mapnik::value_integer feature_id,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef MAPNIK_THREADSAFE
|
#ifdef MAPNIK_THREADSAFE
|
||||||
boost::mutex freetype_engine::mutex_;
|
boost::mutex freetype_engine::mutex_;
|
||||||
|
@ -729,6 +735,7 @@ template text_renderer<image_32>::text_renderer(image_32&,
|
||||||
double);
|
double);
|
||||||
template box2d<double>text_renderer<image_32>::prepare_glyphs(text_path const&);
|
template box2d<double>text_renderer<image_32>::prepare_glyphs(text_path const&);
|
||||||
template void text_renderer<image_32>::render(pixel_position const&);
|
template void text_renderer<image_32>::render(pixel_position const&);
|
||||||
|
#if defined(GRID_RENDERER)
|
||||||
template void text_renderer<grid>::render_id(mapnik::value_integer,
|
template void text_renderer<grid>::render_id(mapnik::value_integer,
|
||||||
pixel_position const&);
|
pixel_position const&);
|
||||||
template text_renderer<grid>::text_renderer(grid&,
|
template text_renderer<grid>::text_renderer(grid&,
|
||||||
|
@ -736,4 +743,5 @@ template text_renderer<grid>::text_renderer(grid&,
|
||||||
halo_rasterizer_e,
|
halo_rasterizer_e,
|
||||||
composite_mode_e, double);
|
composite_mode_e, double);
|
||||||
template box2d<double>text_renderer<grid>::prepare_glyphs(text_path const& );
|
template box2d<double>text_renderer<grid>::prepare_glyphs(text_path const& );
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
|
@ -45,7 +45,8 @@ def make_map():
|
||||||
m.zoom_all()
|
m.zoom_all()
|
||||||
return m
|
return m
|
||||||
|
|
||||||
def test_clearing_grid_data():
|
if mapnik.has_grid_renderer():
|
||||||
|
def test_clearing_grid_data():
|
||||||
g = mapnik.Grid(256,256)
|
g = mapnik.Grid(256,256)
|
||||||
utf = g.encode()
|
utf = g.encode()
|
||||||
# make sure it equals itself
|
# make sure it equals itself
|
||||||
|
@ -57,7 +58,6 @@ def test_clearing_grid_data():
|
||||||
g.clear()
|
g.clear()
|
||||||
eq_(g.encode(),utf)
|
eq_(g.encode(),utf)
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
setup()
|
setup()
|
||||||
run_all(eval(x) for x in dir() if x.startswith("test_"))
|
run_all(eval(x) for x in dir() if x.startswith("test_"))
|
|
@ -15,7 +15,8 @@ def setup():
|
||||||
# from another directory we need to chdir()
|
# from another directory we need to chdir()
|
||||||
os.chdir(execution_path('.'))
|
os.chdir(execution_path('.'))
|
||||||
|
|
||||||
def show_grids(name,g1,g2):
|
if mapnik.has_grid_renderer():
|
||||||
|
def show_grids(name,g1,g2):
|
||||||
g1_file = '/tmp/mapnik-%s-actual.json' % name
|
g1_file = '/tmp/mapnik-%s-actual.json' % name
|
||||||
open(g1_file,'w').write(json.dumps(g1,sort_keys=True))
|
open(g1_file,'w').write(json.dumps(g1,sort_keys=True))
|
||||||
g2_file = '/tmp/mapnik-%s-expected.json' % name
|
g2_file = '/tmp/mapnik-%s-expected.json' % name
|
||||||
|
@ -36,7 +37,7 @@ def show_grids(name,g1,g2):
|
||||||
val += '\n\t%s\n\t%s' % (g1_file,g2_file)
|
val += '\n\t%s\n\t%s' % (g1_file,g2_file)
|
||||||
return val
|
return val
|
||||||
|
|
||||||
def show_grids2(name,g1,g2):
|
def show_grids2(name,g1,g2):
|
||||||
g2_expected = '../data/grids/mapnik-%s-actual.json' % name
|
g2_expected = '../data/grids/mapnik-%s-actual.json' % name
|
||||||
if not os.path.exists(g2_expected):
|
if not os.path.exists(g2_expected):
|
||||||
# create test fixture based on actual results
|
# create test fixture based on actual results
|
||||||
|
@ -60,24 +61,24 @@ def show_grids2(name,g1,g2):
|
||||||
val += '\n\t%s\n\t%s' % (g1_file,g2_expected)
|
val += '\n\t%s\n\t%s' % (g1_file,g2_expected)
|
||||||
return val
|
return val
|
||||||
|
|
||||||
# first pass impl where resolution is passed as render
|
# first pass impl where resolution is passed as render
|
||||||
# time rather than encoding time, likely will be deprecated soon
|
# time rather than encoding time, likely will be deprecated soon
|
||||||
grid_correct_old = {"keys": ["", "North West", "North East", "South West", "South East"], "data": {"South East": {"Name": "South East"}, "North East": {"Name": "North East"}, "North West": {"Name": "North West"}, "South West": {"Name": "South West"}}, "grid": [" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " !!! ### ", " !!!!! ##### ", " !!!!! ##### ", " !!! ### ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " $$$$ %%%% ", " $$$$$ %%%%% ", " $$$$$ %%%%% ", " $$$ %%% ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]}
|
grid_correct_old = {"keys": ["", "North West", "North East", "South West", "South East"], "data": {"South East": {"Name": "South East"}, "North East": {"Name": "North East"}, "North West": {"Name": "North West"}, "South West": {"Name": "South West"}}, "grid": [" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " !!! ### ", " !!!!! ##### ", " !!!!! ##### ", " !!! ### ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " $$$$ %%%% ", " $$$$$ %%%%% ", " $$$$$ %%%%% ", " $$$ %%% ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "]}
|
||||||
|
|
||||||
# now using svg rendering
|
# now using svg rendering
|
||||||
grid_correct_old2 = {"data": {"North East": {"Name": "North East"}, "North West": {"Name": "North West"}, "South East": {"Name": "South East"}, "South West": {"Name": "South West"}}, "grid": [" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " !!! ### ", " !!! ### ", " !!! ### ", " !!! ### ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " $$$ %%% ", " $$$ %%% ", " $$$ %%% ", " $$$ %%% ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "], "keys": ["", "North West", "North East", "South West", "South East"]}
|
grid_correct_old2 = {"data": {"North East": {"Name": "North East"}, "North West": {"Name": "North West"}, "South East": {"Name": "South East"}, "South West": {"Name": "South West"}}, "grid": [" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " !!! ### ", " !!! ### ", " !!! ### ", " !!! ### ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " $$$ %%% ", " $$$ %%% ", " $$$ %%% ", " $$$ %%% ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "], "keys": ["", "North West", "North East", "South West", "South East"]}
|
||||||
|
|
||||||
grid_correct_old3 = {"data": {"North East": {"Name": "North East"}, "North West": {"Name": "North West"}, "South East": {"Name": "South East"}, "South West": {"Name": "South West"}}, "grid": [" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " !!! ### ", " !!! ### ", " !!! ### ", " !!! ### ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " $$$ %%% ", " $$$ %%% ", " $$$ %%% ", " $$ %% ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "], "keys": ["", "North West", "North East", "South West", "South East"]}
|
grid_correct_old3 = {"data": {"North East": {"Name": "North East"}, "North West": {"Name": "North West"}, "South East": {"Name": "South East"}, "South West": {"Name": "South West"}}, "grid": [" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " !!! ### ", " !!! ### ", " !!! ### ", " !!! ### ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " $$$ %%% ", " $$$ %%% ", " $$$ %%% ", " $$ %% ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "], "keys": ["", "North West", "North East", "South West", "South East"]}
|
||||||
|
|
||||||
# previous rendering using agg ellipse directly
|
# previous rendering using agg ellipse directly
|
||||||
grid_correct_new = {"data": {"North East": {"Name": "North East"}, "North West": {"Name": "North West"}, "South East": {"Name": "South East"}, "South West": {"Name": "South West"}}, "grid": [" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " !! ## ", " !!! ### ", " !! ## ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " $$ %% ", " $$$ %% ", " $$ %% ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "], "keys": ["", "North West", "North East", "South West", "South East"]}
|
grid_correct_new = {"data": {"North East": {"Name": "North East"}, "North West": {"Name": "North West"}, "South East": {"Name": "South East"}, "South West": {"Name": "South West"}}, "grid": [" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " !! ## ", " !!! ### ", " !! ## ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " $$ %% ", " $$$ %% ", " $$ %% ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "], "keys": ["", "North West", "North East", "South West", "South East"]}
|
||||||
|
|
||||||
# newer rendering using svg
|
# newer rendering using svg
|
||||||
grid_correct_new2 = {"data": {"North East": {"Name": "North East"}, "North West": {"Name": "North West"}, "South East": {"Name": "South East"}, "South West": {"Name": "South West"}}, "grid": [" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " !! ## ", " !!! ### ", " !! ## ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " $$ %% ", " $$$ %% ", " $$ %% ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "], "keys": ["", "North West", "North East", "South West", "South East"]}
|
grid_correct_new2 = {"data": {"North East": {"Name": "North East"}, "North West": {"Name": "North West"}, "South East": {"Name": "South East"}, "South West": {"Name": "South West"}}, "grid": [" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " !! ## ", " !!! ### ", " !! ## ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " $$ %% ", " $$$ %% ", " $$ %% ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "], "keys": ["", "North West", "North East", "South West", "South East"]}
|
||||||
|
|
||||||
grid_correct_new3 = {"data": {"North East": {"Name": "North East"}, "North West": {"Name": "North West"}, "South East": {"Name": "South East"}, "South West": {"Name": "South West"}}, "grid": [" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " !! ## ", " !!! ### ", " !! ## ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " $$ %% ", " $$$ %% ", " $ %% ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "], "keys": ["", "North West", "North East", "South West", "South East"]}
|
grid_correct_new3 = {"data": {"North East": {"Name": "North East"}, "North West": {"Name": "North West"}, "South East": {"Name": "South East"}, "South West": {"Name": "South West"}}, "grid": [" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " !! ## ", " !!! ### ", " !! ## ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " $$ %% ", " $$$ %% ", " $ %% ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "], "keys": ["", "North West", "North East", "South West", "South East"]}
|
||||||
|
|
||||||
def resolve(grid,row,col):
|
def resolve(grid,row,col):
|
||||||
""" Resolve the attributes for a given pixel in a grid.
|
""" Resolve the attributes for a given pixel in a grid.
|
||||||
"""
|
"""
|
||||||
row = grid['grid'][row]
|
row = grid['grid'][row]
|
||||||
|
@ -93,7 +94,7 @@ def resolve(grid,row,col):
|
||||||
return grid['data'].get(key)
|
return grid['data'].get(key)
|
||||||
|
|
||||||
|
|
||||||
def create_grid_map(width,height,sym):
|
def create_grid_map(width,height,sym):
|
||||||
ds = mapnik.MemoryDatasource()
|
ds = mapnik.MemoryDatasource()
|
||||||
context = mapnik.Context()
|
context = mapnik.Context()
|
||||||
context.push('Name')
|
context.push('Name')
|
||||||
|
@ -129,7 +130,7 @@ def create_grid_map(width,height,sym):
|
||||||
m.layers.append(lyr)
|
m.layers.append(lyr)
|
||||||
return m
|
return m
|
||||||
|
|
||||||
def test_render_grid_old():
|
def test_render_grid_old():
|
||||||
""" test old method """
|
""" test old method """
|
||||||
width,height = 256,256
|
width,height = 256,256
|
||||||
symb = mapnik.PointSymbolizer(mapnik.PathExpression('../data/images/dummy.png'))
|
symb = mapnik.PointSymbolizer(mapnik.PathExpression('../data/images/dummy.png'))
|
||||||
|
@ -153,7 +154,7 @@ def test_render_grid_old():
|
||||||
eq_(resolve(grid,23,10),expected)
|
eq_(resolve(grid,23,10),expected)
|
||||||
eq_(resolve(grid,23,11),expected)
|
eq_(resolve(grid,23,11),expected)
|
||||||
|
|
||||||
def test_render_grid_new():
|
def test_render_grid_new():
|
||||||
""" test old against new"""
|
""" test old against new"""
|
||||||
width,height = 256,256
|
width,height = 256,256
|
||||||
sym = mapnik.MarkersSymbolizer()
|
sym = mapnik.MarkersSymbolizer()
|
||||||
|
@ -190,13 +191,13 @@ def test_render_grid_new():
|
||||||
eq_(resolve(utf5,38,46),{"Name": "South East"})
|
eq_(resolve(utf5,38,46),{"Name": "South East"})
|
||||||
|
|
||||||
|
|
||||||
grid_feat_id = {'keys': ['', '3', '4', '2', '1'], 'data': {'1': {'Name': 'South East'}, '3': {'Name': u'North West'}, '2': {'Name': 'South West'}, '4': {'Name': 'North East'}}, 'grid': [' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' !! ## ', ' !!! ### ', ' !! ## ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' $$$ %% ', ' $$$ %%% ', ' $$ %% ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ']}
|
grid_feat_id = {'keys': ['', '3', '4', '2', '1'], 'data': {'1': {'Name': 'South East'}, '3': {'Name': u'North West'}, '2': {'Name': 'South West'}, '4': {'Name': 'North East'}}, 'grid': [' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' !! ## ', ' !!! ### ', ' !! ## ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' $$$ %% ', ' $$$ %%% ', ' $$ %% ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ']}
|
||||||
|
|
||||||
grid_feat_id2 = {"data": {"1": {"Name": "South East"}, "2": {"Name": "South West"}, "3": {"Name": "North West"}, "4": {"Name": "North East"}}, "grid": [" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " !! ## ", " !!! ### ", " !! ## ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " $$ %% ", " $$$ %% ", " $$ %% ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "], "keys": ["", "3", "4", "2", "1"]}
|
grid_feat_id2 = {"data": {"1": {"Name": "South East"}, "2": {"Name": "South West"}, "3": {"Name": "North West"}, "4": {"Name": "North East"}}, "grid": [" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " !! ## ", " !!! ### ", " !! ## ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " $$ %% ", " $$$ %% ", " $$ %% ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "], "keys": ["", "3", "4", "2", "1"]}
|
||||||
|
|
||||||
grid_feat_id3 = {"data": {"1": {"Name": "South East", "__id__": 1}, "2": {"Name": "South West", "__id__": 2}, "3": {"Name": "North West", "__id__": 3}, "4": {"Name": "North East", "__id__": 4}}, "grid": [" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " !! ## ", " !!! ### ", " !! ## ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " $$ %% ", " $$$ %% ", " $ %% ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "], "keys": ["", "3", "4", "2", "1"]}
|
grid_feat_id3 = {"data": {"1": {"Name": "South East", "__id__": 1}, "2": {"Name": "South West", "__id__": 2}, "3": {"Name": "North West", "__id__": 3}, "4": {"Name": "North East", "__id__": 4}}, "grid": [" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " !! ## ", " !!! ### ", " !! ## ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " $$ %% ", " $$$ %% ", " $ %% ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "], "keys": ["", "3", "4", "2", "1"]}
|
||||||
|
|
||||||
def test_render_grid3():
|
def test_render_grid3():
|
||||||
""" test using feature id"""
|
""" test using feature id"""
|
||||||
width,height = 256,256
|
width,height = 256,256
|
||||||
sym = mapnik.MarkersSymbolizer()
|
sym = mapnik.MarkersSymbolizer()
|
||||||
|
@ -231,7 +232,7 @@ def test_render_grid3():
|
||||||
eq_(resolve(utf5,38,46),{"Name": "South East","__id__": 1})
|
eq_(resolve(utf5,38,46),{"Name": "South East","__id__": 1})
|
||||||
|
|
||||||
|
|
||||||
def gen_grid_for_id(pixel_key):
|
def gen_grid_for_id(pixel_key):
|
||||||
ds = mapnik.MemoryDatasource()
|
ds = mapnik.MemoryDatasource()
|
||||||
context = mapnik.Context()
|
context = mapnik.Context()
|
||||||
context.push('Name')
|
context.push('Name')
|
||||||
|
@ -256,13 +257,13 @@ def gen_grid_for_id(pixel_key):
|
||||||
mapnik.render_layer(m,grid,layer=0,fields=['__id__','Name'])
|
mapnik.render_layer(m,grid,layer=0,fields=['__id__','Name'])
|
||||||
return grid
|
return grid
|
||||||
|
|
||||||
def test_negative_id():
|
def test_negative_id():
|
||||||
grid = gen_grid_for_id(-1)
|
grid = gen_grid_for_id(-1)
|
||||||
eq_(grid.get_pixel(128,128),-1)
|
eq_(grid.get_pixel(128,128),-1)
|
||||||
utf1 = grid.encode('utf',resolution=4)
|
utf1 = grid.encode('utf',resolution=4)
|
||||||
eq_(utf1['keys'],['-1'])
|
eq_(utf1['keys'],['-1'])
|
||||||
|
|
||||||
def test_32bit_int_id():
|
def test_32bit_int_id():
|
||||||
int32 = 2147483647
|
int32 = 2147483647
|
||||||
grid = gen_grid_for_id(int32)
|
grid = gen_grid_for_id(int32)
|
||||||
eq_(grid.get_pixel(128,128),int32)
|
eq_(grid.get_pixel(128,128),int32)
|
||||||
|
@ -274,7 +275,7 @@ def test_32bit_int_id():
|
||||||
utf1 = grid.encode('utf',resolution=4)
|
utf1 = grid.encode('utf',resolution=4)
|
||||||
eq_(utf1['keys'],[str(max_neg)])
|
eq_(utf1['keys'],[str(max_neg)])
|
||||||
|
|
||||||
def test_64bit_int_id():
|
def test_64bit_int_id():
|
||||||
int64 = 0x7FFFFFFFFFFFFFFF
|
int64 = 0x7FFFFFFFFFFFFFFF
|
||||||
grid = gen_grid_for_id(int64)
|
grid = gen_grid_for_id(int64)
|
||||||
eq_(grid.get_pixel(128,128),int64)
|
eq_(grid.get_pixel(128,128),int64)
|
||||||
|
@ -286,15 +287,15 @@ def test_64bit_int_id():
|
||||||
utf1 = grid.encode('utf',resolution=4)
|
utf1 = grid.encode('utf',resolution=4)
|
||||||
eq_(utf1['keys'],[str(max_neg)])
|
eq_(utf1['keys'],[str(max_neg)])
|
||||||
|
|
||||||
def test_id_zero():
|
def test_id_zero():
|
||||||
grid = gen_grid_for_id(0)
|
grid = gen_grid_for_id(0)
|
||||||
eq_(grid.get_pixel(128,128),0)
|
eq_(grid.get_pixel(128,128),0)
|
||||||
utf1 = grid.encode('utf',resolution=4)
|
utf1 = grid.encode('utf',resolution=4)
|
||||||
eq_(utf1['keys'],['0'])
|
eq_(utf1['keys'],['0'])
|
||||||
|
|
||||||
line_expected = {"keys": ["", "1"], "data": {"1": {"Name": "1"}}, "grid": [" !", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", "!! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! "]}
|
line_expected = {"keys": ["", "1"], "data": {"1": {"Name": "1"}}, "grid": [" !", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", " !! ", "!! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! ", " ! "]}
|
||||||
|
|
||||||
def test_line_rendering():
|
def test_line_rendering():
|
||||||
ds = mapnik.MemoryDatasource()
|
ds = mapnik.MemoryDatasource()
|
||||||
context = mapnik.Context()
|
context = mapnik.Context()
|
||||||
context.push('Name')
|
context.push('Name')
|
||||||
|
@ -322,9 +323,9 @@ def test_line_rendering():
|
||||||
utf1 = grid.encode()
|
utf1 = grid.encode()
|
||||||
eq_(utf1,line_expected,show_grids('line',utf1,line_expected))
|
eq_(utf1,line_expected,show_grids('line',utf1,line_expected))
|
||||||
|
|
||||||
point_expected = {"data": {"1": {"Name": "South East"}, "2": {"Name": "South West"}, "3": {"Name": "North West"}, "4": {"Name": "North East"}}, "grid": [" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " !!!! #### ", " !!!! #### ", " !!!! #### ", " !!!! #### ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " $$$$ %%%% ", " $$$$ %%%% ", " $$$$ %%%% ", " $$$$ %%%% ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "], "keys": ["", "3", "4", "2", "1"]}
|
point_expected = {"data": {"1": {"Name": "South East"}, "2": {"Name": "South West"}, "3": {"Name": "North West"}, "4": {"Name": "North East"}}, "grid": [" ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " !!!! #### ", " !!!! #### ", " !!!! #### ", " !!!! #### ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " $$$$ %%%% ", " $$$$ %%%% ", " $$$$ %%%% ", " $$$$ %%%% ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " ", " "], "keys": ["", "3", "4", "2", "1"]}
|
||||||
|
|
||||||
def test_point_symbolizer_grid():
|
def test_point_symbolizer_grid():
|
||||||
width,height = 256,256
|
width,height = 256,256
|
||||||
sym = mapnik.PointSymbolizer(mapnik.PathExpression('../data/images/dummy.png'))
|
sym = mapnik.PointSymbolizer(mapnik.PathExpression('../data/images/dummy.png'))
|
||||||
m = create_grid_map(width,height,sym)
|
m = create_grid_map(width,height,sym)
|
||||||
|
@ -337,10 +338,10 @@ def test_point_symbolizer_grid():
|
||||||
eq_(utf1,point_expected,show_grids('point-sym',utf1,point_expected))
|
eq_(utf1,point_expected,show_grids('point-sym',utf1,point_expected))
|
||||||
|
|
||||||
|
|
||||||
# should throw because this is a mis-usage
|
# should throw because this is a mis-usage
|
||||||
# https://github.com/mapnik/mapnik/issues/1325
|
# https://github.com/mapnik/mapnik/issues/1325
|
||||||
@raises(RuntimeError)
|
@raises(RuntimeError)
|
||||||
def test_render_to_grid_multiple_times():
|
def test_render_to_grid_multiple_times():
|
||||||
# create map with two layers
|
# create map with two layers
|
||||||
m = mapnik.Map(256,256)
|
m = mapnik.Map(256,256)
|
||||||
s = mapnik.Style()
|
s = mapnik.Style()
|
||||||
|
|
|
@ -21,7 +21,7 @@ defaults = {
|
||||||
'scales':[1.0,2.0],
|
'scales':[1.0,2.0],
|
||||||
'agg': True,
|
'agg': True,
|
||||||
'cairo': mapnik.has_cairo(),
|
'cairo': mapnik.has_cairo(),
|
||||||
'grid': True
|
'grid': mapnik.has_grid_renderer()
|
||||||
}
|
}
|
||||||
|
|
||||||
cairo_threshold = 10
|
cairo_threshold = 10
|
||||||
|
|
Loading…
Add table
Reference in a new issue