You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
mappyfile is used for formatting and validation in https://app.mapserverstudio.net/, and can be tested for free on any
of your Mapfiles. If you find mappyfile useful please consider signing up for a professional account at
https://mapserverstudio.net/. This will help to fund maintenance and further development of both mappyfile and MapServer.
Requirements
Python 3.8 or higher
Installation
mappyfile is available on PyPI (the Python Package Index), and can be installed using pip:
pip install mappyfile
This will also install its required dependencies - Lark, and
jsonschema.
To install the optional lark-cython library
for better performance on CPython you can run the following command:
pip install mappyfile[lark_cython]
mappyfile is also available on conda. Install as
follows:
importmappyfilemapfile=mappyfile.open("./docs/examples/raster.map")
# update the map namemapfile["name"] ="MyNewMap"new_layer_string="""LAYER NAME 'land' TYPE POLYGON DATA '../data/vector/naturalearth/ne_110m_land' CLASS STYLE COLOR 107 208 107 OUTLINECOLOR 2 2 2 WIDTH 1 END ENDEND"""layers=mapfile["layers"]
new_layer=mappyfile.loads(new_layer_string)
layers.insert(0, new_layer) # insert the new layer at any index in the Mapfileforlinlayers:
print("{} {}".format(l["name"], l["type"]))
print(mappyfile.dumps(mapfile, indent=1, spacer="\t"))
Three command line tools are available - format, validate, and schema: