{ "info": { "author": "Ulf Aslak", "author_email": "ulfjensen@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Topic :: Scientific/Engineering :: Information Analysis", "Topic :: Scientific/Engineering :: Mathematics" ], "description": "# Infostop\n*Python package for detecting stop locations in mobility data*\n\nThis package implements the algorithm described in (paper not written yet), for detecting stop locations in time-ordered location data.\n\n## Usage\nGiven a location trace such as:\n\n```Python\n>>> data \narray([[ 55.75259295, 12.34353885 ],\n [ 55.7525908 , 12.34353145 ],\n [ 55.7525876 , 12.3435386 ],\n ...,\n [ 63.40379175, 10.40477095 ],\n [ 63.4037841 , 10.40480265 ],\n [ 63.403787 , 10.4047871 ]])\n```\n\nA stop location solution can be obtained using:\n\n```Python\n>>> import infostop\n>>> labels = infostop.label_trace(data)\n```\n\nHere, `labels` matches `data` in size, and can easily be mapped back onto `data`:\n\n```Python\n>>> np.hstack([data, labels.reshape(-1, 1)])\narray([[ 55.75259295, 12.34353885, 0. ],\n [ 55.7525908 , 12.34353145, 0. ],\n [ 55.7525876 , 12.3435386 , 0. ],\n ...,\n [ 63.40379175, 10.40477095, 164. ],\n [ 63.4037841 , 10.40480265, 164. ],\n [ 63.403787 , 10.4047871 , 164. ]])\n```\n\nPlotting this onto a map:\n\n![img](https://ulfaslak.com/files/infostop_example_map.png)\n\n## Advantages\n* **Simplicity**: At its core, the method works by two steps. (1) Reducing the location trace to the medians of each stationary event and (2) embedding the resulting locations into a network that connects locations that are within a user-defined distance and clustering that network.\n* **Flow based**: Spatial clusters correspond to collections of location points that contain large amounts of flow when represented as a network. This enables the recovery of locations where traces slightly overlap.\n* **Speed**: First the point space is reduced to the median of stationary points, then pairwise distances between these medians are computed using a vectorized implementation of the haversine function, and finally the resulting network at some distance threshold is clustered using the C++ based Infomap implementation. For example, clustering 70.000 location points takes aroung 16 seconds.\n\n## Installation\n`pip install infostop`\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/ulfaslak/infostop", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "infostop", "package_url": "https://pypi.org/project/infostop/", "platform": "", "project_url": "https://pypi.org/project/infostop/", "project_urls": { "Homepage": "https://github.com/ulfaslak/infostop" }, "release_url": "https://pypi.org/project/infostop/0.0.13/", "requires_dist": [ "infomap", "numpy" ], "requires_python": "", "summary": "Detect stop locations in time-ordered (lat, lon) location data", "version": "0.0.13" }, "last_serial": 5409287, "releases": { "0.0.10": [ { "comment_text": "", "digests": { "md5": "9fda0805ebd0eba3fead989cde7f43ee", "sha256": "7a299f81e8421fa0443176b7e31a81f9b7b10ae452262592d4b6980a332745cd" }, "downloads": -1, "filename": "infostop-0.0.10-py3-none-any.whl", "has_sig": false, "md5_digest": "9fda0805ebd0eba3fead989cde7f43ee", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8712, "upload_time": "2019-05-03T07:52:16", "url": "https://files.pythonhosted.org/packages/e6/e7/0ef7236afb1407ea27abf72d2c0811f077ff282f4b30fcb5d8dd1b7c3da9/infostop-0.0.10-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d7c228d33ae692071e1694bd891195aa", "sha256": "4c91ea28e77a8313e7e35149a0ca352cafae9fb4453b22bbbf285fa8943a899b" }, "downloads": -1, "filename": "infostop-0.0.10.tar.gz", "has_sig": false, "md5_digest": "d7c228d33ae692071e1694bd891195aa", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 6837, "upload_time": "2019-05-03T07:52:18", "url": "https://files.pythonhosted.org/packages/df/ae/bb50c6b4f194e3067589d534cecf81855964f4ee118744c0d834e31ee611/infostop-0.0.10.tar.gz" } ], "0.0.11": [ { "comment_text": "", "digests": { "md5": "7f09a39290fadb5f7f85d507125b6ae0", "sha256": "aed3dcaca9abfbfdd592625e26da3e69b2ec9adbc805367e013940e7f17e2d15" }, "downloads": -1, "filename": "infostop-0.0.11-py3-none-any.whl", "has_sig": false, "md5_digest": "7f09a39290fadb5f7f85d507125b6ae0", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8941, "upload_time": "2019-05-03T08:21:27", "url": "https://files.pythonhosted.org/packages/a5/98/bec0441c13d549c32d5b599df1e6b55d7b672d029b2cae539a71d9b82135/infostop-0.0.11-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b9dbce4f604b1e2a21c93109304b3232", "sha256": "4ba6b20aa19eb0ec96e12e015efce5bb56dae38d60c31e043a61d9b471be09d4" }, "downloads": -1, "filename": "infostop-0.0.11.tar.gz", "has_sig": false, "md5_digest": "b9dbce4f604b1e2a21c93109304b3232", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7089, "upload_time": "2019-05-03T08:21:28", "url": "https://files.pythonhosted.org/packages/8a/24/5196e070f15fcdf5d0a8ea52a503dd02f108846c3c7c22b76ba1d84d1598/infostop-0.0.11.tar.gz" } ], "0.0.12": [ { "comment_text": "", "digests": { "md5": "b55ef95ba3827b52d4aa96a772bd3e1f", "sha256": "8e7f759908a1d16b1bfb5c01a1219f0154f2eacc53a0ecaf26581d56f7cd0246" }, "downloads": -1, "filename": "infostop-0.0.12-py3-none-any.whl", "has_sig": false, "md5_digest": "b55ef95ba3827b52d4aa96a772bd3e1f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8944, "upload_time": "2019-05-15T09:06:51", "url": "https://files.pythonhosted.org/packages/eb/ad/6f1e3d56b19e89f35b39dfd764831c7844467bb485eb82ef9acff8addff8/infostop-0.0.12-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "8fd4ba882628585c884f8cffee829c9b", "sha256": "89bb9b8ab12b51441fa7524cc6c18b64b216ba108bf4b3dbfeb09941ef066f26" }, "downloads": -1, "filename": "infostop-0.0.12.tar.gz", "has_sig": false, "md5_digest": "8fd4ba882628585c884f8cffee829c9b", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7096, "upload_time": "2019-05-15T09:06:53", "url": "https://files.pythonhosted.org/packages/68/6c/1251a1103f25f13939fc56a83fe6ea2169e0db4f9f2d6f50c624a0b2470e/infostop-0.0.12.tar.gz" } ], "0.0.13": [ { "comment_text": "", "digests": { "md5": "cef781ea6cd41ca45e361f6e5174acc2", "sha256": "ece5329d049cbeac5762183780f4da566c2d26b4b837a35d06ef4c6c477dc56b" }, "downloads": -1, "filename": "infostop-0.0.13-py3-none-any.whl", "has_sig": false, "md5_digest": "cef781ea6cd41ca45e361f6e5174acc2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8959, "upload_time": "2019-06-17T09:20:58", "url": "https://files.pythonhosted.org/packages/71/87/733295d0ac366fb6fa1b09b7ef79fe8f683d5f62b32b735367950d49af87/infostop-0.0.13-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "111627252e3717a46450a782a6bf177e", "sha256": "efa50605b46661c265389e47b5a44d5ab89c17370fb5dfa05b619342f68cc771" }, "downloads": -1, "filename": "infostop-0.0.13.tar.gz", "has_sig": false, "md5_digest": "111627252e3717a46450a782a6bf177e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7121, "upload_time": "2019-06-17T09:20:59", "url": "https://files.pythonhosted.org/packages/cf/67/96fea56accd9df46c72bd3f934c480b2e09be2e6a11e6103243b31057267/infostop-0.0.13.tar.gz" } ], "0.0.4": [ { "comment_text": "", "digests": { "md5": "7f0ecc7bd485fe3ad090ab468bc2213a", "sha256": "e90815418d072e9fc1fbcf759ef940227552c6309b6d3ff8a70e1c2d8ae85529" }, "downloads": -1, "filename": "infostop-0.0.4.tar.gz", "has_sig": false, "md5_digest": "7f0ecc7bd485fe3ad090ab468bc2213a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4789, "upload_time": "2019-03-15T22:13:06", "url": "https://files.pythonhosted.org/packages/85/33/47a4680a9c4bab5c2e540341c0def035c8122f58bf4ccfec774452e60c35/infostop-0.0.4.tar.gz" } ], "0.0.5": [ { "comment_text": "", "digests": { "md5": "9b2d76f4b7a58317fbb6a971c6b062c8", "sha256": "58c0b4f23a9f961781a8ee492232cb0c2837f6b5068d7350f4083d742d4e2441" }, "downloads": -1, "filename": "infostop-0.0.5.tar.gz", "has_sig": false, "md5_digest": "9b2d76f4b7a58317fbb6a971c6b062c8", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5136, "upload_time": "2019-03-15T22:36:53", "url": "https://files.pythonhosted.org/packages/1d/67/427a418c4a7dc78604467da31907aa080e725bf776251f1c09b861cfbae8/infostop-0.0.5.tar.gz" } ], "0.0.6": [ { "comment_text": "", "digests": { "md5": "3277f24b27a4be3f8f11958e8cbec473", "sha256": "667e95dd4ad508119c1855fcfefadb5b740e6eee1fb390d80f6585b438a8335b" }, "downloads": -1, "filename": "infostop-0.0.6.tar.gz", "has_sig": false, "md5_digest": "3277f24b27a4be3f8f11958e8cbec473", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5181, "upload_time": "2019-03-19T11:21:52", "url": "https://files.pythonhosted.org/packages/13/ae/6266f8433317a85c2b81ca3bcbd55acb46c7166068f4340edf1f71b2706a/infostop-0.0.6.tar.gz" } ], "0.0.7": [ { "comment_text": "", "digests": { "md5": "7a390975c61c3eb6f158035f28e71f08", "sha256": "eb944b94317dd56fa80c296754f07995b7e205306ca412039de99fb5ac5ed793" }, "downloads": -1, "filename": "infostop-0.0.7.tar.gz", "has_sig": false, "md5_digest": "7a390975c61c3eb6f158035f28e71f08", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5473, "upload_time": "2019-03-20T12:41:35", "url": "https://files.pythonhosted.org/packages/0c/c8/67675d6e0faf17c2f1311ac9a3d28f4bd8557f767e7d978317ad7444f312/infostop-0.0.7.tar.gz" } ], "0.0.8": [ { "comment_text": "", "digests": { "md5": "0c79b791c1e9b1f9cbd492afcbeb4332", "sha256": "9cdc90f5bf8b127c18bdb9e194d04db3ba5be2ea13aec6af906235d1c7f3ccbd" }, "downloads": -1, "filename": "infostop-0.0.8.tar.gz", "has_sig": false, "md5_digest": "0c79b791c1e9b1f9cbd492afcbeb4332", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5473, "upload_time": "2019-03-20T15:33:30", "url": "https://files.pythonhosted.org/packages/fa/f4/4292acbe0175def9b14932010b1b236b5269e79f910417f4440928dacd1e/infostop-0.0.8.tar.gz" } ], "0.0.9": [ { "comment_text": "", "digests": { "md5": "1e0be3eb727982377c09b141aef83be6", "sha256": "285e49dd25da5bac58b4a0284560946027fd250807c25febd62a117a5990d1bf" }, "downloads": -1, "filename": "infostop-0.0.9.tar.gz", "has_sig": false, "md5_digest": "1e0be3eb727982377c09b141aef83be6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5964, "upload_time": "2019-04-01T13:10:39", "url": "https://files.pythonhosted.org/packages/80/78/45f8a5bcd41029f657ee4892b5f1d6a6f838618c6d5ca4e245f41791f57c/infostop-0.0.9.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "cef781ea6cd41ca45e361f6e5174acc2", "sha256": "ece5329d049cbeac5762183780f4da566c2d26b4b837a35d06ef4c6c477dc56b" }, "downloads": -1, "filename": "infostop-0.0.13-py3-none-any.whl", "has_sig": false, "md5_digest": "cef781ea6cd41ca45e361f6e5174acc2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 8959, "upload_time": "2019-06-17T09:20:58", "url": "https://files.pythonhosted.org/packages/71/87/733295d0ac366fb6fa1b09b7ef79fe8f683d5f62b32b735367950d49af87/infostop-0.0.13-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "111627252e3717a46450a782a6bf177e", "sha256": "efa50605b46661c265389e47b5a44d5ab89c17370fb5dfa05b619342f68cc771" }, "downloads": -1, "filename": "infostop-0.0.13.tar.gz", "has_sig": false, "md5_digest": "111627252e3717a46450a782a6bf177e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7121, "upload_time": "2019-06-17T09:20:59", "url": "https://files.pythonhosted.org/packages/cf/67/96fea56accd9df46c72bd3f934c480b2e09be2e6a11e6103243b31057267/infostop-0.0.13.tar.gz" } ] }