Skip to main content

A pure Python MapFile parser for working with MapServer

Project description

Version Docs Build Status 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.1.tar.gz (76.2 kB view details)

Uploaded Source

Built Distribution

mappyfile-0.7.1-py2.py3-none-any.whl (42.3 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

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

File hashes

Hashes for mappyfile-0.7.1.tar.gz
Algorithm Hash digest
SHA256 3d2b4b47e0ef8a1a1dc6103835b232500d47632f218c8308300663083d25ec0d
MD5 6a852e6908d001294f3dcd18f5d7259c
BLAKE2b-256 885647c4a4ddd5c96dafd904bd519011d675b20e5904dedfb69bb7b5a7cedc32

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for mappyfile-0.7.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 5aaa44dfbb01cfac0cc800a937da15a72bd1c08dcf703ae3240c0fb728d95a43
MD5 8f19271c9f6a03d2c4e78069f5f37ba6
BLAKE2b-256 272c411b3c17524959acf74615e983cc6cccb275483ceffbda7fcd912ef9ad2f

See more details on using hashes here.

Provenance

Supported by

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