{ "info": { "author": "Anita Graser", "author_email": "anitagraser@gmx.at", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# MovingPandas\n\nMovingPandas implements a Trajectory class and corresponding methods based on **GeoPandas**.\n\nYou can try MovingPandas in a MyBinder notebook - no installation required: \n\n[![Binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/anitagraser/movingpandas/master)\n\n## Introduction \n\nCommon Simple Features-based data models where trajectories consist of geometries with timestamps can be readily implemented in GIS environments, but they suffer from a lack of support for the temporal dimension, such as functions for duration and speed.\n\nIn stark contrast, the Pandas data analysis library has been developed with a strong focus on time series. By choosing Pandas data structures (1D series and 2D DataFrames) as a base for MovingPandas, we gain access to the library\u00e2\u20ac\u2122s built-in functionality, including: flexible indexing on timestamps and other column types; memory-efficient sparse data structures for data that is mostly missing or mostly constant; an integrated \u00e2\u20ac\u02dcgroup by\u00e2\u20ac\u2122 engine for aggregating and transforming datasets, and moving window statistics (rolling mean, rolling standard deviation, etc.).\n\nGeoPandas extends the data types that can be used in Pandas DataFrames, thus creating GeoDataFrames. Geometric operations on these spatial data types are performed by Shapely. Geopandas further depends on Fiona for file access (which enables direct reading of GeoDataFrames from common spatial file formats, such as GeoPackage or Shapefile), and descartes and matplotlib for plotting.\n\nMovingPandas uses the following terminology. A *trajectory* is, or more correctly has, a time-ordered series of geometries. These\ngeometries and associated attributes are stored in a GeoDataFrame *df*. Furthermore, a trajectory can have a *parent* trajectory and can itself be the parent of successive trajectories. Raw unsegmented streams of movement data, as well as semantically meaningful subsections or other subsections, can therefore be represented as trajectories. Depending on the use case, the trajectory object can access a point-based or a line-based representation of its data. (Source: [0])\n\n## Installation\n\nUse the following steps to run the notebooks locally on your machine:\n\n1. Install Anaconda\n2. Clone the movingpandas repository\n3. In Anaconda Navigator | Environments | Import select the movingpandas environment.yml from the cloned directory:\n\n![image](https://user-images.githubusercontent.com/590385/62143367-2db14c00-b2f0-11e9-8cb9-fb7993b7f62e.png)\n\n4. Wait until the environment is ready, then change to the Home tab and install Jupyter notebooks into the movingpandas environment\n5. Launch Jupyter notebooks and navigate to the cloned directory to execute them\n6. Now you can run the notebooks, experiment with the code and adjust them to your own data\n\n## Publications\n\n[0] Graser, A. (2019). MovingPandas: Efficient Structures for Movement Data in Python. GI_Forum \u00e2\u20ac\u2019 Journal of Geographic Information Science 2019, 1-2019, 54-68. doi:10.1553/giscience2019_01_s54. URL: https://www.austriaca.at/rootcollection?arp=0x003aba2b\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/anitagraser/movingpandas", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "movingpandas", "package_url": "https://pypi.org/project/movingpandas/", "platform": "", "project_url": "https://pypi.org/project/movingpandas/", "project_urls": { "Homepage": "https://github.com/anitagraser/movingpandas" }, "release_url": "https://pypi.org/project/movingpandas/0.1.dev2/", "requires_dist": [ "numpy", "matplotlib", "seaborn", "pandas", "geopandas", "rasterio (<=1.0.13)", "contextily", "descartes" ], "requires_python": ">=3.7", "summary": "Implementation of Trajectory classes and functions built on top of GeoPandas", "version": "0.1.dev2" }, "last_serial": 5830076, "releases": { "0.1.dev0": [ { "comment_text": "", "digests": { "md5": "2aacde0cf3c89fcbabc434f7267971ff", "sha256": "a862b93efb314f86d5a10e1bde83e776ab0d9a00162a68f7059b61f4f6d41dff" }, "downloads": -1, "filename": "movingpandas-0.1.dev0-py3-none-any.whl", "has_sig": false, "md5_digest": "2aacde0cf3c89fcbabc434f7267971ff", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 17525, "upload_time": "2019-09-14T18:38:26", "url": "https://files.pythonhosted.org/packages/26/52/672fad9c86f21ed068d600e80771121fe2f862b1ba59a051a7fdb216cbe7/movingpandas-0.1.dev0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aa7f9032949255f24d236719914e7587", "sha256": "45852689f12d6a44ac2b1b57b4dd5fcb29c07c1731ece9a2e3bb7e2fc9288e10" }, "downloads": -1, "filename": "movingpandas-0.1.dev0.tar.gz", "has_sig": false, "md5_digest": "aa7f9032949255f24d236719914e7587", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 15616, "upload_time": "2019-09-14T18:38:28", "url": "https://files.pythonhosted.org/packages/bf/4a/390c8a78de106ead09c15c7b845cd872d3c7d556966a247116b7c4869c40/movingpandas-0.1.dev0.tar.gz" } ], "0.1.dev1": [ { "comment_text": "", "digests": { "md5": "63aede952f58f5acf1c6a0c30b5c33f5", "sha256": "483eadec7377d4230199112cc0203c389fcdd814c441a7fd973d36064d446634" }, "downloads": -1, "filename": "movingpandas-0.1.dev1-py3-none-any.whl", "has_sig": false, "md5_digest": "63aede952f58f5acf1c6a0c30b5c33f5", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 17525, "upload_time": "2019-09-14T19:10:05", "url": "https://files.pythonhosted.org/packages/86/b7/1815e4134f02e394e48f0abec7305932bf659a7bde8678d58799dc09e539/movingpandas-0.1.dev1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "06aa0ec8da6cdd095479b446e60dbf75", "sha256": "8cf060dbb69b74021e92da2136c94e96de1b72cb2658cb25e60779c74e8ffbc4" }, "downloads": -1, "filename": "movingpandas-0.1.dev1.tar.gz", "has_sig": false, "md5_digest": "06aa0ec8da6cdd095479b446e60dbf75", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 15611, "upload_time": "2019-09-14T19:10:07", "url": "https://files.pythonhosted.org/packages/0e/fd/6ba7e81f82e00d46f68b8ca6392c8957ec9fdd8e9ba495b03138816393aa/movingpandas-0.1.dev1.tar.gz" } ], "0.1.dev2": [ { "comment_text": "", "digests": { "md5": "2bfcf9005c83f69f4b3359cd6ef8024f", "sha256": "d7b2b41e0cec254560be29ca51dcff3f76dd89f9f8514e76af62a5af7d298c69" }, "downloads": -1, "filename": "movingpandas-0.1.dev2-py3-none-any.whl", "has_sig": false, "md5_digest": "2bfcf9005c83f69f4b3359cd6ef8024f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 17524, "upload_time": "2019-09-14T20:09:47", "url": "https://files.pythonhosted.org/packages/32/f0/5a022cab35b5c03d137284a15ef11f929db13057f4b806cf36a4d93e360c/movingpandas-0.1.dev2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "84e2cef4851ac560f15eba2bba36163d", "sha256": "5623a30942242336121a2394e4279861f7c7cf5643aca26fac5bccda49db6461" }, "downloads": -1, "filename": "movingpandas-0.1.dev2.tar.gz", "has_sig": false, "md5_digest": "84e2cef4851ac560f15eba2bba36163d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 15612, "upload_time": "2019-09-14T20:09:49", "url": "https://files.pythonhosted.org/packages/89/30/3493369b70aac4fcab0fd78adb03bc43e3645d85a8ded3aea307ffc77d91/movingpandas-0.1.dev2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "2bfcf9005c83f69f4b3359cd6ef8024f", "sha256": "d7b2b41e0cec254560be29ca51dcff3f76dd89f9f8514e76af62a5af7d298c69" }, "downloads": -1, "filename": "movingpandas-0.1.dev2-py3-none-any.whl", "has_sig": false, "md5_digest": "2bfcf9005c83f69f4b3359cd6ef8024f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.7", "size": 17524, "upload_time": "2019-09-14T20:09:47", "url": "https://files.pythonhosted.org/packages/32/f0/5a022cab35b5c03d137284a15ef11f929db13057f4b806cf36a4d93e360c/movingpandas-0.1.dev2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "84e2cef4851ac560f15eba2bba36163d", "sha256": "5623a30942242336121a2394e4279861f7c7cf5643aca26fac5bccda49db6461" }, "downloads": -1, "filename": "movingpandas-0.1.dev2.tar.gz", "has_sig": false, "md5_digest": "84e2cef4851ac560f15eba2bba36163d", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.7", "size": 15612, "upload_time": "2019-09-14T20:09:49", "url": "https://files.pythonhosted.org/packages/89/30/3493369b70aac4fcab0fd78adb03bc43e3645d85a8ded3aea307ffc77d91/movingpandas-0.1.dev2.tar.gz" } ] }