Skip to content

Commit

Permalink
Abbreviate kvadratnet to kn
Browse files Browse the repository at this point in the history
  • Loading branch information
kbevers committed Mar 22, 2020
1 parent 128ed38 commit 3b6dea5
Show file tree
Hide file tree
Showing 2 changed files with 62 additions and 69 deletions.
16 changes: 8 additions & 8 deletions kvadratnet/knet.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@

import click

import kvadratnet
import kvadratnet as kn


@click.group()
Expand Down Expand Up @@ -51,7 +51,7 @@ def rename(files, prefix, postfix, verbose):
(base, ext) = os.path.splitext(filename)

try:
tilename = kvadratnet.tile_name(base)
tilename = kn.tile_name(base)
except ValueError:
print("{}: No kvadratnet tile name found. Skipping.".format(f))
continue
Expand Down Expand Up @@ -88,25 +88,25 @@ def organize(units, files, verbose):

# are input units known?
for unit in units.split():
if not unit in kvadratnet.UNITS:
if not unit in kn.UNITS:
raise ValueError("Unknown unit in units list ({})".format(unit))

for f in files:
(_, filename) = os.path.split(f)
(base, ext) = os.path.splitext(filename)

try:
tilename = kvadratnet.tile_name(base)
tilename = kn.tile_name(base)
except ValueError:
print("{}: No kvadratnet tile name found. Skipping.".format(f))
continue

sub_dirs = []
for unit in reversed(kvadratnet.UNITS):
for unit in reversed(kn.UNITS):
if not unit in units:
continue
try:
sub_dirs.append(kvadratnet.parent_tile(tilename, unit))
sub_dirs.append(kn.parent_tile(tilename, unit))
except ValueError:
print("ERROR: {0} is smaller than {1}".format(unit, tilename))
sys.exit(1)
Expand Down Expand Up @@ -149,10 +149,10 @@ def parents(files, unique, count):
parent_list = []
for filename in files:
try:
tilename = kvadratnet.tile_name(filename.rstrip())
tilename = kn.tile_name(filename.rstrip())
except ValueError:
continue
parent = kvadratnet.parent_tile(tilename)
parent = kn.parent_tile(tilename)
parent_list.append(parent)
counter[parent] += 1

Expand Down
115 changes: 54 additions & 61 deletions tests/test_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

import pytest

import kvadratnet
import kvadratnet as kn

# pylint: disable=protected-access
# we want to test protected functions without pylint complaining
Expand All @@ -26,30 +26,30 @@ def test_reduce_ordinate():
"""kvadratnet._reduce_ordinate"""

with pytest.raises(ValueError):
kvadratnet._reduce_ordinate(6223700, "300m")
kn._reduce_ordinate(6223700, "300m")


def test_enlarge_ordinate():
"""kvadratnet._enlarge_ordinate"""

with pytest.raises(ValueError):
kvadratnet._enlarge_ordinate(2342, "5km")
kn._enlarge_ordinate(2342, "5km")

assert kvadratnet._enlarge_ordinate(62237, "100m") == 6223700
assert kvadratnet._enlarge_ordinate(622375, "250m") == 6223750
assert kvadratnet._enlarge_ordinate(6432, "1km") == 6432000
assert kvadratnet._enlarge_ordinate(57, "10km") == 570000
assert kvadratnet._enlarge_ordinate(620, "50km") == 6200000
assert kvadratnet._enlarge_ordinate(62, "100km") == 6200000
assert kn._enlarge_ordinate(62237, "100m") == 6223700
assert kn._enlarge_ordinate(622375, "250m") == 6223750
assert kn._enlarge_ordinate(6432, "1km") == 6432000
assert kn._enlarge_ordinate(57, "10km") == 570000
assert kn._enlarge_ordinate(620, "50km") == 6200000
assert kn._enlarge_ordinate(62, "100km") == 6200000


def test_parse_name():
"""kvadratnet._parse_name"""

with pytest.raises(ValueError):
kvadratnet._parse_name("BadName")
assert kvadratnet._parse_name("1km_6234_234") == (6234000, 234000, 1000, "1km")
assert kvadratnet._parse_name("punktsky_1km_6234_234.laz") == (
kn._parse_name("BadName")
assert kn._parse_name("1km_6234_234") == (6234000, 234000, 1000, "1km")
assert kn._parse_name("punktsky_1km_6234_234.laz") == (
6234000,
234000,
1000,
Expand All @@ -62,67 +62,60 @@ def test_name_from_point():

point = (6223777, 575617)
with pytest.raises(ValueError):
kvadratnet.name_from_point(-1, -1)
kvadratnet.name_from_point(point[0], point[1], "23km")

assert kvadratnet.name_from_point(point[0], point[1], unit="100km") == "100km_62_5"
assert kvadratnet.name_from_point(point[0], point[1], unit="50km") == "50km_620_55"
assert kvadratnet.name_from_point(point[0], point[1], unit="10km") == "10km_622_57"
assert kvadratnet.name_from_point(point[0], point[1], unit="1km") == "1km_6223_575"
assert (
kvadratnet.name_from_point(point[0], point[1], unit="100m") == "100m_62237_5756"
)
assert (
kvadratnet.name_from_point(point[0], point[1], unit="250m")
== "250m_622375_57550"
)
kn.name_from_point(-1, -1)
kn.name_from_point(point[0], point[1], "23km")

assert kn.name_from_point(point[0], point[1], unit="100km") == "100km_62_5"
assert kn.name_from_point(point[0], point[1], unit="50km") == "50km_620_55"
assert kn.name_from_point(point[0], point[1], unit="10km") == "10km_622_57"
assert kn.name_from_point(point[0], point[1], unit="1km") == "1km_6223_575"
assert kn.name_from_point(point[0], point[1], unit="100m") == "100m_62237_5756"
assert kn.name_from_point(point[0], point[1], unit="250m") == "250m_622375_57550"


def test_validate_name():
"""kvadratnet.validate_name"""

assert kvadratnet.validate_name("1km_2342_234")
assert kvadratnet.validate_name("250m_622375_57550")
assert kvadratnet.validate_name("100m_62237_5756")
assert kvadratnet.validate_name("10km_622_57")
assert kvadratnet.validate_name("50km_620_55")
assert kvadratnet.validate_name("100km_62_5")
assert kn.validate_name("1km_2342_234")
assert kn.validate_name("250m_622375_57550")
assert kn.validate_name("100m_62237_5756")
assert kn.validate_name("10km_622_57")
assert kn.validate_name("50km_620_55")
assert kn.validate_name("100km_62_5")

assert kvadratnet.validate_name("50km_620_55", units="50km")
assert kn.validate_name("50km_620_55", units="50km")

assert kvadratnet.validate_name("1km_2342_523", units=["1km", "250m"])
assert kvadratnet.validate_name("1km_2342_523", units=["1km", "250m"], strict=True)
assert kn.validate_name("1km_2342_523", units=["1km", "250m"])
assert kn.validate_name("1km_2342_523", units=["1km", "250m"], strict=True)

assert not kvadratnet.validate_name(
"1km_2342_523", units=["10km", "250m"], strict=True
)
assert not kvadratnet.validate_name("DTM_1km_5233_782.tif", strict=True)
assert not kn.validate_name("1km_2342_523", units=["10km", "250m"], strict=True)
assert not kn.validate_name("DTM_1km_5233_782.tif", strict=True)

assert not kvadratnet.validate_name("2km_232_23")
assert not kvadratnet.validate_name("100km_234_23")
assert not kvadratnet.validate_name("10km_23a_53")
assert not kvadratnet.validate_name("notevenatile")
assert not kn.validate_name("2km_232_23")
assert not kn.validate_name("100km_234_23")
assert not kn.validate_name("10km_23a_53")
assert not kn.validate_name("notevenatile")

with pytest.raises(ValueError):
kvadratnet.validate_name("1km_4141_524", ["59km", "1000km"])
kn.validate_name("1km_4141_524", ["59km", "1000km"])


def test_extent_from_name():
"""kvadratnet.extent_from_name"""

with pytest.raises(ValueError):
kvadratnet.extent_from_name("BadName")
kn.extent_from_name("BadName")

extent = kvadratnet.extent_from_name("1km_6223_575")
extent = kn.extent_from_name("1km_6223_575")
assert extent == (575000, 6223000, 576000, 6224000)
extent = kvadratnet.extent_from_name("10km_622_57")
extent = kn.extent_from_name("10km_622_57")
assert extent == (570000, 6220000, 580000, 6230000)


def test_wkt_from_name():
"""kvadratnet.wkt_from_name"""

wkt = kvadratnet.wkt_from_name("1km_6223_575")
wkt = kn.wkt_from_name("1km_6223_575")
expected_wkt = (
"POLYGON((575000.00 6223000.00,575000.00 6224000.00,576000.00 6224000.00,"
)
Expand All @@ -135,49 +128,49 @@ def test_wkt_from_name():
def test_parent_tile():
"""kvadratnet.parent_tile"""

assert kvadratnet.parent_tile("1km_6223_575", "10km") == "10km_622_57"
assert kvadratnet.parent_tile("1km_6223_575") == "10km_622_57"
print(kvadratnet.parent_tile("100m_62237_5756", "250m"))
assert kvadratnet.parent_tile("100m_62237_5756", "250m") == "250m_622350_57550"
assert kn.parent_tile("1km_6223_575", "10km") == "10km_622_57"
assert kn.parent_tile("1km_6223_575") == "10km_622_57"
print(kn.parent_tile("100m_62237_5756", "250m"))
assert kn.parent_tile("100m_62237_5756", "250m") == "250m_622350_57550"

with pytest.raises(ValueError):
kvadratnet.parent_tile("100km_62_5")
kvadratnet.parent_tile("10km_423_23", "1km")
kn.parent_tile("100km_62_5")
kn.parent_tile("10km_423_23", "1km")


def test_tile_name():
"""kvadratnet.tile_name"""
name = kvadratnet.tile_name("dtm_1km_5232_624.tif")
name = kn.tile_name("dtm_1km_5232_624.tif")
print(name)
assert name == "1km_5232_624"

with pytest.raises(ValueError):
kvadratnet.tile_name("not_a_tile_name")
kn.tile_name("not_a_tile_name")


def test_tile_to_index():
"""kvadratnet.tile_to_index"""
name = "1km_6232_623"
idy, idx = kvadratnet.tile_to_index(name, 6200000, 600000)
idy, idx = kn.tile_to_index(name, 6200000, 600000)
print(name, idy, idx)
assert (idy, idx) == (-32, 23)

name = "1km_6200_600"
idy, idx = kvadratnet.tile_to_index(name, 6200000, 600000)
idy, idx = kn.tile_to_index(name, 6200000, 600000)
print(name, idy, idx)
assert (idy, idx) == (0, 0)

name = "1km_6200_600"
idy, idx = kvadratnet.tile_to_index(name, 6200123, 600123)
idy, idx = kn.tile_to_index(name, 6200123, 600123)
print(name, idy, idx)
assert (idy, idx) == (0, 0)

name = "1km_6201_599"
idy, idx = kvadratnet.tile_to_index(name, 6200000, 600000)
idy, idx = kn.tile_to_index(name, 6200000, 600000)
print(name, idy, idx)
assert (idy, idx) == (-1, -1)

name = "250m_622375_57550"
idy, idx = kvadratnet.tile_to_index(name, 6223750, 575500)
idy, idx = kn.tile_to_index(name, 6223750, 575500)
print(name, idy, idx)
assert (idy, idx) == (0, 0)

0 comments on commit 3b6dea5

Please sign in to comment.