# 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/1c/09/9da630f12e3099b18f666501a8fccb89b2a4d3fe5e85d31896617ca716a7/rusty_polygon_geohasher-0.2.1.tar.gz",
"platform": null,
"description": "# 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.1",
"project_urls": {
"Homepage": "https://github.com/nexmoov/rusty-polygon-geohasher"
},
"split_keywords": [
"polygon",
" geohashes",
" geospatial"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "90b4ca29ff1bce6a1081b369fa1d23e30c62fee377e11994e7cdd2d17d6fd1df",
"md5": "60b67d093e5d026735458956f4cf4aec",
"sha256": "baec01073a4af0c9568afde5c2c0eebfead605b1eaf7bc832fa10219584371d4"
},
"downloads": -1,
"filename": "rusty_polygon_geohasher-0.2.1-cp310-abi3-macosx_10_12_x86_64.whl",
"has_sig": false,
"md5_digest": "60b67d093e5d026735458956f4cf4aec",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 321252,
"upload_time": "2024-08-05T01:28:53",
"upload_time_iso_8601": "2024-08-05T01:28:53.850852Z",
"url": "https://files.pythonhosted.org/packages/90/b4/ca29ff1bce6a1081b369fa1d23e30c62fee377e11994e7cdd2d17d6fd1df/rusty_polygon_geohasher-0.2.1-cp310-abi3-macosx_10_12_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "3cdc09ecac3a510e99b6c1b05e64b267e1e2d2656f002926138ae86080bd229a",
"md5": "10158efd16cb8c9bc83bf945297a07c0",
"sha256": "2f9377dc1c0f4fea3b4550788d383769aad201ace3c9d78a12db96841c60218d"
},
"downloads": -1,
"filename": "rusty_polygon_geohasher-0.2.1-cp310-abi3-macosx_11_0_arm64.whl",
"has_sig": false,
"md5_digest": "10158efd16cb8c9bc83bf945297a07c0",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 307276,
"upload_time": "2024-08-05T01:28:55",
"upload_time_iso_8601": "2024-08-05T01:28:55.347567Z",
"url": "https://files.pythonhosted.org/packages/3c/dc/09ecac3a510e99b6c1b05e64b267e1e2d2656f002926138ae86080bd229a/rusty_polygon_geohasher-0.2.1-cp310-abi3-macosx_11_0_arm64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "da02e2b5dbde9cb33f136aee38b70e63b9ba84bcd71272e05f4dd69a1859d9ec",
"md5": "e1c8b2c6be30fe1d055fdd9fc5f865e6",
"sha256": "67d41db51e6975b14e1eedc786de832e7b5acc82b3fd712ce9e31e360a6bba71"
},
"downloads": -1,
"filename": "rusty_polygon_geohasher-0.2.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"has_sig": false,
"md5_digest": "e1c8b2c6be30fe1d055fdd9fc5f865e6",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 355436,
"upload_time": "2024-08-05T01:28:56",
"upload_time_iso_8601": "2024-08-05T01:28:56.839245Z",
"url": "https://files.pythonhosted.org/packages/da/02/e2b5dbde9cb33f136aee38b70e63b9ba84bcd71272e05f4dd69a1859d9ec/rusty_polygon_geohasher-0.2.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "19d9a2982b03b474fc2bd0d39941cf8b30460948d192c31dd616214a7aef296d",
"md5": "439e9b551b6c1040b278faf2a6c656c8",
"sha256": "dfae23f2dac70b404cffb29d3218d4832592dfb09256cd19e75b59372bc6aaf2"
},
"downloads": -1,
"filename": "rusty_polygon_geohasher-0.2.1-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
"has_sig": false,
"md5_digest": "439e9b551b6c1040b278faf2a6c656c8",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 354709,
"upload_time": "2024-08-05T01:28:58",
"upload_time_iso_8601": "2024-08-05T01:28:58.158637Z",
"url": "https://files.pythonhosted.org/packages/19/d9/a2982b03b474fc2bd0d39941cf8b30460948d192c31dd616214a7aef296d/rusty_polygon_geohasher-0.2.1-cp310-abi3-manylinux_2_17_armv7l.manylinux2014_armv7l.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "7380ddfe980f0b81de225a58d1a015c2b51dfa1ad1134c7a7c33343aac489992",
"md5": "0613003854797b3fa2c23bb22122ba51",
"sha256": "380a643ad37043b65742ca7f0e333d34dafc2f21b9ec9c551a7bb7e756f4555a"
},
"downloads": -1,
"filename": "rusty_polygon_geohasher-0.2.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"has_sig": false,
"md5_digest": "0613003854797b3fa2c23bb22122ba51",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 352656,
"upload_time": "2024-08-05T01:28:59",
"upload_time_iso_8601": "2024-08-05T01:28:59.889415Z",
"url": "https://files.pythonhosted.org/packages/73/80/ddfe980f0b81de225a58d1a015c2b51dfa1ad1134c7a7c33343aac489992/rusty_polygon_geohasher-0.2.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "47c7ed4b67d9cba1b335aec6c8b33dc450ee781d945c212c524b5e09972a136a",
"md5": "d86d2cad44ffae547e33f3194eb5c7d8",
"sha256": "d0608ca1c433e97c8b7f0951b0fc77f6f280f08b01d304e0174400badf30ea1c"
},
"downloads": -1,
"filename": "rusty_polygon_geohasher-0.2.1-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl",
"has_sig": false,
"md5_digest": "d86d2cad44ffae547e33f3194eb5c7d8",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 372623,
"upload_time": "2024-08-05T01:29:01",
"upload_time_iso_8601": "2024-08-05T01:29:01.443635Z",
"url": "https://files.pythonhosted.org/packages/47/c7/ed4b67d9cba1b335aec6c8b33dc450ee781d945c212c524b5e09972a136a/rusty_polygon_geohasher-0.2.1-cp310-abi3-manylinux_2_5_i686.manylinux1_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f6a6e22fe6b2be5ea7267076e6863bee91e962470e9b4c6e7f841f0681d7e1aa",
"md5": "e21294f27171fb59c57c6f16d9514c82",
"sha256": "d0fe15c54a953156c3175ccdd6a15f12cab206a3794c0aba2d3c76049d5151ab"
},
"downloads": -1,
"filename": "rusty_polygon_geohasher-0.2.1-cp310-abi3-musllinux_1_2_aarch64.whl",
"has_sig": false,
"md5_digest": "e21294f27171fb59c57c6f16d9514c82",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 533154,
"upload_time": "2024-08-05T01:29:02",
"upload_time_iso_8601": "2024-08-05T01:29:02.497638Z",
"url": "https://files.pythonhosted.org/packages/f6/a6/e22fe6b2be5ea7267076e6863bee91e962470e9b4c6e7f841f0681d7e1aa/rusty_polygon_geohasher-0.2.1-cp310-abi3-musllinux_1_2_aarch64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "316b5703d9ead78ee01ad3744cdda682f84b9303693bfe62dfde1367ff63e9b4",
"md5": "7f8941273459deebbfcfd84e2febbec1",
"sha256": "09bafb5f64751fa5fa42e568bd20637d9c5711e3336f45a26e45b9ec846372ba"
},
"downloads": -1,
"filename": "rusty_polygon_geohasher-0.2.1-cp310-abi3-musllinux_1_2_armv7l.whl",
"has_sig": false,
"md5_digest": "7f8941273459deebbfcfd84e2febbec1",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 616881,
"upload_time": "2024-08-05T01:29:04",
"upload_time_iso_8601": "2024-08-05T01:29:04.070800Z",
"url": "https://files.pythonhosted.org/packages/31/6b/5703d9ead78ee01ad3744cdda682f84b9303693bfe62dfde1367ff63e9b4/rusty_polygon_geohasher-0.2.1-cp310-abi3-musllinux_1_2_armv7l.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "00c2f0f451933fca63dac8eeb1283af0c8d8488f13d13e9694a4c1c5ddd966c1",
"md5": "ba2c2b5ac233771fe5bf463e5b111c78",
"sha256": "70baaf316788c553b0048b89c3cb012b290742b719f47c2b87530d85e1891ac2"
},
"downloads": -1,
"filename": "rusty_polygon_geohasher-0.2.1-cp310-abi3-musllinux_1_2_i686.whl",
"has_sig": false,
"md5_digest": "ba2c2b5ac233771fe5bf463e5b111c78",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 546989,
"upload_time": "2024-08-05T01:29:05",
"upload_time_iso_8601": "2024-08-05T01:29:05.574378Z",
"url": "https://files.pythonhosted.org/packages/00/c2/f0f451933fca63dac8eeb1283af0c8d8488f13d13e9694a4c1c5ddd966c1/rusty_polygon_geohasher-0.2.1-cp310-abi3-musllinux_1_2_i686.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "f7793fa4f02163784dd85050e93e311e92eb9869b64551b1373570f71b63742f",
"md5": "c84defee482691ae41c8362d486192c5",
"sha256": "823cf76690386d0872822d3af45a1ac7696c92c542c3f695e9eb921001fb94bb"
},
"downloads": -1,
"filename": "rusty_polygon_geohasher-0.2.1-cp310-abi3-musllinux_1_2_x86_64.whl",
"has_sig": false,
"md5_digest": "c84defee482691ae41c8362d486192c5",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 522891,
"upload_time": "2024-08-05T01:29:07",
"upload_time_iso_8601": "2024-08-05T01:29:07.326777Z",
"url": "https://files.pythonhosted.org/packages/f7/79/3fa4f02163784dd85050e93e311e92eb9869b64551b1373570f71b63742f/rusty_polygon_geohasher-0.2.1-cp310-abi3-musllinux_1_2_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "36a6d9bb084b1dbb144f44077b6ea2e106fb033be6df78711e14d8b831ca4de1",
"md5": "135ba441ba5edf6095e6eb5d13573ace",
"sha256": "98d23c65c05fb494e51caf2141d1684d341dfa5778b97a1d1d8a65c3d57e2c28"
},
"downloads": -1,
"filename": "rusty_polygon_geohasher-0.2.1-cp310-abi3-win32.whl",
"has_sig": false,
"md5_digest": "135ba441ba5edf6095e6eb5d13573ace",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 205879,
"upload_time": "2024-08-05T01:29:08",
"upload_time_iso_8601": "2024-08-05T01:29:08.666905Z",
"url": "https://files.pythonhosted.org/packages/36/a6/d9bb084b1dbb144f44077b6ea2e106fb033be6df78711e14d8b831ca4de1/rusty_polygon_geohasher-0.2.1-cp310-abi3-win32.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "0b064d00074fddfd465c0569c38de4475142f4697f0a3683da959b2c95780f29",
"md5": "f0eade25a91285bdb4b589433d9eddd6",
"sha256": "f7ea87a8b18e2fd2b1a933a737a418054631eab1e250e2227ec7bf6e278400f7"
},
"downloads": -1,
"filename": "rusty_polygon_geohasher-0.2.1-cp310-abi3-win_amd64.whl",
"has_sig": false,
"md5_digest": "f0eade25a91285bdb4b589433d9eddd6",
"packagetype": "bdist_wheel",
"python_version": "cp310",
"requires_python": null,
"size": 210981,
"upload_time": "2024-08-05T01:29:10",
"upload_time_iso_8601": "2024-08-05T01:29:10.124838Z",
"url": "https://files.pythonhosted.org/packages/0b/06/4d00074fddfd465c0569c38de4475142f4697f0a3683da959b2c95780f29/rusty_polygon_geohasher-0.2.1-cp310-abi3-win_amd64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "1c099da630f12e3099b18f666501a8fccb89b2a4d3fe5e85d31896617ca716a7",
"md5": "789668132098bb94f6ae9d88ba21241f",
"sha256": "151f0f1fbf1d5ff2aa66deba9008da350febc1cc045b95f1d77c7b7d2a52b25f"
},
"downloads": -1,
"filename": "rusty_polygon_geohasher-0.2.1.tar.gz",
"has_sig": false,
"md5_digest": "789668132098bb94f6ae9d88ba21241f",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 45182,
"upload_time": "2024-08-05T01:29:11",
"upload_time_iso_8601": "2024-08-05T01:29:11.347744Z",
"url": "https://files.pythonhosted.org/packages/1c/09/9da630f12e3099b18f666501a8fccb89b2a4d3fe5e85d31896617ca716a7/rusty_polygon_geohasher-0.2.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-08-05 01:29:11",
"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"
}