Skip to main content

A pure Python MapFile parser for working with MapServer

Project description

Version Docs Build Status Coveralls Appveyor Build Status

A pure Python MapFile parser for working with MapServer, built using Lark

An online formatter demonstrating the libraries capabilities can be found at: http://mappyfile.geographika.net/

A presentation on mappyfile was given at FOSS4G Europe 2017 - slides are available for download here.

https://raw.githubusercontent.com/geographika/mappyfile/master/docs/images/class_parsed_small.png

Requirements

  • Python 2.7 or Python 3.x

Installation

mappyfile is available on PyPI (Python Package Index), and can be installed using pip:

pip install mappyfile

This will also install its required dependences Lark (lark-parser), and jsonschema.

Documentation

Documentation at http://mappyfile.readthedocs.io/en/latest/

Usage

import mappyfile

mapfile = mappyfile.load("./docs/examples/raster.map")

# update the map name
mapfile["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
    END
END
"""

new_layer = mappyfile.loads(new_layer_string)
layers.insert(0, new_layer) # can insert the new layer at any index

print(mappyfile.dumps(mapfile))

Authors

Contributors

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mappyfile-0.7.2.tar.gz (76.9 kB view details)

Uploaded Source

Built Distribution

mappyfile-0.7.2-py2.py3-none-any.whl (42.9 kB view details)

Uploaded Python 2Python 3

File details

Details for the file mappyfile-0.7.2.tar.gz.

File metadata

  • Download URL: mappyfile-0.7.2.tar.gz
  • Upload date:
  • Size: 76.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for mappyfile-0.7.2.tar.gz
Algorithm Hash digest
SHA256 9c7e9bcde558f3dfed9a28e77bb68b02b8b6252fee80f080eee72e57664dfa89
MD5 da7142928026f7bb4df9f723131f4f9f
BLAKE2b-256 f6fc66614edbbae26dcfafb3951f6a358aea47b994acacd2dc8fe4a484972267

See more details on using hashes here.

File details

Details for the file mappyfile-0.7.2-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for mappyfile-0.7.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 6bcadad1f770323b34ce4e4807242bb85e6f27275db8b5afd44fdf7dd744bd5c
MD5 5c658ba9e984e3d4a49b0206a0c2c779
BLAKE2b-256 8453265e3424055959843f865d4e6f9ba489f63aefbabff0c9ff0226997415bf

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page