Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 6 additions & 4 deletions avaframe/in2Trans/shpConversion.py
Original file line number Diff line number Diff line change
Expand Up @@ -302,11 +302,13 @@ def readLine(fname, defname, dem):
Lx = (coordx[i] - header["xllcenter"]) / header["cellsize"]
Ly = (coordy[i] - header["yllcenter"]) / header["cellsize"]
if (Ly < 0) or (Ly > header["nrows"] - 1) or (Lx < 0) or (Lx > header["ncols"] - 1):
log.error(fname)
raise ValueError("This shape file exceeds dem extent. This is not allowed")
message = "This shape file exceeds dem extent: %s " % fname
log.error(message)
raise ValueError(message)
elif np.isnan(rasterDEM[int(np.floor(Ly)), int(np.floor(Lx))]):
log.error(fname)
raise ValueError("This shape file is at least partially outside of DEM, this is not allowed!")
message = "This shape file is at least partially outside of dem extent: %s " % fname
log.error(message)
raise ValueError(message)
return Line


Expand Down
12 changes: 10 additions & 2 deletions avaframe/tests/test_shpConversion.py
Original file line number Diff line number Diff line change
Expand Up @@ -203,13 +203,21 @@ def test_readLine(capfd):
# do we react properly when the input line exceeds the dem?
with pytest.raises(ValueError) as e:
assert shpConv.readLine(shpFileName, "", dem)
assert str(e.value) == "This shape file is at least partially outside of DEM, this is not allowed!"

outSideError = False
if "This shape file is at least partially outside of dem" in str(e.value):
outSideError = True
assert outSideError

# do we react properly when the input line exceeds the dem?
shpFileName = dirname / "data" / "testShpConv" / "testLineOut.shp"
with pytest.raises(ValueError) as e:
assert shpConv.readLine(shpFileName, "", dem)
assert str(e.value) == "This shape file exceeds dem extent. This is not allowed"

outSideError = False
if "This shape file exceeds dem" in str(e.value):
outSideError = True
assert outSideError

shpFileName = dirname / "data" / "testShpConv" / "testLineGood.shp"
Line = shpConv.readLine(shpFileName, "", dem)
Expand Down
Loading