{ "info": { "author": "Serhii Hulko", "author_email": "felytic@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# Vincenty nearest neighbor search using CUDA\nNearest neighbor search algorithm on Earth's surface that runs on a GPU and uses [Vincenty's formula](https://en.wikipedia.org/wiki/Vincenty%27s_formulae)\n\n## Application\nNearest Neighbour Search is the **key component of location data analysis**:\n- Nearest Neighbour Index is based on measuring distances between points\n- Both **global** pattern analysis algorithms (Global Moran\u2019s I, Getis-Ord General G), as well as **local** pattern analysis algorithms (Anselin Local Moran's I, Getis Ord GI *) with the **k-nn approach** to define neighbours are based on measuring distances between points\n\nUsing Vincenty\u2019s formula allows performing location analysis on **any location using geographic coordinates**.\n\n[Presentation slides](https://docs.google.com/presentation/d/1c0-9hQVlZoordzm1gZ9uKQJVqDyZQ9lZQe-SBEo-lwE/edit?usp=sharing)\n\n## Requirements\n- CUDA-enabled GPU with compute capability 2.0 or above with an up-to-data Nvidia driver.\n- [CUDA toolkit](https://docs.nvidia.com/cuda/cuda-installation-guide-linux/index.html])\n\n## Installation\n```\npip install vincenty-cuda-nns\n```\n\n## Usage example\n```python\nimport geopandas as gpd\nfrom vincenty_cuda_nns import CudaTree\n\ndf = gpd.read_file('points.geojson')\n\n# data is array of points like [longitude, latitude]\ndata = np.stack(df['geometry']).astype(np.float32)\n\n# build tree for the data\ncuda_tree = CudaTree(data, leaf_size=4)\n\n# query over the tree for nearest neighbor (including itself)\ndistances, indices = cuda_tree.query(n_neighbors=2)\n```\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/eos-vision/vincenty-cuda-nns", "keywords": "", "license": "GPLv3", "maintainer": "", "maintainer_email": "", "name": "vincenty-cuda-nns", "package_url": "https://pypi.org/project/vincenty-cuda-nns/", "platform": "", "project_url": "https://pypi.org/project/vincenty-cuda-nns/", "project_urls": { "Homepage": "https://github.com/eos-vision/vincenty-cuda-nns" }, "release_url": "https://pypi.org/project/vincenty-cuda-nns/0.1.5/", "requires_dist": null, "requires_python": "", "summary": "Nearest neighbor search on Earth's surface with a GPU", "version": "0.1.5" }, "last_serial": 5567288, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "4bd57217329ce734fbc85e5212f85be3", "sha256": "141a3e5b9523519947a83247f89c987747f2caad02bdaf1350686c264039e73e" }, "downloads": -1, "filename": "vincenty_cuda_nns-0.1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "4bd57217329ce734fbc85e5212f85be3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17387, "upload_time": "2019-06-21T13:42:31", "url": "https://files.pythonhosted.org/packages/26/d5/ac967abbe3dc34caf1f77a01403541b19d851ad1ff4c9cf2828bd713d3ec/vincenty_cuda_nns-0.1.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e48fddc208b55798012b22f4793ecc2f", "sha256": "5f8747a0c2278acc99186de6ad88337366912feb8000ba6e156340efe94e721a" }, "downloads": -1, "filename": "vincenty_cuda_nns-0.1.0.tar.gz", "has_sig": false, "md5_digest": "e48fddc208b55798012b22f4793ecc2f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3879, "upload_time": "2019-06-21T13:42:33", "url": "https://files.pythonhosted.org/packages/db/23/6df8433a73ae29ed29d672b129caf72014ed290262971b69dcf507e2fa32/vincenty_cuda_nns-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "2ca466624aa1d7106d6e497da450d730", "sha256": "e3095506bae69515f059712cc6edfee974e07dbadc235e5c37d10140efecb7c0" }, "downloads": -1, "filename": "vincenty_cuda_nns-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "2ca466624aa1d7106d6e497da450d730", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17804, "upload_time": "2019-06-21T14:14:51", "url": "https://files.pythonhosted.org/packages/fa/fa/1f01d7b91b8bf9a3a177db1991dfa5297ac97272de80d80ce24428f07560/vincenty_cuda_nns-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5fb5594ef2180827fe8facbf8dab169e", "sha256": "eb37fa4fd45699e61345ba5cc28903db439743f41693687ac5e333bb8103cad9" }, "downloads": -1, "filename": "vincenty_cuda_nns-0.1.1.tar.gz", "has_sig": false, "md5_digest": "5fb5594ef2180827fe8facbf8dab169e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4319, "upload_time": "2019-06-21T14:14:53", "url": "https://files.pythonhosted.org/packages/a3/92/c3328c74eb8be53b03d1530a198108352fe506afe0169e65cba81569b178/vincenty_cuda_nns-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "50ab74eb78b658dc79d41dec381a9225", "sha256": "8aeebd0db77e24f3ae462b588ee865d24fad5249175e71b22a4593374674265c" }, "downloads": -1, "filename": "vincenty_cuda_nns-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "50ab74eb78b658dc79d41dec381a9225", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 17803, "upload_time": "2019-06-24T16:05:00", "url": "https://files.pythonhosted.org/packages/5a/11/1dbe8b61507880039a796ef6cb77ad1c3435227538fc89d224903a6a0d55/vincenty_cuda_nns-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "19acad7e560915d1a3d565f4b9a52ff0", "sha256": "bfd19c7b66bdd6a35b86353f7f3ebd90d091e8924bc6762e65b489cc381ba5eb" }, "downloads": -1, "filename": "vincenty-cuda-nns-0.1.2.tar.gz", "has_sig": false, "md5_digest": "19acad7e560915d1a3d565f4b9a52ff0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4275, "upload_time": "2019-06-24T16:05:02", "url": "https://files.pythonhosted.org/packages/9e/80/fe9eea74629b54c358225ceef650ac2949a5ad035a514902d7d815b57406/vincenty-cuda-nns-0.1.2.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "9039a59eedd7e372f3590753d60f018f", "sha256": "76f235b0d78366a1335020c4e212608a584ff46fb757178a002fc16fd89e4950" }, "downloads": -1, "filename": "vincenty_cuda_nns-0.1.4-py3-none-any.whl", "has_sig": false, "md5_digest": "9039a59eedd7e372f3590753d60f018f", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18114, "upload_time": "2019-07-17T11:53:17", "url": "https://files.pythonhosted.org/packages/f8/c9/17f67bb12e518efed647bf0be0b8b59e267bf8a8616ec791ee7e5cdb0a30/vincenty_cuda_nns-0.1.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "5836d106bfe74b1350b2e53b2a7eb47f", "sha256": "c4dc1a32e76e50b894b810e87e3e5cea45dcf43e792ad3cacc800b0e53165738" }, "downloads": -1, "filename": "vincenty-cuda-nns-0.1.4.tar.gz", "has_sig": false, "md5_digest": "5836d106bfe74b1350b2e53b2a7eb47f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4665, "upload_time": "2019-07-17T11:53:19", "url": "https://files.pythonhosted.org/packages/de/af/8d8a406e0feed6029029e8c63b0cce00ccf1c925e25a2e9b5537013def6e/vincenty-cuda-nns-0.1.4.tar.gz" } ], "0.1.5": [ { "comment_text": "", "digests": { "md5": "7b50b42f10ea3728da74265d5e3f8ae6", "sha256": "5b461afd32bd8580dfb64fe1981130169efeaa1f50d37407cfa021bccc76a7f4" }, "downloads": -1, "filename": "vincenty_cuda_nns-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "7b50b42f10ea3728da74265d5e3f8ae6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18184, "upload_time": "2019-07-22T12:53:26", "url": "https://files.pythonhosted.org/packages/ba/09/79efccf96c640d7796c6b5a08dbd48d6807b2e126f7d738cf2026377e6ef/vincenty_cuda_nns-0.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "449dbfecf0b31124efcba2b60fd48ca3", "sha256": "122c1b4ce34e4576daeffb9c4898c2f5b7a08ae118430fffeccaa0b78ab4b4c8" }, "downloads": -1, "filename": "vincenty-cuda-nns-0.1.5.tar.gz", "has_sig": false, "md5_digest": "449dbfecf0b31124efcba2b60fd48ca3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4719, "upload_time": "2019-07-22T12:53:28", "url": "https://files.pythonhosted.org/packages/19/9f/85d4780378c1e1b8f62284edadb0fbba8c54e7186aa43f8d55e12d8ae41a/vincenty-cuda-nns-0.1.5.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "7b50b42f10ea3728da74265d5e3f8ae6", "sha256": "5b461afd32bd8580dfb64fe1981130169efeaa1f50d37407cfa021bccc76a7f4" }, "downloads": -1, "filename": "vincenty_cuda_nns-0.1.5-py3-none-any.whl", "has_sig": false, "md5_digest": "7b50b42f10ea3728da74265d5e3f8ae6", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 18184, "upload_time": "2019-07-22T12:53:26", "url": "https://files.pythonhosted.org/packages/ba/09/79efccf96c640d7796c6b5a08dbd48d6807b2e126f7d738cf2026377e6ef/vincenty_cuda_nns-0.1.5-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "449dbfecf0b31124efcba2b60fd48ca3", "sha256": "122c1b4ce34e4576daeffb9c4898c2f5b7a08ae118430fffeccaa0b78ab4b4c8" }, "downloads": -1, "filename": "vincenty-cuda-nns-0.1.5.tar.gz", "has_sig": false, "md5_digest": "449dbfecf0b31124efcba2b60fd48ca3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4719, "upload_time": "2019-07-22T12:53:28", "url": "https://files.pythonhosted.org/packages/19/9f/85d4780378c1e1b8f62284edadb0fbba8c54e7186aa43f8d55e12d8ae41a/vincenty-cuda-nns-0.1.5.tar.gz" } ] }