Exemple #1
0
def test_gdal_viewshed_alternative_modes():
    make_viewshed_input()
    _, err = gdaltest.runexternal_out_and_err(
        test_cli_utilities.get_gdal_viewshed_path() +
        ' -om DEM -oz {} -ox {} -oy {} {} {}'.format(
            oz[0], ox[0], oy[0], viewshed_in, viewshed_out))
    assert err is None or err == ''
    ds = gdal.Open(viewshed_out)
    assert ds
    cs = ds.GetRasterBand(1).Checksum()
    nodata = ds.GetRasterBand(1).GetNoDataValue()
    ds = None
    gdal.Unlink(viewshed_out)
    assert cs == 45734
    assert nodata is None

    _, err = gdaltest.runexternal_out_and_err(
        test_cli_utilities.get_gdal_viewshed_path() +
        ' -om GROUND -oz {} -ox {} -oy {} {} {}'.format(
            oz[0], ox[0], oy[0], viewshed_in, viewshed_out))
    assert err is None or err == ''
    ds = gdal.Open(viewshed_out)
    assert ds
    cs = ds.GetRasterBand(1).Checksum()
    nodata = ds.GetRasterBand(1).GetNoDataValue()
    ds = None
    gdal.Unlink(viewshed_in)
    gdal.Unlink(viewshed_out)
    assert cs == 8364
    assert nodata is None
Exemple #2
0
def test_gdal_viewshed_alternative_modes():

    gdaltest.runexternal(
        test_cli_utilities.get_gdalwarp_path() +
        ' -t_srs EPSG:32617 -overwrite ../gdrivers/data/n43.dt0 tmp/test_gdal_viewshed_in.tif'
    )

    _, err = gdaltest.runexternal_out_and_err(
        test_cli_utilities.get_gdal_viewshed_path() +
        ' -om DEM -oz 100 -ox 621528 -oy 4817617 tmp/test_gdal_viewshed_in.tif tmp/test_gdal_viewshed_out.tif'
    )
    assert err is None or err == ''
    ds = gdal.Open('tmp/test_gdal_viewshed_out.tif')
    assert ds
    cs = ds.GetRasterBand(1).Checksum()
    nodata = ds.GetRasterBand(1).GetNoDataValue()
    ds = None
    gdal.Unlink('tmp/test_gdal_viewshed_out.tif')
    assert cs == 48478
    assert nodata is None

    _, err = gdaltest.runexternal_out_and_err(
        test_cli_utilities.get_gdal_viewshed_path() +
        ' -om GROUND -oz 100 -ox 621528 -oy 4817617 tmp/test_gdal_viewshed_in.tif tmp/test_gdal_viewshed_out.tif'
    )
    assert err is None or err == ''
    ds = gdal.Open('tmp/test_gdal_viewshed_out.tif')
    assert ds
    cs = ds.GetRasterBand(1).Checksum()
    nodata = ds.GetRasterBand(1).GetNoDataValue()
    ds = None
    gdal.Unlink('tmp/test_gdal_viewshed_in.tif')
    gdal.Unlink('tmp/test_gdal_viewshed_out.tif')
    assert cs == 49633
    assert nodata is None
Exemple #3
0
def test_gdal_viewshed_invalid_observer_point():

    _, err = gdaltest.runexternal_out_and_err(
        test_cli_utilities.get_gdal_viewshed_path() +
        ' -ox 0 -oy 0 ../gdrivers/data/n43.dt0 tmp/tmp.tif')
    gdal.Unlink('tmp/tmp.tif')
    assert 'The observer location falls outside of the DEM area' in err
def test_gdal_viewshed_invalid_input():

    _, err = gdaltest.runexternal_out_and_err(
        test_cli_utilities.get_gdal_viewshed_path() +
        ' -ox 0 -oy 0 /dev/null /dev/null')
    assert ('not recognized as a supported file format'
            in err) or (os.name == 'nt' and 'No such file or directory' in err)
Exemple #5
0
def test_gdal_viewshed_all_options():
    make_viewshed_input()
    _, err = gdaltest.runexternal_out_and_err(test_cli_utilities.get_gdal_viewshed_path() + ' -om NORMAL -f GTiff -oz {} -ox {} -oy {} -b 1 -a_nodata 0 -tz 5 -md 20000 -cc 0 -iv 127 -vv 254 -ov 0 {} {}'.format(oz[1], ox[0], oy[0], viewshed_in, viewshed_out))
    assert err is None or err == ''
    ds = gdal.Open(viewshed_out)
    assert ds
    cs = ds.GetRasterBand(1).Checksum()
    nodata = ds.GetRasterBand(1).GetNoDataValue()
    ds = None
    gdal.Unlink(viewshed_in)
    gdal.Unlink(viewshed_out)
    assert cs == 24435
    assert nodata == 0
Exemple #6
0
def test_gdal_viewshed_all_options():

    gdaltest.runexternal(test_cli_utilities.get_gdalwarp_path() + ' -t_srs EPSG:32617 -overwrite ../gdrivers/data/n43.dt0 tmp/test_gdal_viewshed_in.tif')
    _, err = gdaltest.runexternal_out_and_err(test_cli_utilities.get_gdal_viewshed_path() + ' -f GTiff -oz 10 -ox 621528 -oy 4817617 -b 1 -a_nodata 0 -tz 5 -md 20000 -cc 0.85714 -iv 127 -vv 254 -ov 0 tmp/test_gdal_viewshed_in.tif tmp/test_gdal_viewshed_out.tif')
    assert err is None or err == ''
    ds = gdal.Open('tmp/test_gdal_viewshed_out.tif')
    assert ds
    cs = ds.GetRasterBand(1).Checksum()
    nodata = ds.GetRasterBand(1).GetNoDataValue()
    ds = None
    gdal.Unlink('tmp/test_gdal_viewshed_in.tif')
    gdal.Unlink('tmp/test_gdal_viewshed_out.tif')
    assert cs == 24412
    assert nodata == 0
Exemple #7
0
def test_gdal_viewshed_invalid_output_filename():

    _, err = gdaltest.runexternal_out_and_err(test_cli_utilities.get_gdal_viewshed_path() + ' -ox -79.5 -oy 43.5 ../gdrivers/data/n43.dt0 i/do_not/exist.tif')
    assert 'Cannot create dataset' in err
Exemple #8
0
def test_gdal_viewshed_invalid_output_driver():

    _, err = gdaltest.runexternal_out_and_err(test_cli_utilities.get_gdal_viewshed_path() + ' -ox -79.5 -oy 43.5 -of FOOBAR ../gdrivers/data/n43.dt0 tmp/tmp.tif')
    assert 'Cannot get driver' in err
Exemple #9
0
def test_gdal_viewshed_invalid_band():

    _, err = gdaltest.runexternal_out_and_err(test_cli_utilities.get_gdal_viewshed_path() + ' -ox 0 -oy 0 -b 2 ../gdrivers/data/n43.dt0 tmp/tmp.tif')
    assert 'Illegal band' in err
Exemple #10
0
def test_gdal_viewshed_missing_oy():

    _, err = gdaltest.runexternal_out_and_err(test_cli_utilities.get_gdal_viewshed_path() + ' -ox 0 /dev/null /dev/null')
    assert 'Missing -oy' in err
Exemple #11
0
def test_gdal_viewshed_missing_destination():

    _, err = gdaltest.runexternal_out_and_err(test_cli_utilities.get_gdal_viewshed_path() + ' /dev/null')
    assert 'Missing destination filename' in err
Exemple #12
0
def test_gdal_viewshed_missing_source():

    _, err = gdaltest.runexternal_out_and_err(test_cli_utilities.get_gdal_viewshed_path())
    assert 'Missing source filename' in err
Exemple #13
0
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
# DEALINGS IN THE SOFTWARE.
###############################################################################

from osgeo import gdal
import gdaltest
import test_cli_utilities
import pytest

pytestmark = pytest.mark.skipif(test_cli_utilities.get_gdalwarp_path() is None or test_cli_utilities.get_gdal_viewshed_path() is None, reason="gdal_viewshed not available")

###############################################################################

viewshed_in = 'tmp/test_gdal_viewshed_in.tif'
viewshed_out = 'tmp/test_gdal_viewshed_out.tif'
ox = [621528]
oy = [4817617]
oz = [100, 10]

def make_viewshed_input(output=viewshed_in):
    gdaltest.runexternal(test_cli_utilities.get_gdalwarp_path() + ' -t_srs EPSG:32617 -overwrite ../gdrivers/data/n43.dt0 '+output)


def test_gdal_viewshed():
    make_viewshed_input()
Exemple #14
0
def test_gdal_viewshed_invalid_input():

    _, err = gdaltest.runexternal_out_and_err(
        test_cli_utilities.get_gdal_viewshed_path() +
        ' -ox 0 -oy 0 /dev/null /dev/null')
    assert 'not recognized as a supported file format' in err
Exemple #15
0
# OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
# DEALINGS IN THE SOFTWARE.
###############################################################################

from osgeo import gdal
import gdaltest
import test_cli_utilities
import pytest

pytestmark = pytest.mark.skipif(
    test_cli_utilities.get_gdalwarp_path() is None
    or test_cli_utilities.get_gdal_viewshed_path() is None,
    reason="gdal_viewshed not available")

###############################################################################


def test_gdal_viewshed():

    gdaltest.runexternal(
        test_cli_utilities.get_gdalwarp_path() +
        ' -t_srs EPSG:32617 -overwrite ../gdrivers/data/n43.dt0 tmp/test_gdal_viewshed_in.tif'
    )
    _, err = gdaltest.runexternal_out_and_err(
        test_cli_utilities.get_gdal_viewshed_path() +
        ' -oz 100 -ox 621528 -oy 4817617 tmp/test_gdal_viewshed_in.tif tmp/test_gdal_viewshed_out.tif'
    )