本文整理汇总了Python中pygeoc.utils.FileClass.get_core_name_without_suffix方法的典型用法代码示例。如果您正苦于以下问题:Python FileClass.get_core_name_without_suffix方法的具体用法?Python FileClass.get_core_name_without_suffix怎么用?Python FileClass.get_core_name_without_suffix使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类pygeoc.utils.FileClass
的用法示例。
在下文中一共展示了FileClass.get_core_name_without_suffix方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: output_hillslope
# 需要导入模块: from pygeoc.utils import FileClass [as 别名]
# 或者: from pygeoc.utils.FileClass import get_core_name_without_suffix [as 别名]
def output_hillslope(method_id):
"""Output hillslope according different stream cell value method."""
for (tmp_row, tmp_col) in stream_coors:
tmp_hillslp_ids = DelineateHillslope.cal_hs_codes(max_id,
stream_data[tmp_row][tmp_col])
if 0 < method_id < 3:
hillslope_mtx[tmp_row][tmp_col] = tmp_hillslp_ids[method_id]
# is head stream cell?
if (tmp_row, tmp_col) in headstream_coors:
hillslope_mtx[tmp_row][tmp_col] = tmp_hillslp_ids[0]
elif method_id == 3:
hillslope_mtx[tmp_row][tmp_col] = DEFAULT_NODATA
# Output to raster file
hillslope_out_new = hillslope_out
dirpath = os.path.dirname(hillslope_out_new) + os.path.sep
corename = FileClass.get_core_name_without_suffix(hillslope_out_new)
if method_id == 1:
hillslope_out_new = dirpath + corename + '_right.tif'
elif method_id == 2:
hillslope_out_new = dirpath + corename + '_left.tif'
elif method_id == 3:
hillslope_out_new = dirpath + corename + '_nodata.tif'
RasterUtilClass.write_gtiff_file(hillslope_out_new, nrows, ncols,
hillslope_mtx,
geotrans, srs, DEFAULT_NODATA, datatype)
示例2: raster2shp
# 需要导入模块: from pygeoc.utils import FileClass [as 别名]
# 或者: from pygeoc.utils.FileClass import get_core_name_without_suffix [as 别名]
def raster2shp(rasterfile, vectorshp, layername=None, fieldname=None,
band_num=1, mask='default'):
"""Convert raster to ESRI shapefile"""
FileClass.remove_files(vectorshp)
FileClass.check_file_exists(rasterfile)
# this allows GDAL to throw Python Exceptions
gdal.UseExceptions()
src_ds = gdal.Open(rasterfile)
if src_ds is None:
print('Unable to open %s' % rasterfile)
sys.exit(1)
try:
srcband = src_ds.GetRasterBand(band_num)
except RuntimeError as e:
# for example, try GetRasterBand(10)
print('Band ( %i ) not found, %s' % (band_num, e))
sys.exit(1)
if mask == 'default':
maskband = srcband.GetMaskBand()
elif mask is None or mask.upper() == 'NONE':
maskband = None
else:
mask_ds = gdal.Open(mask)
maskband = mask_ds.GetRasterBand(1)
# create output datasource
if layername is None:
layername = FileClass.get_core_name_without_suffix(rasterfile)
drv = ogr_GetDriverByName(str('ESRI Shapefile'))
dst_ds = drv.CreateDataSource(vectorshp)
srs = None
if src_ds.GetProjection() != '':
srs = osr_SpatialReference()
srs.ImportFromWkt(src_ds.GetProjection())
dst_layer = dst_ds.CreateLayer(str(layername), srs=srs)
if fieldname is None:
fieldname = layername.upper()
fd = ogr_FieldDefn(str(fieldname), OFTInteger)
dst_layer.CreateField(fd)
dst_field = 0
result = gdal.Polygonize(srcband, maskband, dst_layer, dst_field,
['8CONNECTED=8'], callback=None)
return result
示例3: output_runtime_to_log
# 需要导入模块: from pygeoc.utils import FileClass [as 别名]
# 或者: from pygeoc.utils.FileClass import get_core_name_without_suffix [as 别名]
def output_runtime_to_log(title, lines, logfile):
if logfile is None:
return
fname = FileClass.get_core_name_without_suffix(title)
time_dict = {'name': fname, 'readt': 0, 'writet': 0, 'computet': 0, 'totalt': 0}
for line in lines:
# print(line)
line = line.lower()
time_value = line.split(os.linesep)[0].split(':')[-1]
if not MathClass.isnumerical(time_value):
continue
time_value = float(time_value)
if line.find('read') >= 0 and line.find('time') >= 0:
time_dict['readt'] += time_value
elif line.find('compute') >= 0 and line.find('time') >= 0:
time_dict['computet'] += time_value
elif line.find('write') >= 0 and line.find('time') >= 0:
time_dict['writet'] += time_value
elif line.find('total') >= 0 and line.find('time') >= 0:
time_dict['totalt'] += time_value
TauDEM.write_time_log(logfile, time_dict)
示例4: downstream_method_whitebox
# 需要导入模块: from pygeoc.utils import FileClass [as 别名]
# 或者: from pygeoc.utils.FileClass import get_core_name_without_suffix [as 别名]
#.........这里部分代码省略.........
tmp_col = vcol + FlowModelConst.ccw_dcol[d_idx_l]
if (tmp_row, tmp_col) not in in_coors: # not inflow to this cell
continue
tmpstream = stream_data[tmp_row][tmp_col]
in_coors.remove((tmp_row, tmp_col))
if tmpstream <= 0 or tmpstream == stream_nodata:
hillslope_mtx[tmp_row][tmp_col] = hillslp_ids[2] # left hillslope
else: # encounter another in flow stream
break
# if any inflow cells existed?
if len(in_coors) > 0:
for (tmp_row, tmp_col) in in_coors:
tmpstream = stream_data[tmp_row][tmp_col]
if tmpstream <= 0 or tmpstream == stream_nodata:
hillslope_mtx[tmp_row][tmp_col] = hillslp_ids[0]
# add the current cell as head stream
headstream_coors.append((vrow, vcol))
def output_hillslope(method_id):
"""Output hillslope according different stream cell value method."""
for (tmp_row, tmp_col) in stream_coors:
tmp_hillslp_ids = DelineateHillslope.cal_hs_codes(max_id,
stream_data[tmp_row][tmp_col])
if 0 < method_id < 3:
hillslope_mtx[tmp_row][tmp_col] = tmp_hillslp_ids[method_id]
# is head stream cell?
if (tmp_row, tmp_col) in headstream_coors:
hillslope_mtx[tmp_row][tmp_col] = tmp_hillslp_ids[0]
elif method_id == 3:
hillslope_mtx[tmp_row][tmp_col] = DEFAULT_NODATA
# Output to raster file
hillslope_out_new = hillslope_out
dirpath = os.path.dirname(hillslope_out_new) + os.path.sep
corename = FileClass.get_core_name_without_suffix(hillslope_out_new)
if method_id == 1:
hillslope_out_new = dirpath + corename + '_right.tif'
elif method_id == 2:
hillslope_out_new = dirpath + corename + '_left.tif'
elif method_id == 3:
hillslope_out_new = dirpath + corename + '_nodata.tif'
RasterUtilClass.write_gtiff_file(hillslope_out_new, nrows, ncols,
hillslope_mtx,
geotrans, srs, DEFAULT_NODATA, datatype)
# 1. assign a unique id to each link in the stream network if needed
assign_stream_id = False
tmp = numpy.where((stream_data > 0) & (stream_data != stream_nodata),
stream_data, numpy.nan)
max_id = int(numpy.nanmax(tmp)) # i.e., stream link number
min_id = int(numpy.nanmin(tmp))
for i in range(min_id, max_id + 1):
if i not in tmp:
assign_stream_id = True
break
if max_id == min_id:
assign_stream_id = True
current_id = 0
if assign_stream_id:
# calculate and output sequenced stream raster
sequenced_stream_d = numpy.ones((nrows, ncols)) * DEFAULT_NODATA
for row in range(nrows):
for col in range(ncols):
# if the cell is not a stream, or has been assigned an ID
if stream_data[row][col] <= 0 or stream_data[row][col] == stream_nodata \
or sequenced_stream_d[row][col] > 0:
continue