Name | quadkey-boosted JSON |
Version |
1.0.3
JSON |
| download |
home_page | https://github.com/ls-da3m0ns/pyquadkey-boosted |
Summary | Python library that provides a powerful set of tools and functions for working with quadkeys. Built on top of C it offers lightning-fast calculations, ensuring optimal performance even with large-scale datasets. |
upload_time | 2023-07-16 20:03:07 |
maintainer | |
docs_url | None |
author | Prashant Singh |
requires_python | >=3.6 |
license | |
keywords |
|
VCS |
 |
bugtrack_url |
|
requirements |
Cython
|
Travis-CI |
No Travis.
|
coveralls test coverage |
No coveralls.
|
# pyquadkey-boosted
[](https://opensource.org/licenses/Apache-2.0)


## Description
pyquadkey-boosted is a high-performance Python library that provides a powerful set of tools and functions for working with quadkeys, enabling seamless integration of tile-based mapping systems into your Python applications. Built on top of a blazing-fast C implementation, pyquadkey-boosted offers lightning-fast calculations, ensuring optimal performance even with large-scale datasets.
## Key Features
* Available API's
* Conversion
* lat lng to QuadKey
* QuadKey to lat lng
* QuadKey to BingTile
* BingTile to QuadKey
* Polygon to quadQuadKeykeys
* QuadKey to Multipolygon
* Operations
* get parent
* get childrens
* get K neighbours
* Metadata
* get average tile size
* get zoom level
* get tile distance between two tiles
* WKT, GeoJson, WKB representation of quadkey
* C based backend for fast calculations
* Can handle various types of projections
## License
[](https://opensource.org/licenses/Apache-2.0)
## Project Status
* ✅ Add Basic convertion API
* ❎ Implement advance geospatial apis
* ❎ Add support for projections
### What is a QuadKey?
A QuadKey is a string representation of a tile's location in a quadtree hierarchy. It is used to index and address tiles at different levels of detail (zoom levels). The QuadKey system is based on dividing the Earth's surface into quadrants using a quadtree structure.
For more details on the concept, please refer to
the [Microsoft Article About this](https://docs.microsoft.com/en-us/bingmaps/articles/bing-maps-tile-system).
## Installation
### Requirements
This library requires **Python 3.6** or higher. To compile it from source, Cython is required in addition.
### using pip
```bash
pip install pyquadkey-boosted
```
### From source
#### Prerequisites (`Linux`)
* `gcc`
* Fedora: `dnf install @development-tools`
* Ubuntu / Debian: `apt install build-essential`
* `python3-devel`
* Fedora: `dnf install python3-devel`
* Ubuntu / Debian: `apt install python3-dev`
#### Prerequisites (`Windows`)
* Visual C++ Build Tools 2015 (with Windows 10 SDK) (see [here](https://devblogs.microsoft.com/python/unable-to-find-vcvarsall-bat/#i-need-a-package-that-has-no-wheel-what-can-i-do))
#### Build from source
```bash
# Clone repo
git clone https://github.com/ls-da3m0ns/pyquadkey-boosted
# Create Virtual Environment
python -m venv ./venv
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Compile
python setup.py sdist bdist_wheel
# Install
pip install dist/quadkey-0.0.1-cp38-cp38-linux_x86_64.whl
```
# Usage
## Basic Usage
```python
import quadkey
lat = 47.641268
lng = -122.125679
zoom = 15
# Convert lat lng to quadkey
qk = quadkey.geo_to_quadkey(lat, lng, zoom)
# Convert quadkey to lat lng
## get top left corner
lat, lng = quadkey.quadkey_to_geo(qk, corner=0)
## get bottom right corner
lat, lng = quadkey.quadkey_to_geo(qk, corner=2)
# Convert quadkey to bbox
bbox = quadkey.quadkey_to_bbox(qk)
# Convert quadkey to Tile
tl = quadkey.quadkey_to_tile(qk)
# Conver quadkey to quadint
qi = quadkey.quadkey_to_quadint(qk)
# Convert lat lng to quadint
qi = quadkey.geo_to_quadint(lat, lng, zoom)
# get parent quadkey
parent = quadkey.get_parent(qk)
```
## References
I would like to acknowledge the following repositories that served as references during the development of this project:
- [pyquadkey2](https://github.com/muety/pyquadkey2)
Raw data
{
"_id": null,
"home_page": "https://github.com/ls-da3m0ns/pyquadkey-boosted",
"name": "quadkey-boosted",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "",
"author": "Prashant Singh",
"author_email": "mail.prashantsingh.41@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/11/f3/bd8bbbb1cd6652eb4df20e0c197b5e7faed4f4d29e170c499c7ae7f095b6/quadkey-boosted-1.0.3.tar.gz",
"platform": null,
"description": "\n# pyquadkey-boosted\n[](https://opensource.org/licenses/Apache-2.0)\n\n\n## Description\npyquadkey-boosted is a high-performance Python library that provides a powerful set of tools and functions for working with quadkeys, enabling seamless integration of tile-based mapping systems into your Python applications. Built on top of a blazing-fast C implementation, pyquadkey-boosted offers lightning-fast calculations, ensuring optimal performance even with large-scale datasets.\n\n## Key Features\n * Available API's\n * Conversion\n * lat lng to QuadKey\n * QuadKey to lat lng\n * QuadKey to BingTile\n * BingTile to QuadKey\n * Polygon to quadQuadKeykeys\n * QuadKey to Multipolygon\n * Operations\n * get parent\n * get childrens\n * get K neighbours\n * Metadata\n * get average tile size\n * get zoom level\n * get tile distance between two tiles\n * WKT, GeoJson, WKB representation of quadkey\n * C based backend for fast calculations\n * Can handle various types of projections\n\n## License\n\n[](https://opensource.org/licenses/Apache-2.0)\n\n## Project Status\n * \u2705 Add Basic convertion API\n * \u274e Implement advance geospatial apis\n * \u274e Add support for projections\n\n### What is a QuadKey?\n\nA QuadKey is a string representation of a tile's location in a quadtree hierarchy. It is used to index and address tiles at different levels of detail (zoom levels). The QuadKey system is based on dividing the Earth's surface into quadrants using a quadtree structure.\n\nFor more details on the concept, please refer to\nthe [Microsoft Article About this](https://docs.microsoft.com/en-us/bingmaps/articles/bing-maps-tile-system).\n\n## Installation\n### Requirements\n This library requires **Python 3.6** or higher. To compile it from source, Cython is required in addition.\n\n### using pip\n```bash\npip install pyquadkey-boosted\n```\n### From source\n#### Prerequisites (`Linux`)\n* `gcc`\n * Fedora: `dnf install @development-tools`\n * Ubuntu / Debian: `apt install build-essential`\n* `python3-devel`\n * Fedora: `dnf install python3-devel`\n * Ubuntu / Debian: `apt install python3-dev`\n\n#### Prerequisites (`Windows`)\n* Visual C++ Build Tools 2015 (with Windows 10 SDK) (see [here](https://devblogs.microsoft.com/python/unable-to-find-vcvarsall-bat/#i-need-a-package-that-has-no-wheel-what-can-i-do))\n#### Build from source\n```bash\n# Clone repo\ngit clone https://github.com/ls-da3m0ns/pyquadkey-boosted\n\n# Create Virtual Environment\npython -m venv ./venv\nsource venv/bin/activate\n\n# Install dependencies\npip install -r requirements.txt\n\n# Compile \npython setup.py sdist bdist_wheel\n\n# Install \npip install dist/quadkey-0.0.1-cp38-cp38-linux_x86_64.whl\n```\n# Usage\n## Basic Usage\n```python\nimport quadkey\nlat = 47.641268\nlng = -122.125679\nzoom = 15\n\n# Convert lat lng to quadkey\nqk = quadkey.geo_to_quadkey(lat, lng, zoom)\n\n# Convert quadkey to lat lng\n## get top left corner\nlat, lng = quadkey.quadkey_to_geo(qk, corner=0)\n## get bottom right corner\nlat, lng = quadkey.quadkey_to_geo(qk, corner=2)\n\n# Convert quadkey to bbox\nbbox = quadkey.quadkey_to_bbox(qk)\n\n# Convert quadkey to Tile\ntl = quadkey.quadkey_to_tile(qk)\n\n# Conver quadkey to quadint\nqi = quadkey.quadkey_to_quadint(qk)\n\n# Convert lat lng to quadint\nqi = quadkey.geo_to_quadint(lat, lng, zoom)\n\n# get parent quadkey\nparent = quadkey.get_parent(qk)\n```\n\n## References\n\nI would like to acknowledge the following repositories that served as references during the development of this project:\n - [pyquadkey2](https://github.com/muety/pyquadkey2)\n",
"bugtrack_url": null,
"license": "",
"summary": "Python library that provides a powerful set of tools and functions for working with quadkeys. Built on top of C it offers lightning-fast calculations, ensuring optimal performance even with large-scale datasets.",
"version": "1.0.3",
"project_urls": {
"Bug Tracker": "https://github.com/lsda3m0ns/pyquadkey-boosted/issues",
"Documentation": "https://github.com/lsda3m0ns/pyquadkey-boosted",
"Homepage": "https://github.com/ls-da3m0ns/pyquadkey-boosted",
"Source Code": "https://github.com/lsda3m0ns/pyquadkey-boosted"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "8c7f1a5f8c8efe3bf096667a14d2500182be962f94968aa20b4525024e62c227",
"md5": "3780bcef91e924778b72d39d685ab1ee",
"sha256": "5fb85f9667d88e739d2631b5fb148254463c463ed6420336653435021f8d5537"
},
"downloads": -1,
"filename": "quadkey_boosted-1.0.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
"has_sig": false,
"md5_digest": "3780bcef91e924778b72d39d685ab1ee",
"packagetype": "bdist_wheel",
"python_version": "cp38",
"requires_python": ">=3.6",
"size": 214092,
"upload_time": "2023-07-16T20:03:04",
"upload_time_iso_8601": "2023-07-16T20:03:04.572923Z",
"url": "https://files.pythonhosted.org/packages/8c/7f/1a5f8c8efe3bf096667a14d2500182be962f94968aa20b4525024e62c227/quadkey_boosted-1.0.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "11f3bd8bbbb1cd6652eb4df20e0c197b5e7faed4f4d29e170c499c7ae7f095b6",
"md5": "e5b66ca204448e12f2ed697f02be5345",
"sha256": "466a124d9a687e6042217b32231dee6f13bd7a9ec86913a09f95a66b89ab09ec"
},
"downloads": -1,
"filename": "quadkey-boosted-1.0.3.tar.gz",
"has_sig": false,
"md5_digest": "e5b66ca204448e12f2ed697f02be5345",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 59385,
"upload_time": "2023-07-16T20:03:07",
"upload_time_iso_8601": "2023-07-16T20:03:07.386518Z",
"url": "https://files.pythonhosted.org/packages/11/f3/bd8bbbb1cd6652eb4df20e0c197b5e7faed4f4d29e170c499c7ae7f095b6/quadkey-boosted-1.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-07-16 20:03:07",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "ls-da3m0ns",
"github_project": "pyquadkey-boosted",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "Cython",
"specs": [
[
">",
"2.9"
]
]
}
],
"lcname": "quadkey-boosted"
}