{ "info": { "author": "Seth Girvin", "author_email": "sethg@geographika.co.uk", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Build Tools" ], "description": "mappyfile-geojson\r\n=================\r\n\r\n| |Version| |Build Status|\r\n\r\nA `mappyfile `_ plugin to convert GeoJSON to \r\ninline `Mapfile features `_. Useful for adding \r\ndynamically created features (from web services, user created features, and other external\r\ndata sources) to a map, or to quickly visualise a geometry. \r\n\r\nNote - to display entire GeoJSON files MapServer\r\ncan be configured to read GeoJSON as an input `OGR source `_\r\nusing the `GeoJSON driver `_. \r\n\r\n.. code-block:: python\r\n\r\n import geojson\r\n import mappyfile\r\n # import directly\r\n import mappyfile_geojson \r\n # can also be imported as plugin using\r\n from mappyfile.plugins import mappyfile_geojson\r\n\r\n gj = geojson.load(fn)\r\n l = mappyfile_geojson.convert(gj)\r\n print(mappyfile.dumps(l))\r\n\r\nConverts:\r\n\r\n.. code-block:: json\r\n\r\n {\r\n \"type\": \"Feature\",\r\n \"geometry\": {\r\n \"type\": \"LineString\",\r\n \"coordinates\": [\r\n [ 102.0, 0.0 ],\r\n [ 103.0, 1.0 ],\r\n [ 104.0, 0.0 ],\r\n [ 105.0, 1.0 ]\r\n ]\r\n },\r\n \"properties\": {\r\n \"prop0\": \"value0\",\r\n \"prop1\": 0.0\r\n }\r\n }\r\n\r\nto:\r\n\r\n.. code-block:: console\r\n\r\n LAYER\r\n EXTENT 102.0 0.0 105.0 1.0\r\n STATUS ON\r\n TYPE LINE\r\n PROCESSING \"ITEMS=prop0,prop1\"\r\n FEATURE\r\n ITEMS \"value0;0.0\"\r\n POINTS\r\n 102.0 0.0\r\n 103.0 1.0\r\n 104.0 0.0\r\n 105.0 1.0\r\n END\r\n END\r\n END\r\n\r\nDemo\r\n----\r\n\r\nAn example of using the plugin with ``mappyfile`` \r\ncan be found in `example.py `_\r\nalong with an `example.map `_. \r\n\r\n.. image:: https://raw.githubusercontent.com/geographika/mappyfile-geojson/master/polygon.png\r\n\r\nA further example, creating images for each of the test cases using `mapscript `_ \r\nis available at `create_images.py `_. \r\n\r\nThe sample output images are in the `images `_\r\nfolder. \r\n\r\nRequirements\r\n------------\r\n\r\n* Python 2.7 or Python 3.x\r\n* mappyfile (the plugin can be used on its own but will create a dictionary object\r\n structured to use within mappyfile). Installing mappyfile should be done separately. \r\n\r\nInstallation\r\n------------\r\n\r\nNote installing the ``mappyfile-geojson`` plugin will automatically install the required dependency ``geoson``. \r\n\r\n.. code-block:: console\r\n\r\n pip install mappyfile\r\n pip install mappyfile-geojson\r\n\r\nNotes\r\n-----\r\n\r\n+ Can calculate extent of input features, with an optional buffer (by passing an ``extent_buffer`` to the ``convert``\r\n function)\r\n+ Multipart features are supported\r\n+ Coordinate sequences with Z values are supported, but Z values are ignored as they are not supported in\r\n Mapserver inline features. \r\n+ As a MapServer ``LAYER`` only supports a single geometry type, all features in the GeoJSON file should also\r\n be of the same type (however a mix of multipart and non-multipart features is supported e.g. LineString and MultiLineString)\r\n+ Nested JSON properties are not supported: \r\n\r\n .. code-block:: json\r\n\r\n \"properties\": {\r\n \"prop0\": \"value0\",\r\n \"prop1\": { \"this\": \"that\" }\r\n }\r\n\r\n Will become:\r\n\r\n .. code-block:: console\r\n\r\n ITEMS \"value0;{u'this': u'that'}\"\r\n\r\nReleases\r\n--------\r\n\r\n0.3 (29/08/2018)\r\n++++++++++++++++\r\n\r\n+ Add support for MultiPoint, MultiLineString, and MultiPolygon\r\n+ Allow coordinates with Z values (previously these would crash the script)\r\n+ Updated README\r\n\r\n0.2 (15/02/2018)\r\n++++++++++++++++\r\n\r\n+ Unicode support\r\n\r\n0.1 (06/02/2018)\r\n++++++++++++++++\r\n\r\n+ Initial release\r\n\r\nAuthor\r\n------\r\n\r\n* Seth Girvin `@geographika `_\r\n\r\n.. |Version| image:: https://img.shields.io/pypi/v/mappyfile-geojson.svg\r\n :target: https://pypi.python.org/pypi/mappyfile-geojson\r\n\r\n.. |Build Status| image:: https://travis-ci.org/geographika/mappyfile-geojson.svg?branch=master\r\n :target: https://travis-ci.org/geographika/mappyfile-geojson\r\n\r\n\r\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "http://github.com/geographika/mappyfile-geojson", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "mappyfile-geojson", "package_url": "https://pypi.org/project/mappyfile-geojson/", "platform": "", "project_url": "https://pypi.org/project/mappyfile-geojson/", "project_urls": { "Homepage": "http://github.com/geographika/mappyfile-geojson" }, "release_url": "https://pypi.org/project/mappyfile-geojson/0.3.0/", "requires_dist": [ "geojson" ], "requires_python": "", "summary": "A mappyfile plugin to convert GeoJSON to inline Mapfile features", "version": "0.3.0" }, "last_serial": 4220653, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "d074c69aa2c5dd9a7eb0e00f4569ea5d", "sha256": "6ccc2dfac82a25bbca3f346a4156bc511dae1f4a2df884c002400451d3d6f6e5" }, "downloads": -1, "filename": "mappyfile_geojson-0.1.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d074c69aa2c5dd9a7eb0e00f4569ea5d", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6694, "upload_time": "2018-02-11T01:21:00", "url": "https://files.pythonhosted.org/packages/2c/40/4b478d32f6939534bfa8840302681f4138e8fc19c2ffa9a5bbff405aafaf/mappyfile_geojson-0.1.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "1d9e6a3f39827d4980f6852de126e2ad", "sha256": "a66b1356aa4282933fd56f6f432ed394a90e789b0716ca5497a1b4cf8cc5eb58" }, "downloads": -1, "filename": "mappyfile-geojson-0.1.0.zip", "has_sig": false, "md5_digest": "1d9e6a3f39827d4980f6852de126e2ad", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8000, "upload_time": "2018-02-11T01:21:02", "url": "https://files.pythonhosted.org/packages/4e/28/02bff0bc95eadff32c41897cd21256ba9bbad66a2693a808805a427f5836/mappyfile-geojson-0.1.0.zip" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "da200934e62e593a6e6da7ab21a8ac1c", "sha256": "a7cd5b07abe5ec0308149aac0c1c64e268c8db0c525da9d7b522a65356c2d866" }, "downloads": -1, "filename": "mappyfile_geojson-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "da200934e62e593a6e6da7ab21a8ac1c", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6694, "upload_time": "2018-02-11T01:30:21", "url": "https://files.pythonhosted.org/packages/9f/d3/5ee9434f7265797a93b6a2364d00de7b87710c028b684ad2164a5e0960e9/mappyfile_geojson-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "314530e1797feb875a2e3fa2e6b7e8dc", "sha256": "b6436d0a72998c2d471e4f20dc5234c42c5ae3dfcf383551fdc11bfc76fa318e" }, "downloads": -1, "filename": "mappyfile-geojson-0.1.1.zip", "has_sig": false, "md5_digest": "314530e1797feb875a2e3fa2e6b7e8dc", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7990, "upload_time": "2018-02-11T01:30:22", "url": "https://files.pythonhosted.org/packages/e5/d1/f7bf0e7b48a08644cd4a552ca260bdaa28d0191f4b654f08808f401c0a90/mappyfile-geojson-0.1.1.zip" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "d1d7bf47c17edc23641133ec47d97ff9", "sha256": "3b8c51a8da30f894d88e387281445d1a10fe7765af7aef378ef5ea9337dd98e8" }, "downloads": -1, "filename": "mappyfile_geojson-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d1d7bf47c17edc23641133ec47d97ff9", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6696, "upload_time": "2018-02-11T01:38:10", "url": "https://files.pythonhosted.org/packages/d8/39/8b3f3883e714819da41fd0cbb41d8e26ea01b844b16219473bfc6b875ee3/mappyfile_geojson-0.1.2-py2.py3-none-any.whl" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "21a8b879541419ce9288496d40d756f0", "sha256": "656fb2e18338c44210866efe8bddfb8132cf3dd3701fb399904d97398e256a0a" }, "downloads": -1, "filename": "mappyfile_geojson-0.1.3-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "21a8b879541419ce9288496d40d756f0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6692, "upload_time": "2018-02-11T01:41:55", "url": "https://files.pythonhosted.org/packages/2c/50/499ae2b9ff08e549a004dac91a9e1335be80ab9e19ec6f5ace0df2c3825c/mappyfile_geojson-0.1.3-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "3a4a4cfcb0aaa8af69dca5ea077a9437", "sha256": "4d5ea45471a46a95e8f5e1b354c6983627867340035ba7e82844557d04080627" }, "downloads": -1, "filename": "mappyfile-geojson-0.1.3.zip", "has_sig": false, "md5_digest": "3a4a4cfcb0aaa8af69dca5ea077a9437", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11012, "upload_time": "2018-02-11T01:41:57", "url": "https://files.pythonhosted.org/packages/58/5b/5cdda12d6b4c19bb5e7e54870edefc753c9ff9df5dd7392e355fb3f81d93/mappyfile-geojson-0.1.3.zip" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "e387c4b23d82d387bc7417fc17505643", "sha256": "88604e9415c8c2b6f7115e73afdadd96226381640693c4a98817b1d9c15a1bc6" }, "downloads": -1, "filename": "mappyfile_geojson-0.1.4-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "e387c4b23d82d387bc7417fc17505643", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 6970, "upload_time": "2018-02-11T10:49:16", "url": "https://files.pythonhosted.org/packages/cf/89/05d0e09d54fa3902b63ebad226805d7500e8f37e5fd7edbdcc47b935a0d8/mappyfile_geojson-0.1.4-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "fddb48e82e2bd26e7b6fde2a59abc0a7", "sha256": "7d1f7f16053908e311ecf176ed75c33e4bdeb879066a6692bd1c924170c63615" }, "downloads": -1, "filename": "mappyfile-geojson-0.1.4.zip", "has_sig": false, "md5_digest": "fddb48e82e2bd26e7b6fde2a59abc0a7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11430, "upload_time": "2018-02-11T10:49:17", "url": "https://files.pythonhosted.org/packages/69/7d/cedbeb578f5887c320f61f5d5c97d9927c0be3ea0903528bacb0d2c59ff0/mappyfile-geojson-0.1.4.zip" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "d1ba65cd169e9a63d15373b1d6a941e1", "sha256": "89f4be9968e43cce137ccb66f7b45d90daddf8da7d9c2cf68661871ee7346074" }, "downloads": -1, "filename": "mappyfile_geojson-0.2.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d1ba65cd169e9a63d15373b1d6a941e1", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 7006, "upload_time": "2018-02-15T09:55:05", "url": "https://files.pythonhosted.org/packages/73/ce/c87781bb14ff746a1263af54e205f1440900e8e560d1fa6d6a1e078255d5/mappyfile_geojson-0.2.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b70d8b699fe757104f77dcb4e4dc6b25", "sha256": "75e11729a074cb5211d01279ffb086b1a7720f3d98fb6ec2fbcd0a7a3730c209" }, "downloads": -1, "filename": "mappyfile-geojson-0.2.0.tar.gz", "has_sig": false, "md5_digest": "b70d8b699fe757104f77dcb4e4dc6b25", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5371, "upload_time": "2018-02-15T09:55:06", "url": "https://files.pythonhosted.org/packages/65/31/ca74477035f8a75c16e0362f1a0130879b496df27b700089e99581495774/mappyfile-geojson-0.2.0.tar.gz" } ], "0.3.0": [ { "comment_text": "", "digests": { "md5": "ba0f296903030e3d10480b92719c9bfd", "sha256": "76ecd039ba5e4b304590e34fdf25fda5f0a6032a25aa9594cc4397c8ec7e0035" }, "downloads": -1, "filename": "mappyfile_geojson-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ba0f296903030e3d10480b92719c9bfd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5500, "upload_time": "2018-08-29T22:28:18", "url": "https://files.pythonhosted.org/packages/78/04/fd19cece6610c996fb11816c68eddde68be1635cbde95fc1a5c3b6cc688d/mappyfile_geojson-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b5d20d0c0e53806cb78b2ebb70069821", "sha256": "ad0d6d6b35af18a9f3d2dab75559beb195229996bbe221be0d38082273db6fcd" }, "downloads": -1, "filename": "mappyfile-geojson-0.3.0.tar.gz", "has_sig": false, "md5_digest": "b5d20d0c0e53806cb78b2ebb70069821", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6696, "upload_time": "2018-08-29T22:28:19", "url": "https://files.pythonhosted.org/packages/38/03/c25829474c5b37ef375fb7bc8c9ec71c0ec7262c251b68b0e533b8109622/mappyfile-geojson-0.3.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "ba0f296903030e3d10480b92719c9bfd", "sha256": "76ecd039ba5e4b304590e34fdf25fda5f0a6032a25aa9594cc4397c8ec7e0035" }, "downloads": -1, "filename": "mappyfile_geojson-0.3.0-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "ba0f296903030e3d10480b92719c9bfd", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": null, "size": 5500, "upload_time": "2018-08-29T22:28:18", "url": "https://files.pythonhosted.org/packages/78/04/fd19cece6610c996fb11816c68eddde68be1635cbde95fc1a5c3b6cc688d/mappyfile_geojson-0.3.0-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b5d20d0c0e53806cb78b2ebb70069821", "sha256": "ad0d6d6b35af18a9f3d2dab75559beb195229996bbe221be0d38082273db6fcd" }, "downloads": -1, "filename": "mappyfile-geojson-0.3.0.tar.gz", "has_sig": false, "md5_digest": "b5d20d0c0e53806cb78b2ebb70069821", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6696, "upload_time": "2018-08-29T22:28:19", "url": "https://files.pythonhosted.org/packages/38/03/c25829474c5b37ef375fb7bc8c9ec71c0ec7262c251b68b0e533b8109622/mappyfile-geojson-0.3.0.tar.gz" } ] }