descartes


Namedescartes JSON
Version 1.1.0 PyPI version JSON
download
home_pagehttp://bitbucket.org/sgillies/descartes/
SummaryUse geometric objects as matplotlib paths and patches
upload_time2017-01-17 15:37:03
maintainer
docs_urlNone
authorSean Gillies
requires_python
licenseBSD
keywords matplotlib gis geojson geometry
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            Descartes
=========

Use Shapely_ or GeoJSON-like geometric objects as matplotlib paths and patches

.. image:: http://farm4.static.flickr.com/3662/4555372019_9bbed1f956_o_d.png
   :width: 800
   :height: 320

Requires: matplotlib, numpy, and optionally Shapely 1.2+.

Example::

  from matplotlib import pyplot
  from shapely.geometry import LineString
  from descartes import PolygonPatch

  BLUE = '#6699cc'
  GRAY = '#999999'

  def plot_line(ax, ob):
      x, y = ob.xy
      ax.plot(x, y, color=GRAY, linewidth=3, solid_capstyle='round', zorder=1)

  line = LineString([(0, 0), (1, 1), (0, 2), (2, 2), (3, 1), (1, 0)])

  fig = pyplot.figure(1, figsize=(10, 4), dpi=180)

  # 1
  ax = fig.add_subplot(121)

  plot_line(ax, line)

  dilated = line.buffer(0.5)
  patch1 = PolygonPatch(dilated, fc=BLUE, ec=BLUE, alpha=0.5, zorder=2)
  ax.add_patch(patch1)

  #2
  ax = fig.add_subplot(122)

  patch2a = PolygonPatch(dilated, fc=GRAY, ec=GRAY, alpha=0.5, zorder=1)
  ax.add_patch(patch2a)

  eroded = dilated.buffer(-0.3)

  # GeoJSON-like data works as well

  polygon = eroded.__geo_interface__
  # >>> geo['type']
  # 'Polygon'
  # >>> geo['coordinates'][0][:2]
  # ((0.50502525316941682, 0.78786796564403572), (0.5247963548222736, 0.8096820147509064))
  patch2b = PolygonPatch(polygon, fc=BLUE, ec=BLUE, alpha=0.5, zorder=2)
  ax.add_patch(patch2b)

  pyplot.show()


See also: examples/patches.py.

Descartes is not associated with the identically named and apparently defunct
project at http://descartes.sourceforge.net/.

.. _Shapely: http://gispython.org/lab/wiki/Shapely




            

Raw data

            {
    "_id": null,
    "home_page": "http://bitbucket.org/sgillies/descartes/",
    "name": "descartes",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "matplotlib gis geojson geometry",
    "author": "Sean Gillies",
    "author_email": "sean.gillies@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/1d/6f/81735a30432b74f41db6754dd13869021ccfed3088d1cf7a6cfc0af9ac49/descartes-1.1.0.tar.gz",
    "platform": "",
    "description": "Descartes\n=========\n\nUse Shapely_ or GeoJSON-like geometric objects as matplotlib paths and patches\n\n.. image:: http://farm4.static.flickr.com/3662/4555372019_9bbed1f956_o_d.png\n   :width: 800\n   :height: 320\n\nRequires: matplotlib, numpy, and optionally Shapely 1.2+.\n\nExample::\n\n  from matplotlib import pyplot\n  from shapely.geometry import LineString\n  from descartes import PolygonPatch\n\n  BLUE = '#6699cc'\n  GRAY = '#999999'\n\n  def plot_line(ax, ob):\n      x, y = ob.xy\n      ax.plot(x, y, color=GRAY, linewidth=3, solid_capstyle='round', zorder=1)\n\n  line = LineString([(0, 0), (1, 1), (0, 2), (2, 2), (3, 1), (1, 0)])\n\n  fig = pyplot.figure(1, figsize=(10, 4), dpi=180)\n\n  # 1\n  ax = fig.add_subplot(121)\n\n  plot_line(ax, line)\n\n  dilated = line.buffer(0.5)\n  patch1 = PolygonPatch(dilated, fc=BLUE, ec=BLUE, alpha=0.5, zorder=2)\n  ax.add_patch(patch1)\n\n  #2\n  ax = fig.add_subplot(122)\n\n  patch2a = PolygonPatch(dilated, fc=GRAY, ec=GRAY, alpha=0.5, zorder=1)\n  ax.add_patch(patch2a)\n\n  eroded = dilated.buffer(-0.3)\n\n  # GeoJSON-like data works as well\n\n  polygon = eroded.__geo_interface__\n  # >>> geo['type']\n  # 'Polygon'\n  # >>> geo['coordinates'][0][:2]\n  # ((0.50502525316941682, 0.78786796564403572), (0.5247963548222736, 0.8096820147509064))\n  patch2b = PolygonPatch(polygon, fc=BLUE, ec=BLUE, alpha=0.5, zorder=2)\n  ax.add_patch(patch2b)\n\n  pyplot.show()\n\n\nSee also: examples/patches.py.\n\nDescartes is not associated with the identically named and apparently defunct\nproject at http://descartes.sourceforge.net/.\n\n.. _Shapely: http://gispython.org/lab/wiki/Shapely\n\n\n\n",
    "bugtrack_url": null,
    "license": "BSD",
    "summary": "Use geometric objects as matplotlib paths and patches",
    "version": "1.1.0",
    "split_keywords": [
        "matplotlib",
        "gis",
        "geojson",
        "geometry"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "md5": "fe9c91d7ca7f24d84ad0aa3eb8087868",
                "sha256": "b7e412e7e6e294412f1d0f661f187babc970088c2456089e6801eebb043c2e1b"
            },
            "downloads": -1,
            "filename": "descartes-1.1.0-py2-none-any.whl",
            "has_sig": false,
            "md5_digest": "fe9c91d7ca7f24d84ad0aa3eb8087868",
            "packagetype": "bdist_wheel",
            "python_version": "py2",
            "requires_python": null,
            "size": 5803,
            "upload_time": "2017-01-17T15:37:01",
            "upload_time_iso_8601": "2017-01-17T15:37:01.245628Z",
            "url": "https://files.pythonhosted.org/packages/e7/29/b23b57c92a1cf58da25070c10cab90fb38de22523ef7bdc76acdad717645/descartes-1.1.0-py2-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "eda7c3b1cef798ee4878d96c718b2cef",
                "sha256": "4c62dc41109689d03e4b35de0a2bcbdeeb81047badc607c4415d5c753bd683af"
            },
            "downloads": -1,
            "filename": "descartes-1.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "eda7c3b1cef798ee4878d96c718b2cef",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 5804,
            "upload_time": "2017-01-17T15:37:02",
            "upload_time_iso_8601": "2017-01-17T15:37:02.525069Z",
            "url": "https://files.pythonhosted.org/packages/e5/b6/1ed2eb03989ae574584664985367ba70cd9cf8b32ee8cad0e8aaeac819f3/descartes-1.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "md5": "ac608090f3c9f6e0ce856fdc29944096",
                "sha256": "135a502146af5ed6ff359975e2ebc5fa4b71b5432c355c2cafdc6dea1337035b"
            },
            "downloads": -1,
            "filename": "descartes-1.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "ac608090f3c9f6e0ce856fdc29944096",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 3525,
            "upload_time": "2017-01-17T15:37:03",
            "upload_time_iso_8601": "2017-01-17T15:37:03.945069Z",
            "url": "https://files.pythonhosted.org/packages/1d/6f/81735a30432b74f41db6754dd13869021ccfed3088d1cf7a6cfc0af9ac49/descartes-1.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2017-01-17 15:37:03",
    "github": false,
    "gitlab": false,
    "bitbucket": true,
    "bitbucket_user": "sgillies",
    "bitbucket_project": "descartes",
    "lcname": "descartes"
}
        
Elapsed time: 0.02150s