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

Uploaded Source

Built Distribution

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

Uploaded Python 2Python 3

File details

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

File metadata

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

File hashes

Hashes for mappyfile-0.5.0.tar.gz
Algorithm Hash digest
SHA256 729b6df9204369f924cd72765b86872b479d1830925b7b216a4a2112045ef2eb
MD5 1eb7af6198577c203ead297251b1f9dd
BLAKE2b-256 aea4245034175ab9dc83d6652b4e714d24f34af583a64572860a7c5414c630a6

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for mappyfile-0.5.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 418373275f19cf4054f89270c8eb1e6cf24e8324f374bb64f4773b1458b69d9e
MD5 d0fc44429777af1fbe277f932f6616af
BLAKE2b-256 0b22d97351c9e7558b31cb9550a7332fae77ffc476e85d69bda2db492da89fa7

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