pycnik ay isang simpleng Translator mula sa Python code (sa coding convention) sa Mapnik XML stylesheet.
I-install Pycnik
& Nbsp; Git clone https://github.com/ldgeo/pycnik
& Nbsp; cd pycnik
& Nbsp; python setup.py-install
Pagsubok
Upang patakbuhin ang pagsusulit:
& Nbsp; python -m unittest matuklasan -s pagsubok /
Pagsisimula
Pycnik gamitin ang dynamic na variable na deklarasyon, kaya kailangan mong gamitin ang parehong mga keyword bilang xml pagpapahayag syntax.
example.py:
mula sa pag-import pycnik.model *
BACKGROUND_COLOR = 'rgb (255,255,220)'
NATURAL_RASTER = {
& Nbsp; "uri": "gdal",
& Nbsp; "file": "natural_earth.tif"
}
DATABASE_PARAM = {
& Nbsp; "dbname": "database",
& Nbsp; "estimate_extent": "totoo",
& Nbsp; "host": "0.0.0.0",
& Nbsp; "password": "******",
& Nbsp; "port": "5432",
& Nbsp; "uri": "postgis",
& Nbsp; "user": "mapuser",
& Nbsp; "srid": "4326",
}
################
# MAPA kahulugan
################
Map.background_color = BACKGROUND_COLOR
Map.srs = "+ init = epsg: 4326"
Map.minimum_version = "2.0"
Map.font_directory = "font"
Map.buffer_size = 128
########
# LAYER
########
natural_earth = Layer ("natural_earth")
natural_earth.datasource = NATURAL_RASTER
bnd = Layer ("mga hangganan ng bansa")
bnd.datasource = DATABASE_PARAM
bnd.table = "schema.boundaries"
########
# Mga Estilo
########
natural_earth.style () [: 3] = {
& Nbsp; raster: {
& Nbsp; 'scale': 'bilinear'
& Nbsp;}
}
bnd.style ("bughaw") [00:19] = {
& Nbsp; LINE: {
& Nbsp; 'punan': 'rgb (255,0,0)',
& Nbsp; 'stroke-width': '4'
& Nbsp;},
& Nbsp; 'filter': "[CountryCode] = 'ESP'"
}
bnd.style ("bughaw") [10:15] = {
& Nbsp; LINE: {
& Nbsp; 'stroke-width': '12'
& Nbsp;}
& Nbsp; # inheritance, ang filter na ito ay conserved
}
Bumuo ng mapnik XML
& Nbsp; pycnik example.py -o example.xml
Mga Tampok :
- payagan ang paggamit ng mga kakaibang bilang ng mga antas ng pag-zoom at laki ng tile (computes mga antas denominators)
- nagbibigay ng isang mekanismo para sa inheritance
- awtomatikong add cache-tampok na katangian kapag gumagamit ng higit sa 2 mga estilo
Mga Kinakailangan :
- Python
- mapnik2
- lxml
Mga Limitasyon :
- walang posibilidad upang gamitin ang ilang mga katulad na symbolizers sa parehong panuntunan
Mga Komento hindi natagpuan