pycnik es un simple traductor de código Python (con las convenciones de codificación) para Mapnik hoja de estilo XML.
Instalar Pycnik
& Nbsp; git clone https://github.com/ldgeo/pycnik
& Nbsp; pycnik cd
& Nbsp; python setup.py install
Prueba
Para ejecutar las pruebas:
& Nbsp; python -m unittest descubrir -s test /
Introducción
Pycnik utilizar dinámica declaración de variables, así que tienes que usar las mismas palabras clave como la sintaxis de declaración xml.
example.py:
desde pycnik.model import *
Background_color = "rgb (255 255 220) '
NATURAL_RASTER = {
& Nbsp; "tipo": "gdal",
& Nbsp; "archivo": "natural_earth.tif"
}
DATABASE_PARAM = {
& Nbsp; "dbname": "base de datos",
& Nbsp; "estimate_extent": "true",
& Nbsp; "host": "0.0.0.0",
& Nbsp; "password": "******",
& Nbsp; "puerto": "5432",
& Nbsp; "tipo": "PostGIS",
& Nbsp; "usuario": "mapuser",
& Nbsp; "srid": "4326",
}
################
# MAPA DEFINICIÓN
################
Map.background_color = background_color
Map.srs = "+ init = EPSG: 4326"
Map.minimum_version = "2.0"
Map.font_directory = "fuentes"
Map.buffer_size = 128
########
# CAPAS
########
natural_earth = Capa ("natural_earth")
natural_earth.datasource = NATURAL_RASTER
BND = Layer ("los límites del país")
bnd.datasource = DATABASE_PARAM
bnd.table = "schema.boundaries"
########
# ESTILOS
########
natural_earth.style () [: 3] = {
& Nbsp; TRAMA: {
& Nbsp; "escalamiento": "bilineal"
& Nbsp;}
}
bnd.style ("azul") [doce y diecinueve] = {
& Nbsp; LÍNEA: {
& Nbsp; 'llenar': 'rgb (255,0,0) ",
& Nbsp; "stroke-width ':' 4 '
& Nbsp;},
& Nbsp; "filtro": "[countryCode] = 'ESP'"
}
bnd.style ("azul") [10:15] = {
& Nbsp; LÍNEA: {
& Nbsp; "stroke-width ':' 12 '
& Nbsp;}
& Nbsp; # herencia, el filtro se conserva
}
Generar mapnik XML
& Nbsp; pycnik example.py -o example.xml
Características :
- permite utilizar varios exótica de los niveles de zoom y tamaños de azulejos (calcula escalas denominadores)
- proporciona un mecanismo para la herencia
- atributo cache-función de Add automática cuando se utiliza más de 2 estilos
Requisitos :
- Python
- mapnik2
- lxml
Limitaciones :
- hay posibilidad de utilizar varios simbolizadores similares en la misma regla
Comentarios que no se encuentran