Example #1
0
"""
if __name__ == "__main__":
    from pydem.test_pydem import get_test_data
    from pydem.dem_processing import DEMProcessor
    from pydem.test_pydem import make_file_names

    import sys
    if len(sys.argv) <= 1:
        testnum = 30  # Default test number

    NN = 64  # Resolution of tile

    # Get test data and create DEMProcessor
    elev, ang, test_data = get_test_data(testnum, NN)
    filename = make_file_names(testnum, NN)['fel']
    dem_proc = DEMProcessor(filename, dx_dy_from_file=False)

    # Calculate magnitude and direction of slopes
    mag, direction = dem_proc.calc_slopes_directions()

    # Calculate UCA/TWI on entire tile
    area1 = dem_proc.calc_uca(0)
    twi1 = dem_proc.calc_twi()

    # Calculate UCA/TWI on chunks
    dem_proc.resolve_edges = True  # If false, won't do edge resolution
    dem_proc.chunk_size_uca = 9  # Chunk size
    dem_proc.chunk_overlap_uca = 3  #Overlap between chunks
    area2 = dem_proc.calc_uca(0)
    twi2 = dem_proc.calc_twi()
Example #2
0
if __name__ == "__main__":
    from pydem.test_pydem import get_test_data
    from pydem.dem_processing import DEMProcessor
    from pydem.test_pydem import make_file_names

    import sys, os
    if len(sys.argv) <= 1:
        testnum = 13  # Default test number

    NN = 64  # Resolution of tile

    # Get test data and create DEMProcessor
    elev, ang, test_data = get_test_data(testnum, NN)
    elev = elev.raster_data
    
    dem_proc1 = DEMProcessor(elev)
    # Calculate TWI
    twi1 = dem_proc1.calc_twi()
    
    # Stretch the latitude direction
    lats = [0, 2]  # degrees
    lons = [0, 1]  # degrees
    dem_proc2 = DEMProcessor((elev, lats, lons))
    twi2 = dem_proc2.calc_twi()

    # plot results
    import matplotlib.pyplot as plt
    plt.matshow(twi1); plt.colorbar()
    plt.title('TWI calculated from Array, dx/dy determined from array shape')
    plt.matshow(dem_proc1.data); plt.colorbar()
    plt.title('Elevation from Array (after fixing flats)')
Example #3
0
sys.setrecursionlimit(1000000)

# Ori
tiffile = r'C:\Users\thril\Desktop\ETOPO1DEM_Bedrock_gridRegis\ETOPO1_Bed_g_geotiff.tif'
Oritif = gdal.Open(tiffile)
if Oritif is None:
    print('cannot open tif')
    sys.exit(1)
OritifPro = Oritif.GetProjection()
OritifTra = Oritif.GetGeoTransform()
tifband = Oritif.GetRasterBand(1)
tifData = tifband.ReadAsArray(0, 0, Oritif.RasterXSize, Oritif.RasterYSize)
print('over in data')

# pyDEM
dem_proc = DEMProcessor(tiffile)
dem_proc.fill_flats = False
print('begin cal TWI')
twi = dem_proc.calc_twi()
cols = np.size(twi, 0)
rows = np.size(twi, 1)
print('over pyDEM process')

# out
imgdriver = gdal.GetDriverByName('GTiff')
resultPath = 'C:\\Users\\thril\\Desktop\\ETOPO1DEM_Bedrock_gridRegis\\ETOPO1_TWI.tif'
resultds = imgdriver.Create(resultPath, cols, rows, 1, twi.DataType)
resultds.SetGeoTransform(OritifTra)
resultds.SetProjection(OritifPro)
resultds.GetRasterBand(1).WriteArray(twi)
resultds = None