Beispiel #1
0
    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")
Beispiel #2
0
    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")
Beispiel #3
0
# 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',
Beispiel #7
0
#!/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',
Beispiel #8
0
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))