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.5.1.zip (85.4 kB view details)

Uploaded Source

Built Distribution

mappyfile-0.5.1-py2.py3-none-any.whl (33.8 kB view details)

Uploaded Python 2Python 3

File details

Details for the file mappyfile-0.5.1.zip.

File metadata

  • Download URL: mappyfile-0.5.1.zip
  • Upload date:
  • Size: 85.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for mappyfile-0.5.1.zip
Algorithm Hash digest
SHA256 af3d2436fb2a88d08384cf451743e09b7f4c9b0eaa6d635f317d29ce8696f69d
MD5 c97001fe4e0054f9c6ed351c5b0eebb8
BLAKE2b-256 ab7c92e2e024a085bc9893e7fa7596ca1e7037735f43cf526e8b487a08781361

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mappyfile-0.5.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 f3aaaf8b3077813c7212a87d1c9c83b1344b3ac25f8a0ebbbc9d4f5784051163
MD5 25eac8af4dbe5e9dd0d42272e04a87c4
BLAKE2b-256 794dce6662a3e0df632074e78c1909716d064e9a9157e1bfcdc5a3a328f4d378

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