Skip to main content

A pure Python MapFile parser for working with MapServer

Project description

Version Build Status Docs

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.4.3.tar.gz (48.7 kB view details)

Uploaded Source

Built Distribution

mappyfile-0.4.3-py2.py3-none-any.whl (20.0 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

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

File hashes

Hashes for mappyfile-0.4.3.tar.gz
Algorithm Hash digest
SHA256 8875555cbe1c72acc8bc0b797f524c908de2a646fd7a23cbab9fabf6b0974dbd
MD5 e1b10fb8f60c54627c27c5cdbc6a8cb0
BLAKE2b-256 c800ed340fcebe7bead1bd7586e93513cfba6f92c8dc5c1086a2e09283590c0c

See more details on using hashes here.

Provenance

File details

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

File metadata

File hashes

Hashes for mappyfile-0.4.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 cf724ed9331139c6f25794f2d3f09993a224160d6204e70827dda3fe3d7e05af
MD5 77d490f56182b5f72ea0dc8c9e04badd
BLAKE2b-256 3f7ad308c48ea5b3496c2ca22b6a9056b411fae54ca9912823e5e30c7fb5c59c

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