Skip to content

Commit 482629a

Browse files
Buck HerouxBuck Heroux
authored andcommitted
added .to_geo(centered=True)
1 parent 092a2cd commit 482629a

File tree

3 files changed

+12
-8
lines changed

3 files changed

+12
-8
lines changed

quadkey/__init__.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ def __init__(self, key):
88
"""
99
A quadkey must be between 1 and 23 digits and can only contain digit[0-3]
1010
"""
11-
self.key = key
11+
self.key = key
1212
self.level = len(key)
1313

1414
def children(self):
@@ -31,7 +31,7 @@ def is_ancestor(self, node):
3131
Get the difference in level
3232
If not, None
3333
"""
34-
if self.level <= node.level or self.key[:len(node.key)] != node.key:
34+
if self.level <= node.level or self.key[:len(node.key)] != node.key:
3535
return None
3636
return self.level - node.level
3737

@@ -53,11 +53,11 @@ def area(self):
5353
def to_tile(self):
5454
return TileSystem.quadkey_to_tile(self.key)
5555

56-
def to_geo(self):
56+
def to_geo(self, centered=False):
5757
ret = TileSystem.quadkey_to_tile(self.key)
5858
tile = ret[0]
5959
lvl = ret[1]
60-
pixel = TileSystem.tile_to_pixel(tile)
60+
pixel = TileSystem.tile_to_pixel(tile, centered)
6161
return TileSystem.pixel_to_geo(pixel, lvl)
6262

6363
def __eq__(self, other):
@@ -84,7 +84,7 @@ def from_geo(geo, level):
8484
pixel = TileSystem.geo_to_pixel(geo, level)
8585
tile = TileSystem.pixel_to_tile(pixel)
8686
key = TileSystem.tile_to_quadkey(tile, level)
87-
return QuadKey(key)
87+
return QuadKey(key)
8888

8989
@staticmethod
9090
def from_tile(tile, level):

quadkey/tile_system.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -82,9 +82,13 @@ def pixel_to_tile(pixel):
8282
return pixel[0] / 256, pixel[1] / 256
8383

8484
@staticmethod
85-
def tile_to_pixel(tile):
85+
def tile_to_pixel(tile, centered=False):
8686
"""Transform tile to pixel coordinates"""
87-
return tile[0] * 256, tile[1] * 256
87+
pixel = [tile[0] * 256, tile[1] * 256]
88+
if centered:
89+
#should clip on max map size
90+
pixel = [pix + 128 for pix in pixel]
91+
return pixel[0], pixel[1]
8892

8993
@staticmethod
9094
@precondition(lambda tile, lvl: valid_level(lvl))

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
from setuptools import setup
44

55
setup(name="quadkey",
6-
version="0.0.3",
6+
version="0.0.4",
77
description="Python Implementation for Geospatial Quadkeys",
88
author="Buck Heroux",
99
url="https://github.com/buckheroux/QuadKey",

0 commit comments

Comments
 (0)