Beispiel #1
0
m.background = mapnik.Color('steelblue')
# MAP 1 DUNIA
s = mapnik.Style()
r = mapnik.Rule()
polygon_symbolizer = mapnik.PolygonSymbolizer()
polygon_symbolizer.fill = mapnik.Color('#7FFF00')
r.symbols.append(polygon_symbolizer)

line_symbolizer = mapnik.LineSymbolizer()
line_symbolizer = mapnik.LineSymbolizer(mapnik.Color('white'), 1)
line_symbolizer.stroke_width = 10.0

r.symbols.append(line_symbolizer)
s.rules.append(r)
m.append_style('Ari', s)
ds = mapnik.Shapefile(file="countries/ne_110m_admin_0_countries.shp")
layer = mapnik.Layer('world')
layer.datasource = ds
layer.styles.append('Ari')
m.layers.append(layer)
# BATAS AKHIR MAP 1 DUNIA

# MAP 2 Negara Afganistan
s = mapnik.Style()
r = mapnik.Rule()
polygon_symbolizer = mapnik.PolygonSymbolizer()
polygon_symbolizer.fill = mapnik.Color('#D2691E')
r.symbols.append(polygon_symbolizer)

line_symbolizer = mapnik.LineSymbolizer()
line_symbolizer = mapnik.LineSymbolizer(mapnik.Color('white'), 1)
Beispiel #2
0
import mapnik
m = mapnik.Map(1000,700)
m.background = mapnik.Color('green')
s = mapnik.Style()
r = mapnik.Rule()
polygon_symbolizer = mapnik.PolygonSymbolizer()
polygon_symbolizer.fill = mapnik.Color('#ff0000')
r.symbols.append(polygon_symbolizer)

line_symbolizer = mapnik.LineSymbolizer()
line_symbolizer = mapnik.LineSymbolizer(mapnik.Color('green'), 1)
line_symbolizer.stroke_width = 10.0

r.symbols.append(line_symbolizer)
s.rules.append(r)
m.append_style('Ari', s)
ds = mapnik.Shapefile(file="provinsi/INDONESIA_PROP.shp")
layer = mapnik.Layer('world')
layer.datasource = ds
layer.styles.append('Ari')
m.layers.append(layer)
m.zoom_all()
mapnik.render_to_file(m,'provinsi.png', 'png')
print "rendered image to 'world.png'"
Beispiel #3
0
import mapnik
m = mapnik.Map(1280, 720)
m.background = mapnik.Color('steelblue')
s = mapnik.Style()
r = mapnik.Rule()
polygon_symbolizer = mapnik.PolygonSymbolizer()
polygon_symbolizer.fill = mapnik.Color('#ffff00')
r.symbols.append(polygon_symbolizer)

line_symbolizer = mapnik.LineSymbolizer()
line_symbolizer = mapnik.LineSymbolizer(mapnik.Color('Blue'), 1)
line_symbolizer.stroke_width = 10.0

r.symbols.append(line_symbolizer)
s.rules.append(r)
m.append_style('YUSUF', s)
ds = mapnik.Shapefile(file="ne_110m_admin_0_countries.shp")
layer = mapnik.Layer('world')
layer.datasource = ds
layer.styles.append('YUSUF')
m.layers.append(layer)
m.zoom_all()
mapnik.render_to_file(m, 'world.tif', 'tif')
print "rendered image to 'world.tif' "
Beispiel #4
0
def create_utfgrids(shppath, minzoom, maxzoom, outdir, fields=None, layernum=0):
    ds = ogr.Open(shppath)
    print
    print "WARNING:"
    print " This script assumes a polygon shapefile in spherical mercator projection."
    print " If any of these assumptions are not true, don't count on the results!"
    # TODO confirm polygons
    # TODO confirm mercator
    # TODO get layernum from command line
    layer = ds.GetLayer(layernum)
    bbox = layer.GetExtent()

    mercator = globalmaptiles.GlobalMercator()

    m = mapnik.Map(256,256)

    # Since grids are `rendered` they need a style
    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=shppath)
    mlayer = mapnik.Layer('poly')
    mlayer.datasource = ds
    mlayer.styles.append('My Style')
    m.layers.append(mlayer)

    if fields is None:
        fields = mlayer.datasource.fields()

    for tz in range(minzoom, maxzoom+1):
        print " * Processing Zoom Level %s" % tz
        tminx, tminy = mercator.MetersToTile( bbox[0], bbox[2], tz)
        tmaxx, tmaxy = mercator.MetersToTile( bbox[1], bbox[3], tz)
        for ty in range(tminy, tmaxy+1):
            for tx in range(tminx, tmaxx+1):
                output = os.path.join(outdir, str(tz), str(tx))
                if not os.path.exists(output):
                    os.makedirs(output)

                # Use top origin tile scheme (like OSM or GMaps)
                # TODO support option for TMS bottom origin scheme (ie opt to not invert)
                ymax = 1 << tz;
                invert_ty = ymax - ty - 1;

                tilefilename = os.path.join(output, "%s.json" % invert_ty) # ty for TMS bottom origin
                tilebounds = mercator.TileBounds( tx, ty, tz)
                #print tilefilename, tilebounds

                box = mapnik.Box2d(*tilebounds)
                m.zoom_to_box(box)
                grid = mapnik.Grid(m.width,m.height)
                mapnik.render_layer(m,grid,layer=0,fields=fields)
                utfgrid = grid.encode('utf',resolution=4)
                with open(tilefilename, 'w') as file:
                    file.write(json.dumps(utfgrid))
Beispiel #5
0
# Adapted from https://github.com/mapnik/mapnik/wiki/GettingStartedInPython
#              with https://github.com/mapnik/mapnik/issues/3258 to work with current bindings

import mapnik

m = mapnik.Map(2048, 1024)
m.background = mapnik.Color('steelblue')
s = mapnik.Style()
r = mapnik.Rule()

polygon_symbolizer = mapnik.PolygonSymbolizer()
polygon_symbolizer.fill = mapnik.Color('#f2eff9')
r.symbols.append(polygon_symbolizer)

line_symbolizer = mapnik.LineSymbolizer()
line_symbolizer.fill = mapnik.Color('rgb(50%,50%,50%)')
line_symbolizer.opacity = 0.1
r.symbols.append(line_symbolizer)

s.rules.append(r)
m.append_style('My Style', s)

layer = mapnik.Layer('world')
layer.datasource = mapnik.Shapefile(file='ne_110m_admin_0_countries.shp')
layer.styles.append('My Style')

m.layers.append(layer)
m.zoom_all()
mapnik.render_to_file(m, 'world.png', 'png')
print("rendered image to 'world.png'")
# -*- coding: utf-8 -*-
print('=' * 40)
print(__file__)
from helper.textool import get_tmp_file

################################################################################
import mapnik
datasource = mapnik.Shapefile(file="/gdata/GSHHS_c.shp")

################################################################################
datasource = mapnik.Shapefile(file="/gdata/GSHHS_c.shp", encoding="latin1")

################################################################################
datasource = mapnik.SQLite(file="spalite.db", table="pcapital", geometry_field="geom", key_field="name")
# Script to add the roads and city outline to the mapnik map.

#####################  The first part is from listing 11.9.

import mapnik

# Create the map object.
srs = "+proj=longlat +ellps=GRS80 +datum=NAD83 +no_defs"
m = mapnik.Map(800, 600, srs)
m.zoom_to_box(mapnik.Box2d(-90.3, 29.7, -89.5, 30.3))

# Create a layer from a shapefile.
tiger_fn = r'D:\osgeopy-data\Louisiana\tiger_la_water_CENSUS_2006'
tiger_shp = mapnik.Shapefile(file=tiger_fn)
tiger_lyr = mapnik.Layer('Tiger')
tiger_lyr.datasource = tiger_shp

# Create a polygon fill symbol.
water_color = mapnik.Color(165, 191, 221)
water_fill_sym = mapnik.PolygonSymbolizer(water_color)

# Create a symbology style and add it to the layer.
tiger_rule = mapnik.Rule()
tiger_rule.symbols.append(water_fill_sym)
tiger_style = mapnik.Style()
tiger_style.rules.append(tiger_rule)
m.append_style('tiger', tiger_style)

# Add the style and layer to the map.
tiger_lyr.styles.append('tiger')
Beispiel #8
0
def test_adding_datasource_to_layer():
    map_string = '''<?xml version="1.0" encoding="utf-8"?>
<Map>

    <Layer name="world_borders">
        <StyleName>world_borders_style</StyleName>
        <StyleName>point_style</StyleName>
        <!-- leave datasource empty -->
        <!--
        <Datasource>
            <Parameter name="file">../data/shp/world_merc.shp</Parameter>
            <Parameter name="type">shape</Parameter>
        </Datasource>
        -->
    </Layer>

</Map>
'''
    m = mapnik.Map(256, 256)

    try:
        mapnik.load_map_from_string(m, map_string)

        # validate it loaded fine
        eq_(m.layers[0].styles[0], 'world_borders_style')
        eq_(m.layers[0].styles[1], 'point_style')
        eq_(len(m.layers), 1)

        # also assign a variable reference to that layer
        # below we will test that this variable references
        # the same object that is attached to the map
        lyr = m.layers[0]

        # ensure that there was no datasource for the layer...
        eq_(m.layers[0].datasource, None)
        eq_(lyr.datasource, None)

        # also note that since the srs was black it defaulted to wgs84
        eq_(m.layers[0].srs,
            '+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs')
        eq_(lyr.srs, '+proj=longlat +ellps=WGS84 +datum=WGS84 +no_defs')

        # now add a datasource one...
        ds = mapnik.Shapefile(file='../data/shp/world_merc.shp')
        m.layers[0].datasource = ds

        # now ensure it is attached
        eq_(m.layers[0].datasource.describe()['name'], "shape")
        eq_(lyr.datasource.describe()['name'], "shape")

        # and since we have now added a shapefile in spherical mercator, adjust the projection
        lyr.srs = '+proj=merc +lon_0=0 +lat_ts=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs'

        # test that assignment
        eq_(
            m.layers[0].srs,
            '+proj=merc +lon_0=0 +lat_ts=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs'
        )
        eq_(
            lyr.srs,
            '+proj=merc +lon_0=0 +lat_ts=0 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs'
        )
    except RuntimeError, e:
        # only test datasources that we have installed
        if not 'Could not create datasource' in str(e):
            raise RuntimeError(e)
Beispiel #9
0
# point_sym.filename
# r.symbols.append(point_sym)

# basinsLabels = mapnik.TextSymbolizer(mapnik.Expression('[Point]'), 'DejaVu Sans Bold',9,mapnik.Color('red'))
# basinsLabels.halo_fill = mapnik.Color('yellow')
# basinsLabels.halo_radius = 2
# r.symbols.append(basinsLabels)

# point_sym = mapnik.PointSymbolizer()
# point_sym.allow_overlap = True
# r.symbols.append(point_sym)
# s.rules.append(r)

s.rules.append(r)
m.append_style('Mellyn', s)
ds = mapnik.Shapefile(file="INDONESIA_PROP.shp")
layer = mapnik.Layer('indonesia')
layer.datasource = ds
layer.styles.append('Mellyn')
m.layers.append(layer)

# s = mapnik.Style()
# r = mapnik.Rule()

# line_symbolizer = mapnik.LineSymbolizer(mapnik.Color('red'),1)
# r.symbols.append(line_symbolizer)
# s.rules.append(r)

# point_sym = mapnik.PointSymbolizer()
# point_sym.allow_overlap = True
# point_sym = mapnik.MarkersSymbolizer()
Beispiel #10
0
import mapnik
m = mapnik.Map(1280, 720)
m.background = mapnik.Color('steelblue')
s = mapnik.Style()
r = mapnik.Rule()
polygon_symbolizer = mapnik.PolygonSymbolizer()
polygon_symbolizer.fill = mapnik.Color('White')
r.symbols.append(polygon_symbolizer)

s.rules.append(r)
m.append_style('Yoesril', s)
ds = mapnik.Shapefile(file="INDONESIA_PROP.shp")
layer = mapnik.Layer('world')
layer.datasource = ds
layer.styles.append('Yoesril')
m.layers.append(layer)
m.zoom_all()

s.rules.append(r)

point_sym = mapnik.MarkersSymbolizer()
point_sym.filename

s = mapnik.Style()
r = mapnik.Rule()

basinsLabels = mapnik.TextSymbolizer(mapnik.Expression('[point]'),
                                     'DejaVu Sans Bold', 2,
                                     mapnik.Color('black'))
basinsLabels.halo_fill = mapnik.Color('Yellow')
basinsLabels.halo_radius = 0.3
Beispiel #11
0
m.background = mapnik.Color('steelblue')
# MAP 1 DUNIA
s = mapnik.Style()
r = mapnik.Rule()
polygon_symbolizer = mapnik.PolygonSymbolizer()
polygon_symbolizer.fill = mapnik.Color('#7FFF00')
r.symbols.append(polygon_symbolizer)

line_symbolizer = mapnik.LineSymbolizer()
line_symbolizer = mapnik.LineSymbolizer(mapnik.Color('white'), 1)
line_symbolizer.stroke_width = 10.0

r.symbols.append(line_symbolizer)
s.rules.append(r)
m.append_style('Bangkit', s)
ds = mapnik.Shapefile(file="countries/ne_110m_admin_0_countries.shp")
layer = mapnik.Layer('world')
layer.datasource = ds
layer.styles.append('Bangkit')
m.layers.append(layer)
# BATAS AKHIR MAP 1 DUNIA

# MAP 2 Negara Afrika
s = mapnik.Style()
r = mapnik.Rule()
polygon_symbolizer = mapnik.PolygonSymbolizer()
polygon_symbolizer.fill = mapnik.Color('#D2691E')
r.symbols.append(polygon_symbolizer)

line_symbolizer = mapnik.LineSymbolizer()
line_symbolizer = mapnik.LineSymbolizer(mapnik.Color('white'), 1)
Beispiel #12
0
r.symbols.append(polygon_symbolizer) #add symbolizer to rule

#to outline a polygon
line_symbolizer = mapnik.LineSymbolizer()
line_symbolizer.stroke = mapnik.Color('rgb(50%,50%,50%)')
line_symbolizer.stroke_width = 0.1
r.symbols.append(line_symbolizer) #add symbolizer to rule

#add rule to the style
s.rules.append(r)

#add style to map
m.append_style("My Style", s)

#create a datasource
datasource = mapnik.Shapefile(file='110m-admin-0-countries/ne_110m_admin_0_countries.shp')

#prints full coordinate bounds of the data
print(datasource.envelope())

#create a layer
layer = mapnik.Layer('world')
#attach datasource to layer
layer.datasource = datasource

#style must be appended to layer
layer.styles.append('My Style')

#append layer to map and zoom to extent of layer
m.layers.append(layer)
m.zoom_all()
Beispiel #13
0
def testMapnik():
    #Help from Dane Springmeyer: https://gist.github.com/3438657

    #print mapnik.mapnik_version_string()
    #mapfile = '/home/klammer/Software/Quickly/TileGen/tilegen/data/media/testdaten/mercator_polygon/vogtland_style_PC-version.xml'
    mapfile = '/home/klammer/Software/Quickly/TileGen/tilegen/data/media/testdaten/mercator_polygon/slippy_vogtland.xml'

    imgx = 256
    imgy = 256
    #print dir(imgx)

    m = mapnik.Map(imgx, imgy)
    mapnik.load_map(m, mapfile)
    print mapnik.scale_denominator(m, mapnik.Projection(m.srs).geographic)
    m.zoom_all()
    m.buffer_size = 128
    print '*Number of Layers: ', m.layers.__len__()
    for layer in m.layers.__iter__():
        print layer.name
        #print layer.datasource.params().get('type')
        #print layer.name
        #print layer.datasource
        #print dir(layer.datasource)
        #print dir(layer.datasource.envelope())
        #print layer.datasource.envelope()
        #print layer.datasource.params().as_dict()['type']
        #print layer.datasource.envelope().minx
        #print layer.datasource.envelope().width()
        #desc = layer.datasource.params().as_dict()
        #print desc
        #print layer.srs
        #print layer.datasource.envelope()[0]
        #print dir(layer.datasource.features)
        length = len(layer.datasource.all_features())
        #       if length < 10:
        #          print dir(layer.datasource.all_features())
        #         for feature in layer.datasource.all_features().__iter__():
        #            print dir(feature)
        #           for item in feature.iteritems():
        #              print item
        # print dir(layer.datasource)
        #print layer.datasource.fields()

        #print '**Number of Styles: ',len(layer.styles)
        for i in xrange(len(layer.styles)):
            #print layer.styles[i]
            style = m.find_style(layer.styles[i])
            #print '***Number of Rules: ',len(style.rules)
    #        for rule in style.rules.__iter__():
    #            print rule.filter, rule.min_scale, rule.max_scale
    #            for j in xrange(len(rule.symbols)):

    #               symbol = rule.symbols[j]
    #              print symbol
    #             symbol_type = str(symbol).split('.')[2].split(' ')[0]
    #            #print symbol_type
    #           if symbol_type == 'PolygonSymbolizer':
    #              help = 0
    #             #print symbol.fill, symbol.fill_opacity, symbol.gamma
    #        elif symbol_type == 'LineSymbolizer':
    #           stroke = symbol.stroke
    #          #print stroke.color, stroke.dash_offset, stroke.gamma, stroke.line_cap, stroke.line_join, stroke.opacity, stroke.width
    ##     else:
    #       print 'Please implement the missing types!!!!!'
    ##print mapnik.save_map_to_string(m)
    for plugs in mapnik.DatasourceCache.plugin_names():
        plug_in = ''
        for i in xrange(plugs.__len__()):
            plug_in = plug_in + plugs.__getitem__(i)
        #print plug_in

    ds = mapnik.Shapefile(
        file=
        '/home/klammer/Software/Quickly/TileGen/tilegen/data/media/testdaten/mercator_polygon/lines.shp'
    )
Beispiel #14
0
poly_sym = mapnik.PolygonSymbolizer(poly_color)

# create a rule and add symbolizer to it
rule = mapnik.Rule()
rule.symbols.append(poly_sym)

# create a style and add rule to it
style = mapnik.Style()
style.rules.append(rule)

# add style to map as "MyStyle"
_map.append_style('MyStyle', style)

# get the shapefile
input_file = mapnik.Shapefile(
    file=
    '/home/preet/Documents/maps/shapefiles/coastline/osm_mar2013_full/land_polygons.shp'
)

# create a layer and add shapefile and style
layer = mapnik.Layer('world')
layer.datasource = input_file
layer.styles.append('MyStyle')

# add layer to map
_map.layers.append(layer)

###
FILE_PATH = './tiles/'
if not os.path.exists(FILE_PATH):
    os.makedirs(FILE_PATH)
Beispiel #15
0
import mapnik
m = mapnik.Map(1080, 800)
m.background = mapnik.Color('steelblue')
s = mapnik.Style()
r = mapnik.Rule()
polygon_symbolizer = mapnik.PolygonSymbolizer()
polygon_symbolizer.fill = mapnik.Color('#FF7F00')
r.symbols.append(polygon_symbolizer)

line_symbolizer = mapnik.LineSymbolizer()
line_symbolizer = mapnik.LineSymbolizer(mapnik.Color('blue'), 1)
line_symbolizer.stroke_width = 10.0

r.symbols.append(line_symbolizer)
s.rules.append(r)
m.append_style('Heri', s)
ds = mapnik.Shapefile(file="shp kebun/lu_kebun.shp")
layer = mapnik.Layer('kebun')
layer.datasource = ds
layer.styles.append('Heri')
m.layers.append(layer)
m.zoom_all()
mapnik.render_to_file(m, 'kebun.png', 'png')
print "rendered image to 'world.png'"
Beispiel #16
0
""" mapnik_example.py

    This is a minimal example of using Mapnik from Python.  It is intended to
    be read as part of the "A taste of Mapnik" section of Chapter 4 of the book
    Python Geospatial Analysis.
"""

import mapnik

map = mapnik.Map(1200, 600)
map.background = mapnik.Color("#e0e0ff")

layer = mapnik.Layer("countries")
layer.datasource = mapnik.Shapefile(file="TM_WORLD_BORDERS-0.3/" +
                                    "TM_WORLD_BORDERS-0.3.shp")
layer.styles.append("country_style")
map.layers.append(layer)

fill_symbol = mapnik.PolygonSymbolizer(mapnik.Color("#60a060"))
line_symbol = mapnik.LineSymbolizer(mapnik.Color("black"), 0.5)

rule = mapnik.Rule()
rule.symbols.append(fill_symbol)
rule.symbols.append(line_symbol)

style = mapnik.Style()
style.rules.append(rule)

map.append_style("country_style", style)

map.zoom_all()
Beispiel #17
0
import mapnik
m = mapnik.Map(1000, 700)
m.background = mapnik.Color('white')
s = mapnik.Style()
r = mapnik.Rule()
polygon_symbolizer = mapnik.PolygonSymbolizer()
polygon_symbolizer.fill = mapnik.Color('#ff0000')
r.symbols.append(polygon_symbolizer)

line_symbolizer = mapnik.LineSymbolizer()
line_symbolizer = mapnik.LineSymbolizer(mapnik.Color('green'), 1)
line_symbolizer.stroke_width = 10.0

r.symbols.append(line_symbolizer)
s.rules.append(r)
m.append_style('Ari', s)
ds = mapnik.Shapefile(file="sungai/IND_SNG_polyline.shp")
layer = mapnik.Layer('world')
layer.datasource = ds
layer.styles.append('Ari')
m.layers.append(layer)
m.zoom_all()
mapnik.render_to_file(m, 'sungai.png', 'png')
print "rendered image to 'world.png'"
Beispiel #18
0
import mapnik

m = mapnik.Map(600, 300)
m.background = mapnik.Color('red')
s = mapnik.Style()
r = mapnik.Rule()
polygon_symbolizer = mapnik.PolygonSymbolizer()
polygon_symbolizer.fill = mapnik.Color('#fdf704')
r.symbols.append(polygon_symbolizer)

line_symbolizer = mapnik.LineSymbolizer()
line_symbolizer = mapnik.LineSymbolizer(mapnik.Color('green'), 1)
line_symbolizer.stroke_width = 10.0

r.symbols.append(line_symbolizer)
s.rules.append(r)
m.append_style('Sancaka', s)
ds = mapnik.Shapefile(file="petaindonesia/map.shp")
layer = mapnik.Layer('world')
layer.datasource = ds
layer.styles.append('Sancaka')
m.layers.append(layer)
m.zoom_all()
mapnik.render_to_file(m, 'petaindonesia.jpeg', 'jpeg')
print "rendered image to 'petaindonesia.jpeg'"
m = mapnik.Map(
    1000, 1000, '+init=epsg:4326'
)  # create a map with a given width and height in pixels and projected in WGS 84.
m.background = mapnik.Color('#87CEFF')  # set background colour.

ssStyles = mapnik.Style()  # style object to hold rules for Study Site
ssRules = mapnik.Rule()  # rule object to hold symbolizers for Study Site

citiesStyles = mapnik.Style()  # style object to hold rules for Cities
citiesRules = mapnik.Rule()  # rule object to hold symbolizers Cities

pStyles = mapnik.Style()  # style object to hold rules for Peru
pRules = mapnik.Rule()  # rule object to hold symbolizers Peru

studySiteDS = mapnik.Shapefile(file='StudySiteRegion.shp')
studySiteLyr = mapnik.Layer('Study Site', '+init=epsg:4326')
studySiteLyr.datasource = studySiteDS

peruDS = mapnik.Shapefile(file='GRC_adm1.shp')
peruLyr = mapnik.Layer('Peru', '+init=epsg:4326')
peruLyr.datasource = peruDS

cityNames = mapnik.Shapefile(file='places.shp')
citiesLyr = mapnik.Layer('Cities', '+init=epsg:4326')
citiesLyr.datasource = cityNames

#point_symbolizer_cities = mapnik.PointSymbolizer()#mapnik.Color('#000000'))
#citiesRules.symbols.append(point_symbolizer_cities)

t = mapnik.TextSymbolizer(mapnik.Expression('[name]'), 'DejaVu Sans Book', 12,
Beispiel #20
0
polygon_symbolizer.fill = mapnik.Color('#fdf704')
r.symbols.append(polygon_symbolizer)

line_symbolizer = mapnik.LineSymbolizer()
line_symbolizer = mapnik.LineSymbolizer(mapnik.Color('white'), 1)
line_symbolizer.stroke_width = 10.0

r.symbols.append(line_symbolizer)

basinsLabels = mapnik.TextSymbolizer(mapnik.Expression('[NAME]'),
                                     'DejaVu Sans Bold', 5,
                                     mapnik.Color('black'))
basinsLabels.halo_fill = mapnik.Color('yellow')
basinsLabels.halo_radius = 2
r.symbols.append(basinsLabels)

point_sym = mapnik.PointSysmbolyzer()
point_sym.allow_overlap = TRUE
r.symbols.append(point_sym)

s.rules.append(r)

m.append_style('Yogi', s)
ds = mapnik.Shapefile(file="provinsiindonesia/INDONESIA_PROP.shp")
layer = mapnik.Layer('world')
layer.datasource = ds
layer.styles.append('Yogi')
m.layers.append(layer)
m.zoom_all()
mapnik.render_to_file(m, '1.png', 'png')
print "rendered image to '1.png'"
Beispiel #21
0
#     type='shape'
#     file='/path/to/shape'
# raster:
#     type='raster'
#     file='/path/to/raster'
# postgis:
#     type='postgis'
#     host='127.0.0.1'
#     dbname='mydatabase'
#     user='******'
#     password='******'
#     table= TODO

provpoly_lyr = mapnik.Layer('Provinces')
provpoly_lyr.srs = "+proj=lcc +ellps=GRS80 +lat_0=49 +lon_0=-95 +lat+1=49 +lat_2=77 +datum=NAD83 +units=m +no_defs"
provpoly_lyr.datasource = mapnik.Shapefile(file='../data/boundaries',
                                           encoding='latin1')

# We then define a style for the layer.  A layer can have one or many styles.
# Styles are named, so they can be shared across different layers.
# Multiple styles per layer behaves functionally like multiple layers.  The
# data is completely re-scanned for each style within one layer, and a style
# will be drawn entirely "above" the previous one.  Performance wise using
# multiple styles in one layer is the same has having multiple layers.
# The paradigm is useful mostly as a convenience.

provpoly_style = mapnik.Style()

# A Style needs one or more rules.  A rule will normally consist of a filter
# for feature selection, and one or more symbolizers.

provpoly_rule_on = mapnik.Rule()
    color = '#FFFFFF'
    outline_color = '#000000'

    rule = mapnik.Rule()
    rule.filter = mapnik.Filter(the_filter)
    symbolizer = mapnik.PolygonSymbolizer(mapnik.Color(color))
    rule.symbols.append(symbolizer)
    precinct_style.rules.append(rule)

    symbolizer = mapnik.LineSymbolizer()
    symbolizer.stroke = mapnik.Stroke(mapnik.Color(outline_color), 1)
    rule.symbols.append(symbolizer)
    precinct_style.rules.append(rule)

layer1 = mapnik.Layer("Precinct Layer")
layer1.datasource = mapnik.Shapefile(file="data/Voter_Precinct.shp")
layer1.styles.append("Map Style")

columbia_pike_area = [201, 323, 324, 325, 326, 327, 331, 332, 334]
columbia_pike_area += [335, 338, 376, 457, 466, 467]

for roads in columbia_pike_area:
    the_filter = '[OBJECTID] = {0}'.format(roads)

    rule = mapnik.Rule()
    rule.filter = mapnik.Filter(the_filter)
    symbolizer = mapnik.PolygonSymbolizer(mapnik.Color('#FF7700'))
    rule.symbols.append(symbolizer)
    roads_style.rules.append(rule)

    symbolizer = mapnik.LineSymbolizer()
Beispiel #23
0
#!/usr/bin/env python

import mapnik
m = mapnik.Map(800,600,"+proj=latlong +datum=WGS84")
m.background = mapnik.Color('steelblue')
s = mapnik.Style()
r=mapnik.Rule()
r.symbols.append(mapnik.PolygonSymbolizer(mapnik.Color('#f2eff9')))
r.symbols.append(mapnik.LineSymbolizer(mapnik.Color('rgb(50%,50%,50%)'),0.1))
s.rules.append(r)
m.append_style('My Style',s)
lyr = mapnik.Layer('world',"+proj=latlong +datum=WGS84")
lyr.datasource = mapnik.Shapefile(file='world_borders')
lyr.styles.append('My Style')
m.layers.append(lyr)
m.zoom_to_box(lyr.envelope())
mapnik.render_to_file(m,'world_800x600.png', 'png')
# -*- coding: utf-8 -*-
print('=' * 40)
print(__file__)
from helper.textool import get_tmp_file

################################################################################
import mapnik
ds = mapnik.Shapefile(file='/gdata/GSHHS_c.shp')
ds.envelope()

################################################################################
import os
stylesheet = '/gdata/world_map.xml'
m = mapnik.Map(600, 300)
mapnik.load_map(m, stylesheet)
for x in m.layers:
    print(x.name)
    print(x.envelope())
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
###############################################################################
###############################################################################
import os
import mapnik
m = mapnik.Map(1000, 800, '+init=epsg:4326')
m.background = mapnik.Color('steelblue')
s = mapnik.Style()
r = mapnik.Rule()
polygon_symbolizer = mapnik.PolygonSymbolizer()
polygon_symbolizer.fill = mapnik.Color('#f2eff9')
r.symbols.append(polygon_symbolizer)
line_symbolizer = mapnik.LineSymbolizer()
line_symbolizer.stroke = mapnik.Color('rgb(50%,50%,50%)')
line_symbolizer.stroke_width = 0.1
r.symbols.append(line_symbolizer)
s.rules.append(r)
m.append_style('My Style', s)
lyr = mapnik.Layer('world', "+proj=latlong +datum=WGS84")
lyr.datasource = mapnik.Shapefile(file='/gdata/world_borders.shp')
lyr.styles.append('My Style')
m.layers.append(lyr)
m.zoom_to_box(lyr.envelope())
mapnik.render_to_file(m, 'xx_b.png', 'png')
r2 = mapnik.Rule()
r.symbols.append(polygon_symbolizer)
r2.symbols.append(polygon_symbolizer2)
r.filter = mapnik.Expression("[id] = 1")
r2.filter = mapnik.Expression("[id] = 2")
line_symbolizer = mapnik.LineSymbolizer()
line_symbolizer.stroke = mapnik.Color('rgb(50%,50%,50%)')
line_symbolizer.stroke_linecap = mapnik.stroke_linecap.ROUND_CAP
line_symbolizer.stroke_width = 5.0
r.symbols.append(line_symbolizer)
r2.symbols.append(line_symbolizer)
s.rules.append(r)
s.rules.append(r2)
m.append_style('My Style', s)
lyr = mapnik.Layer('world', "+proj=latlong +datum=WGS84")
lyr.datasource = mapnik.Shapefile(file='/gdata/fig_data/fig_data_poly.shp')
lyr.styles.append('My Style')
m.layers.append(lyr)
m.zoom_all()
mapnik.render_to_file(m, 'xx_mapnik_filter.png', 'png')
###############################################################################

###############################################################################

###############################################################################
###############################################################################
r3 = mapnik.Rule()
r3.set_else(True)
r3.symbols.append(line_symbolizer)
s.rules.append(r3)
m.append_style('My Style2', s)
Beispiel #27
0
# create a rule and add symbolizer to it
vRule = mapnik.Rule()
vRule.symbols.append(vPolySym)

# create a style and add rule to it
vStyle = mapnik.Style()
vStyle.rules.append(vRule)

# add style to map as "MyStyle"
vMap.append_style('MyStyle', vStyle)
#vMap.append_style('TStyle',vTextStyle)

# get the shapefile
vFile = mapnik.Shapefile(
    file='/home/preet/Documents/maps/shapefiles/coastline/osm_full/polygons.shp'
)
#vFile = mapnik.Shapefile(file='/home/preet/Documents/maps/shapefiles/coastline/ned_coast/ne_50m_coastline.shp')

# create a layer and add shapefile and style
vLayer = mapnik.Layer('world')
vLayer.datasource = vFile
vLayer.styles.append('MyStyle')
vLayer.styles.append('TStyle')

# add layer to map
vMap.layers.append(vLayer)

# zoom to bounds
vMap.zoom_all()
Beispiel #28
0
# Script demonstrating how to use multiple rules in a mapnik style.

#####################  The first part is from listing 11.8.

import mapnik

# Create the map object.
srs = "+proj=longlat +ellps=GRS80 +datum=NAD83 +no_defs"
m = mapnik.Map(800, 600, srs)
m.zoom_to_box(mapnik.Box2d(-90.3, 29.7, -89.5, 30.3))

# Create a layer from a shapefile.
tiger_fn = r'D:\osgeopy-data\Louisiana\tiger_la_water_CENSUS_2006'
tiger_shp = mapnik.Shapefile(file=tiger_fn)
tiger_lyr = mapnik.Layer('Tiger')
tiger_lyr.datasource = tiger_shp

# Create a polygon fill symbol.
water_color = mapnik.Color(165, 191, 221)
water_fill_sym = mapnik.PolygonSymbolizer(water_color)

# Create a symbology style and add it to the layer.
tiger_rule = mapnik.Rule()
tiger_rule.symbols.append(water_fill_sym)
tiger_style = mapnik.Style()
tiger_style.rules.append(tiger_rule)
m.append_style('tiger', tiger_style)

# Add the style and layer to the map.
tiger_lyr.styles.append('tiger')
Beispiel #29
0
def test_total_feature_count_shp():
    if 'shape' in mapnik.DatasourceCache.plugin_names():
        ds = mapnik.Shapefile(file='../data/shp/poly.shp')
        features = ds.all_features()
        num_feats = len(features)
        eq_(num_feats, 10)
Beispiel #30
0
 def test_shapefile_point_zm_from_arcgis():
     ds = mapnik.Shapefile(file='../data/shp/points/poi.shp')
     eq_(len(ds.fields()),7)
     eq_(ds.fields(),['interst_id', 'state_d', 'cnty_name', 'latitude', 'longitude', 'Name', 'Website'])
     eq_(ds.field_types(),['str', 'str', 'str', 'float', 'float', 'str', 'str'])
     eq_(len(ds.all_features()),17)