[![CI](https://github.com/nexmoov/rusty-polygon-geohasher/actions/workflows/CI.yml/badge.svg)](https://github.com/nexmoov/rusty-polygon-geohasher/actions/workflows/CI.yml)
[![Package version](https://img.shields.io/pypi/v/rusty-polygon-geohasher.svg)](https://pypi.org/project/rusty-polygon-geohasher)
# rusty-polygon-geohasher
Polygon Geohasher is an open source Python package for converting Shapely's polygons into a set of geohashes. It obtains the set of geohashes inside a polygon or geohashes that touch (intersect) the polygon.
The library is based on the [polygon-geohasher](https://github.com/Bonsanto/polygon-geohasher) library which is implemented in pure python. The main difference is that this library is implemented in Rust, yielding a significant performance improvement.
## Installing
You can get the library from the Python Package Index (PyPI) using pip:
`$ pip install rusty-polygon-geohasher`
## Usage
Here are some simple examples:
```python
from polygon_geohasher.polygon_geohasher import polygon_to_geohashes
from shapely import geometry
polygon = geometry.Polygon([(-99.1795917, 19.432134), (-99.1656847, 19.429034),
(-99.1776492, 19.414236), (-99.1795917, 19.432134)])
inner_geohashes_polygon = geohash_polygon.polygon_to_geohashes(polygon, 7, inner=True)
outer_geohashes_polygon = geohash_polygon.polygon_to_geohashes(polygon, 7, inner=False)
```
Raw data
{
"_id": null,
"home_page": "https://github.com/nexmoov/rusty-polygon-geohasher",
"name": "rusty-polygon-geohasher",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "polygon, geohashes, geospatial",
"author": "Francois Maillet <francois@locallogic.co>",
"author_email": "Francois Maillet <francois@locallogic.co>",
"download_url": "https://files.pythonhosted.org/packages/8e/2d/3d0a9ea68f2fdaac7685c2b37de87c5a8ce854d54e5605dba0ea1bc68270/rusty_polygon_geohasher-0.2.2.tar.gz",
"platform": null,
"description": "\n[![CI](https://github.com/nexmoov/rusty-polygon-geohasher/actions/workflows/CI.yml/badge.svg)](https://github.com/nexmoov/rusty-polygon-geohasher/actions/workflows/CI.yml)\n[![Package version](https://img.shields.io/pypi/v/rusty-polygon-geohasher.svg)](https://pypi.org/project/rusty-polygon-geohasher)\n\n# rusty-polygon-geohasher\n\nPolygon Geohasher is an open source Python package for converting Shapely's polygons into a set of geohashes. It obtains the set of geohashes inside a polygon or geohashes that touch (intersect) the polygon.\n\nThe library is based on the [polygon-geohasher](https://github.com/Bonsanto/polygon-geohasher) library which is implemented in pure python. The main difference is that this library is implemented in Rust, yielding a significant performance improvement.\n\n\n## Installing\nYou can get the library from the Python Package Index (PyPI) using pip:\n\n`$ pip install rusty-polygon-geohasher`\n\n\n## Usage\nHere are some simple examples:\n\n```python\nfrom polygon_geohasher.polygon_geohasher import polygon_to_geohashes\nfrom shapely import geometry\n\npolygon = geometry.Polygon([(-99.1795917, 19.432134), (-99.1656847, 19.429034),\n (-99.1776492, 19.414236), (-99.1795917, 19.432134)])\ninner_geohashes_polygon = geohash_polygon.polygon_to_geohashes(polygon, 7, inner=True)\nouter_geohashes_polygon = geohash_polygon.polygon_to_geohashes(polygon, 7, inner=False)\n```\n\n",
"bugtrack_url": null,
"license": null,
"summary": null,
"version": "0.2.2",
"project_urls": {
"Homepage": "https://github.com/nexmoov/rusty-polygon-geohasher"
},
"split_keywords": [
"polygon",
" geohashes",
" geospatial"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b9448a94268289a40a452f8cd3cd26f2d80a56acbec71ae35ee1050d5ccff3c8",
"md5": "a466d6b2454b04ff6e2bafdac43b685e",
"sha256": "5cb62f7eb78e57e9425cdaec352ccf810b55169c5b52586392e763ffd33a0e50"
},
"downloads": -1,
"filename": "rusty_polygon_geohasher-0.2.2-cp310-abi3-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "a466d6b2454b04ff6e2bafdac43b685e",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 329844,
"upload_time": "2025-01-16T15:08:33",
"upload_time_iso_8601": "2025-01-16T15:08:33.729968Z",
"url": "https://files.pythonhosted.org/packages/b9/44/8a94268289a40a452f8cd3cd26f2d80a56acbec71ae35ee1050d5ccff3c8/rusty_polygon_geohasher-0.2.2-cp310-abi3-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "2419eb5b38b0a27d22b018be27a7a35bfb7c2596ad18ceae185c9ccb9f64633d",
"md5": "a37a050efbefa7215cb429b3fbb08dc5",
"sha256": "80b18c30c43fb5a5df9cdda0529a3d42a8eaf39e93f0e1b542d187efc10c0675"
},
"downloads": -1,
"filename": "rusty_polygon_geohasher-0.2.2-cp310-abi3-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "a37a050efbefa7215cb429b3fbb08dc5",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 315809,
"upload_time": "2025-01-16T15:08:36",
"upload_time_iso_8601": "2025-01-16T15:08:36.712623Z",
"url": "https://files.pythonhosted.org/packages/24/19/eb5b38b0a27d22b018be27a7a35bfb7c2596ad18ceae185c9ccb9f64633d/rusty_polygon_geohasher-0.2.2-cp310-abi3-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0329c934d8c92b7d5b54447e9541353b35aecdf818f3a94e54d8db078603d20e",
"md5": "7c5e269bc9727f17a25c7f929042a3d4",
"sha256": "e26212cfa271a8507697a5b4b5fd51fb513d8b3ec66a87fe960e28fb5786810c"
},
"downloads": -1,
"filename": "rusty_polygon_geohasher-0.2.2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "7c5e269bc9727f17a25c7f929042a3d4",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 354157,
"upload_time": "2025-01-16T15:08:39",
"upload_time_iso_8601": "2025-01-16T15:08:39.682842Z",
"url": "https://files.pythonhosted.org/packages/03/29/c934d8c92b7d5b54447e9541353b35aecdf818f3a94e54d8db078603d20e/rusty_polygon_geohasher-0.2.2-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f053159b098acdfc1675a81148f6753a2e759c153f5281f2b4e2b927c89999be",
"md5": "4a937a39b7aa06f70de28791d1b2f46f",
"sha256": "49fbb408069006944091bb8f6768697a60e650ab56831c9e0ef32fa4bd699a1d"
},
"downloads": -1,
"filename": "rusty_polygon_geohasher-0.2.2-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
"has_sig": false,
"md5_digest": "4a937a39b7aa06f70de28791d1b2f46f",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 365119,
"upload_time": "2025-01-16T15:08:42",
"upload_time_iso_8601": "2025-01-16T15:08:42.869025Z",
"url": "https://files.pythonhosted.org/packages/f0/53/159b098acdfc1675a81148f6753a2e759c153f5281f2b4e2b927c89999be/rusty_polygon_geohasher-0.2.2-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "5e9b6f806ab5dac71bd7fdd97bfed196be720971a17920d146559bf3124b8ca4",
"md5": "61679e8961e49c8e950c75f4a719f797",
"sha256": "d7e351ba1ccf9267c7ec7e122f5bf04320b406e95c13e25536b4b8f045e7e9f6"
},
"downloads": -1,
"filename": "rusty_polygon_geohasher-0.2.2-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "61679e8961e49c8e950c75f4a719f797",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 365408,
"upload_time": "2025-01-16T15:08:45",
"upload_time_iso_8601": "2025-01-16T15:08:45.511231Z",
"url": "https://files.pythonhosted.org/packages/5e/9b/6f806ab5dac71bd7fdd97bfed196be720971a17920d146559bf3124b8ca4/rusty_polygon_geohasher-0.2.2-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "b56b51344cb66676dc7df4596b823ca5d04716dcf2f4a4c3e923eb0c190bb458",
"md5": "1466a1b3b2b48a39988bacbbc2897f9f",
"sha256": "a13ac33da39eaee5e1ec57c15442873210e404366ff0eff8baff0fff9a846d2f"
},
"downloads": -1,
"filename": "rusty_polygon_geohasher-0.2.2-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl",
"has_sig": false,
"md5_digest": "1466a1b3b2b48a39988bacbbc2897f9f",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 386418,
"upload_time": "2025-01-16T15:08:48",
"upload_time_iso_8601": "2025-01-16T15:08:48.400377Z",
"url": "https://files.pythonhosted.org/packages/b5/6b/51344cb66676dc7df4596b823ca5d04716dcf2f4a4c3e923eb0c190bb458/rusty_polygon_geohasher-0.2.2-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a6ae70be6c26809eeb19af2a9f6b02cf9ae8042c29c4f3a1aeb27c6ff47e1f76",
"md5": "2c02981d513468b5a240836bd7dea4c9",
"sha256": "2106ce28d757c9c5c78f09e159fb55e1f160ddaaa6d2aadcc9170d6b16389808"
},
"downloads": -1,
"filename": "rusty_polygon_geohasher-0.2.2-cp310-abi3-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "2c02981d513468b5a240836bd7dea4c9",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 525457,
"upload_time": "2025-01-16T15:08:50",
"upload_time_iso_8601": "2025-01-16T15:08:50.038013Z",
"url": "https://files.pythonhosted.org/packages/a6/ae/70be6c26809eeb19af2a9f6b02cf9ae8042c29c4f3a1aeb27c6ff47e1f76/rusty_polygon_geohasher-0.2.2-cp310-abi3-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "4dbb4f7ba0f27b6ba74953229833906171e28e5e05cbbe0330c8995de384b9d7",
"md5": "a9936f5df182b8311f9761028d78be9d",
"sha256": "d7cd7b9bf8d908a8d083ea9413ef7fc3072cdabfe45bb9bf68e790abb0b8cbd2"
},
"downloads": -1,
"filename": "rusty_polygon_geohasher-0.2.2-cp310-abi3-musllinux_1_2_armv7l.whl",
"has_sig": false,
"md5_digest": "a9936f5df182b8311f9761028d78be9d",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 619939,
"upload_time": "2025-01-16T15:08:51",
"upload_time_iso_8601": "2025-01-16T15:08:51.703070Z",
"url": "https://files.pythonhosted.org/packages/4d/bb/4f7ba0f27b6ba74953229833906171e28e5e05cbbe0330c8995de384b9d7/rusty_polygon_geohasher-0.2.2-cp310-abi3-musllinux_1_2_armv7l.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8921bade79b4067d480f6cba1366bc1d491f7f82c8b3b8304b318892852f2487",
"md5": "fcf021eceee89a5cc1d83677b3d4edb7",
"sha256": "65337a7cee41482caa49eca9405c49b0b84e8fe62403ba6c8b3dfd248cecf338"
},
"downloads": -1,
"filename": "rusty_polygon_geohasher-0.2.2-cp310-abi3-musllinux_1_2_i686.whl",
"has_sig": false,
"md5_digest": "fcf021eceee89a5cc1d83677b3d4edb7",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 555333,
"upload_time": "2025-01-16T15:08:54",
"upload_time_iso_8601": "2025-01-16T15:08:54.636897Z",
"url": "https://files.pythonhosted.org/packages/89/21/bade79b4067d480f6cba1366bc1d491f7f82c8b3b8304b318892852f2487/rusty_polygon_geohasher-0.2.2-cp310-abi3-musllinux_1_2_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0fecff6ca3245d70dcab16fabcbf8a5dda9b76caf42ec6b7e15c9407159f34bf",
"md5": "adab79c59d8232aaac2e40df2a8388c3",
"sha256": "3bf49fd182c797984544c8aef2fbfebfd7bd945a04471543891c822473992e53"
},
"downloads": -1,
"filename": "rusty_polygon_geohasher-0.2.2-cp310-abi3-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "adab79c59d8232aaac2e40df2a8388c3",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 529785,
"upload_time": "2025-01-16T15:08:56",
"upload_time_iso_8601": "2025-01-16T15:08:56.682194Z",
"url": "https://files.pythonhosted.org/packages/0f/ec/ff6ca3245d70dcab16fabcbf8a5dda9b76caf42ec6b7e15c9407159f34bf/rusty_polygon_geohasher-0.2.2-cp310-abi3-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "068dd99a3c533b156380d59f328983b51858fc51334ad81ca9eda1e87f75d669",
"md5": "1a6011c3237c83fa17347d677c379dd0",
"sha256": "a3fb469b82fb32aac3254ccce5fddb7a41b5c3e507732928d6dbc02d75c1ea56"
},
"downloads": -1,
"filename": "rusty_polygon_geohasher-0.2.2-cp310-abi3-win32.whl",
"has_sig": false,
"md5_digest": "1a6011c3237c83fa17347d677c379dd0",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 204720,
"upload_time": "2025-01-16T15:08:59",
"upload_time_iso_8601": "2025-01-16T15:08:59.286764Z",
"url": "https://files.pythonhosted.org/packages/06/8d/d99a3c533b156380d59f328983b51858fc51334ad81ca9eda1e87f75d669/rusty_polygon_geohasher-0.2.2-cp310-abi3-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "9484edf05b480602633958942f1505d68c3b6e12806eee9109bc48a728f974d4",
"md5": "44990b4bd5a51063f9192f32ac332303",
"sha256": "22772fe92d06b96e9e8cff90ca1dd8ce90282baf8f5ccccd89ace3bbaa997ffd"
},
"downloads": -1,
"filename": "rusty_polygon_geohasher-0.2.2-cp310-abi3-win_amd64.whl",
"has_sig": false,
"md5_digest": "44990b4bd5a51063f9192f32ac332303",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 212994,
"upload_time": "2025-01-16T15:09:02",
"upload_time_iso_8601": "2025-01-16T15:09:02.352508Z",
"url": "https://files.pythonhosted.org/packages/94/84/edf05b480602633958942f1505d68c3b6e12806eee9109bc48a728f974d4/rusty_polygon_geohasher-0.2.2-cp310-abi3-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "8e2d3d0a9ea68f2fdaac7685c2b37de87c5a8ce854d54e5605dba0ea1bc68270",
"md5": "5ac46dfc06b3e9332c9847b3d83f5e57",
"sha256": "3ae154847bf637eb879890fbc685f927dc03e712fc9240d79ec4cb4e05a6ef77"
},
"downloads": -1,
"filename": "rusty_polygon_geohasher-0.2.2.tar.gz",
"has_sig": false,
"md5_digest": "5ac46dfc06b3e9332c9847b3d83f5e57",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 47976,
"upload_time": "2025-01-16T15:09:05",
"upload_time_iso_8601": "2025-01-16T15:09:05.099995Z",
"url": "https://files.pythonhosted.org/packages/8e/2d/3d0a9ea68f2fdaac7685c2b37de87c5a8ce854d54e5605dba0ea1bc68270/rusty_polygon_geohasher-0.2.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-01-16 15:09:05",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "nexmoov",
"github_project": "rusty-polygon-geohasher",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"lcname": "rusty-polygon-geohasher"
}