Mapnik zoom_to_box for shape

المشرف العام

Administrator
طاقم الإدارة
I have used the code from Mapnik python tutorial. Now I want to use zoom_to_box to zoom to certain extent. I want to zoom to Box2d(-180.0, 0.0, 0.0, 90.0), however, after appied zoom_to_box, I saw the map envelope is Box2d(-180.0,-45.0,0.0,135.0), so what do I miss here?

The testing shapefile can be downloaded here: shapefile

Here below my code:

import mapnikm = mapnik.Map(256,256)m.background = mapnik.Color('steelblue')s = mapnik.Style()r = mapnik.Rule()polygon_symbolizer = mapnik.PolygonSymbolizer(mapnik.Color('#f2eff9'))r.symbols.append(polygon_symbolizer)line_symbolizer = mapnik.LineSymbolizer(mapnik.Color('rgb(50%,50%,50%)'),0.1)r.symbols.append(line_symbolizer)s.rules.append(r)m.append_style('My Style',s)ds = mapnik.Shapefile(file='ne_110m_admin_0_countries.shp')print ds.envelope()layer = mapnik.Layer('world')layer.datasource = dslayer.styles.append('My Style')m.layers.append(layer)print m.envelope(), layer.envelope()m.zoom_all()print m.envelope(), m.scale()bbox = mapnik.Box2d(-180.0, 0.0, 0.0, 90.0) # 00m.zoom_to_box(bbox)print m.envelope(), m.scale()mapnik.render_to_file(m,'world00.png', 'png#')print "rendered image to 'world.png'"

أكثر...
 
أعلى