def export(self, mapnik_xml, output_file): self.log.info("Exporting %s to %s. Mapnik version %s", mapnik_xml, output_file, mapnik.mapnik_version_string()) mapnik_map = mapnik.Map(2000, 2000) mapnik.load_map(mapnik_map, mapnik_xml.encode('utf-8')) mapnik_map.zoom_all() mapnik.render_to_file(mapnik_map, output_file, b"pdf")
# You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. import math import shapely.wkt # Importing mapnik2 raises a DeprecationWarning as of mapnik # commit 14700dba. As mapnik 2.1 (or git version with support for # placement-type="simple") is required for OCitySMap (see INSTALL), # instead of importing mapnik2, we import mapnik and assert it isn't # an old version. import mapnik assert mapnik.mapnik_version >= 200100, \ "Mapnik module version %s is too old, see ocitysmap's INSTALL " \ "for more details." % mapnik.mapnik_version_string() _MAPNIK_PROJECTION = "+proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 " \ "+lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m " \ "+nadgrids=@null +no_defs +over" EARTH_RADIUS = 6370986 # meters class Point: def __init__(self, lat, long_): self._lat, self._long = float(lat), float(long_) @staticmethod def parse_wkt(wkt):
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. import os import cairo import rsvg import datetime import locale import logging import mapnik assert mapnik.mapnik_version >= 200100, ( "Mapnik module version %s is too old, see ocitysmap's INSTALL " "for more details." % mapnik.mapnik_version_string() ) import math import pango import pangocairo import commons import ocitysmap from abstract_renderer import Renderer from ocitysmap.indexlib.renderer import StreetIndexRenderer from indexlib.indexer import StreetIndex from indexlib.commons import IndexDoesNotFitError, IndexEmptyError import draw_utils from ocitysmap.maplib.map_canvas import MapCanvas LOG = logging.getLogger("ocitysmap")
# GNU Affero General Public License for more details. # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. import cairo import gi gi.require_version('Rsvg', '2.0') gi.require_version('Pango', '1.0') gi.require_version('PangoCairo', '1.0') from gi.repository import Rsvg, Pango, PangoCairo import logging import mapnik assert mapnik.mapnik_version() >= 300000, \ "Mapnik module version %s is too old, see ocitysmap's INSTALL " \ "for more details." % mapnik.mapnik_version_string() import math import os import re import shapely.wkt import sys from colour import Color from . import commons from ocitysmap.maplib.map_canvas import MapCanvas from ocitysmap.maplib.grid import Grid from ocitysmap import draw_utils, maplib from pluginbase import PluginBase LOG = logging.getLogger('ocitysmap')
#!/usr/bin/env python import os import sys import json import mapnik ##### WARNING: this script is out of date and does not yet work with Mapnik 3.x if not mapnik.mapnik_version() > 200100: print 'Error: this script is only designed to work with Mapnik 2.1 and above (you have %s)' % mapnik.mapnik_version_string() sys.exit(1) mapnik_version = mapnik.mapnik_version_string().replace('-pre','') reference_file = './%s/reference.json' % mapnik_version if not os.path.exists(reference_file): print 'Error: could not find file %s' % reference_file sys.exit(1) reference = json.load(open(reference_file, 'r')) type_mapping = { 'integer':'int', 'float':'float', 'unsigned':'int', 'boolean':'bool', 'uri':'str', 'string':'str', 'color':'mapnik.Color', 'expression':'mapnik.Expression',
#!/usr/bin/env python import os import sys import json import mapnik ##### WARNING: this script is out of date and does not yet work with Mapnik 3.x if not mapnik.mapnik_version() > 200100: print 'Error: this script is only designed to work with Mapnik 2.1 and above (you have %s)' % mapnik.mapnik_version_string( ) sys.exit(1) mapnik_version = mapnik.mapnik_version_string().replace('-pre', '') reference_file = './%s/reference.json' % mapnik_version if not os.path.exists(reference_file): print 'Error: could not find file %s' % reference_file sys.exit(1) reference = json.load(open(reference_file, 'r')) type_mapping = { 'integer': 'int', 'float': 'float', 'unsigned': 'int', 'boolean': 'bool', 'uri': 'str', 'string': 'str', 'color': 'mapnik.Color',
def get_mapnik_major_version(): return int(mapnik.mapnik_version_string().split('.')[0])
# If a scale denominator is specified if scale_denom: # Get current scale denom, calculate necessary change scale_change = scale_denom / m.scale_denominator() # Resize image size m.zoom(scale_change) # Set the buffer size m.buffer_size = buffer_size; ## render the map to an image #im = mapnik.Image(imgx,imgy) #mapnik.render(m, im) #im.save(map_uri,'png') # Render file with mapnik.render_to_file() if image_type == None: mapnik.render_to_file(m, map_uri) else: mapnik.render_to_file(m, map_uri, image_type) # Print stats print("Stats:") print(" Mapnik version: " + mapnik.mapnik_version_string()) print(" Using map file: " + mapfile) print(" Using bounds: " + repr(bounds)) print(" Scale Denominator: " + str(m.scale_denominator())) print(" Render into file: " + map_uri) print(" Image size: " + str(m.width) + "x" + str(m.height))