2012-04-04 21:43:32 +02:00
|
|
|
#coding=utf8
|
|
|
|
import os
|
|
|
|
import mapnik
|
2013-01-29 06:55:51 +01:00
|
|
|
from utilities import execution_path, run_all
|
2012-04-04 21:43:32 +02:00
|
|
|
from nose.tools import *
|
|
|
|
|
|
|
|
def setup():
|
|
|
|
# All of the paths used are relative, if we run the tests
|
|
|
|
# from another directory we need to chdir()
|
|
|
|
os.chdir(execution_path('.'))
|
|
|
|
|
2012-09-05 13:53:37 +02:00
|
|
|
if 'shape' in mapnik.DatasourceCache.plugin_names():
|
2013-01-29 06:55:51 +01:00
|
|
|
|
|
|
|
#@raises(RuntimeError)
|
2012-08-23 23:41:45 +02:00
|
|
|
def test_zoom_all_will_fail():
|
|
|
|
m = mapnik.Map(512,512)
|
|
|
|
mapnik.load_map(m,'../data/good_maps/wgs842merc_reprojection.xml')
|
|
|
|
m.zoom_all()
|
2012-09-05 13:53:37 +02:00
|
|
|
|
2012-08-23 23:41:45 +02:00
|
|
|
def test_zoom_all_will_work_with_max_extent():
|
|
|
|
m = mapnik.Map(512,512)
|
|
|
|
mapnik.load_map(m,'../data/good_maps/wgs842merc_reprojection.xml')
|
|
|
|
merc_bounds = mapnik.Box2d(-20037508.34,-20037508.34,20037508.34,20037508.34)
|
|
|
|
m.maximum_extent = merc_bounds
|
|
|
|
m.zoom_all()
|
2013-01-29 06:55:51 +01:00
|
|
|
# note - fixAspectRatio is being called, then re-clipping to maxextent
|
|
|
|
# which makes this hard to predict
|
|
|
|
#eq_(m.envelope(),merc_bounds)
|
2012-09-05 13:53:37 +02:00
|
|
|
|
2013-01-29 06:55:51 +01:00
|
|
|
#m = mapnik.Map(512,512)
|
|
|
|
#mapnik.load_map(m,'../data/good_maps/wgs842merc_reprojection.xml')
|
|
|
|
#merc_bounds = mapnik.Box2d(-20037508.34,-20037508.34,20037508.34,20037508.34)
|
|
|
|
#m.zoom_to_box(merc_bounds)
|
|
|
|
#eq_(m.envelope(),merc_bounds)
|
2012-09-05 13:53:37 +02:00
|
|
|
|
|
|
|
|
2012-08-23 23:41:45 +02:00
|
|
|
def test_visual_zoom_all_rendering1():
|
|
|
|
m = mapnik.Map(512,512)
|
|
|
|
mapnik.load_map(m,'../data/good_maps/wgs842merc_reprojection.xml')
|
|
|
|
merc_bounds = mapnik.Box2d(-20037508.34,-20037508.34,20037508.34,20037508.34)
|
|
|
|
m.maximum_extent = merc_bounds
|
|
|
|
m.zoom_all()
|
|
|
|
im = mapnik.Image(512,512)
|
|
|
|
mapnik.render(m,im)
|
|
|
|
actual = '/tmp/mapnik-wgs842merc-reprojection-render.png'
|
|
|
|
expected = 'images/support/mapnik-wgs842merc-reprojection-render.png'
|
2014-04-02 02:34:24 +02:00
|
|
|
im.save(actual,'png32')
|
2012-08-23 23:41:45 +02:00
|
|
|
expected_im = mapnik.Image.open(expected)
|
2014-04-02 02:34:24 +02:00
|
|
|
eq_(im.tostring('png32'),expected_im.tostring('png32'), 'failed comparing actual (%s) and expected (%s)' % (actual,'tests/python_tests/'+ expected))
|
2012-09-05 13:53:37 +02:00
|
|
|
|
2012-08-23 23:41:45 +02:00
|
|
|
def test_visual_zoom_all_rendering2():
|
|
|
|
m = mapnik.Map(512,512)
|
|
|
|
mapnik.load_map(m,'../data/good_maps/merc2wgs84_reprojection.xml')
|
|
|
|
m.zoom_all()
|
|
|
|
im = mapnik.Image(512,512)
|
|
|
|
mapnik.render(m,im)
|
|
|
|
actual = '/tmp/mapnik-merc2wgs84-reprojection-render.png'
|
|
|
|
expected = 'images/support/mapnik-merc2wgs84-reprojection-render.png'
|
2014-04-02 02:34:24 +02:00
|
|
|
im.save(actual,'png32')
|
2012-08-23 23:41:45 +02:00
|
|
|
expected_im = mapnik.Image.open(expected)
|
2014-04-02 02:34:24 +02:00
|
|
|
eq_(im.tostring('png32'),expected_im.tostring('png32'), 'failed comparing actual (%s) and expected (%s)' % (actual,'tests/python_tests/'+ expected))
|
2012-09-05 13:53:37 +02:00
|
|
|
|
2012-08-23 23:41:45 +02:00
|
|
|
# maximum-extent read from map.xml
|
|
|
|
def test_visual_zoom_all_rendering3():
|
|
|
|
m = mapnik.Map(512,512)
|
|
|
|
mapnik.load_map(m,'../data/good_maps/bounds_clipping.xml')
|
|
|
|
m.zoom_all()
|
|
|
|
im = mapnik.Image(512,512)
|
|
|
|
mapnik.render(m,im)
|
|
|
|
actual = '/tmp/mapnik-merc2merc-reprojection-render1.png'
|
|
|
|
expected = 'images/support/mapnik-merc2merc-reprojection-render1.png'
|
2014-04-02 02:34:24 +02:00
|
|
|
im.save(actual,'png32')
|
2012-08-23 23:41:45 +02:00
|
|
|
expected_im = mapnik.Image.open(expected)
|
2014-04-02 02:34:24 +02:00
|
|
|
eq_(im.tostring('png32'),expected_im.tostring('png32'), 'failed comparing actual (%s) and expected (%s)' % (actual,'tests/python_tests/'+ expected))
|
2012-09-05 13:53:37 +02:00
|
|
|
|
2012-08-23 23:41:45 +02:00
|
|
|
# no maximum-extent
|
|
|
|
def test_visual_zoom_all_rendering4():
|
|
|
|
m = mapnik.Map(512,512)
|
|
|
|
mapnik.load_map(m,'../data/good_maps/bounds_clipping.xml')
|
|
|
|
m.maximum_extent = None
|
|
|
|
m.zoom_all()
|
|
|
|
im = mapnik.Image(512,512)
|
|
|
|
mapnik.render(m,im)
|
|
|
|
actual = '/tmp/mapnik-merc2merc-reprojection-render2.png'
|
|
|
|
expected = 'images/support/mapnik-merc2merc-reprojection-render2.png'
|
2014-04-02 02:34:24 +02:00
|
|
|
im.save(actual,'png32')
|
2012-08-23 23:41:45 +02:00
|
|
|
expected_im = mapnik.Image.open(expected)
|
2014-04-02 02:34:24 +02:00
|
|
|
eq_(im.tostring('png32'),expected_im.tostring('png32'), 'failed comparing actual (%s) and expected (%s)' % (actual,'tests/python_tests/'+ expected))
|
2012-04-04 21:43:32 +02:00
|
|
|
|
|
|
|
if __name__ == "__main__":
|
|
|
|
setup()
|
2014-07-14 18:34:20 +02:00
|
|
|
exit(run_all(eval(x) for x in dir() if x.startswith("test_")))
|