pycnik é um tradutor simples de código Python (com as convenções de codificação) para Mapnik estilo XML.
Instale Pycnik
& Nbsp; git clone https://github.com/ldgeo/pycnik
& Nbsp; cd pycnik
& Nbsp; python setup.py instalar
Teste
Para executar os testes:
& Nbsp; python -m unittest descobrir -s test /
Introdução
Pycnik usar declaração de variável dinâmica, então você tem que usar as mesmas palavras-chave como a sintaxe de declaração xml.
example.py:
de pycnik.model import *
Background_color = "rgb (255255220)"
NATURAL_RASTER = {
& Nbsp; "type": "gdal",
& Nbsp; "file": "natural_earth.tif"
}
DATABASE_PARAM = {
& Nbsp; "dbname": "banco de dados",
& Nbsp; "estimate_extent": "true",
& Nbsp; "host": "0.0.0.0",
& Nbsp; "password": "******",
& Nbsp; "port": "5432",
& Nbsp; "type": "postgis",
& Nbsp; "user": "mapuser",
& Nbsp; "srid": "4326",
}
################
# MAP DEFINIÇÃO
################
Map.background_color = background_color
Map.srs = "+ init = EPSG: 4326"
Map.minimum_version = "2.0"
Map.font_directory = "fontes"
Map.buffer_size = 128
########
# CAMADAS
########
natural_earth = Camada ("natural_earth")
natural_earth.datasource = NATURAL_RASTER
bnd = Layer ("os limites do país")
bnd.datasource = DATABASE_PARAM
bnd.table = "" schema.boundaries
########
# ESTILOS
########
natural_earth.style () [: 3] = {
& Nbsp; RASTER: {
& Nbsp; 'escala': 'bilinear'
& Nbsp;}
}
bnd.style ("blue") [00:19] = {
& Nbsp; LINHA: {
& Nbsp; 'encher': 'rgb (255,0,0)',
& Nbsp; "stroke-width ':' 4 '
& Nbsp;},
& Nbsp; "filtro": "[countrycode] = 'ESP'"
}
bnd.style ("blue") [10:15] = {
& Nbsp; LINHA: {
& Nbsp; "stroke-width ':' 12 '
& Nbsp;}
& Nbsp; # herança, o filtro é conservada
}
Gerar mapnik XML
& Nbsp; pycnik example.py -o example.xml
Características :
- permitir o uso de número exótica de níveis de zoom e tamanhos de telha (calcula escalas denominadores)
- fornece um mecanismo para herança
- add atributo automático cache-recurso ao usar mais de 2 estilos
Requisitos :
- Python
- mapnik2
- lxml
Limitações :
- nenhuma possibilidade de utilizar várias symbolizers semelhantes na mesma regra
Comentários não encontrado