管道基础大数据平台系统开发-【CS】-ExportMap
1
13693261870
2023-05-05 a410904854084312e0fad1426f00e4d73c15c18d
1
已修改1个文件
42 ■■■■■ 文件已修改
ExportMap/Sources/merge.py 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ExportMap/Sources/merge.py
@@ -28,15 +28,14 @@
    parser = argparse.ArgumentParser(description='ArgUtils')
    parser.add_argument("-src", type=str, default=get_full_path(), required=False)
    parser.add_argument("-qgz", type=str, default=r"xyz.qgz", required=False)
    parser.add_argument("-file", type=str, default=r"D:\xyz\dom0.2m\tif.txt", required=False)
    parser.add_argument("-out", type=str, default=r"D:\xyz\dom0.2m\png", required=False)
    parser.add_argument("-noData", type=int, default=0, required=False)
    parser.add_argument("-file", type=str, default=r"D:\xyz\dem\dem.txt", required=False)
    parser.add_argument("-out", type=str, default=r"D:\xyz\dem\dem\astgtm2.tif", required=False)
    return parser.parse_args()
# 读取文本文件
def readTxt(filePath):
def read_txt(filePath):
    f = open(filePath, encoding="utf-8")
    lines = f.readlines()
    f.close()
@@ -48,12 +47,12 @@
# 加载图层
def loadLayers(prj, args):
def load_layers(prj, args):
    for layer in prj.mapLayers().values():
        prj.removeMapLayer(layer)
    args.authid = None
    lines = readTxt(args.file)
    lines = read_txt(args.file)
    for i in range(0, len(lines)):
        if len(lines[i]) == 0:
            continue
@@ -69,29 +68,17 @@
            print("authid: " + args.authid)
            prj.setCrs(layer.crs())
        for j in range(1, layer.bandCount() + 1):
            layer.dataProvider().setNoDataValue(j, args.noData)
        prj.addMapLayer(layer)
# 获取参数
def getOps(args):
def get_ops(args):
    ops = {
        'BACKGROUND_COLOR': QColor(0, 0, 0, 0),
        'DPI': 96,
        'EXTENT': args.ext,
        'METATILESIZE': 4,
        'OUTPUT_DIRECTORY': args.out,
        # 'OUTPUT_HTML': 'TEMPORARY_OUTPUT',
        'OUTPUT_HTML': args.out + "\\view.html",
        'QUALITY': 100,
        'TILE_FORMAT': 0,
        'TILE_HEIGHT': 256,
        'TILE_WIDTH': 256,
        'TMS_CONVENTION': False,
        'ZOOM_MAX': args.max,
        'ZOOM_MIN': args.min
        'DATA_TYPE': 5,
        'OUTPUT': args.out,
        'NODATA_INPUT': 0,
        'NODATA_OUTPUT': 0,
        'OPTIONS': ''
    }
    print(ops)
@@ -102,8 +89,8 @@
def merge(args):
    import processing
    ops = getOps(args)
    processing.run("qgis:tilesxyzdirectory", ops)
    ops = get_ops(args)
    processing.run("gdal:merge", ops)
# 初始化
@@ -119,7 +106,7 @@
    # prj.read(args.qgz)
    print("FileName: " + prj.fileName())
    loadLayers(prj, args)
    load_layers(prj, args)
    merge(args)
@@ -130,4 +117,5 @@
if __name__ == '__main__':
    timer = time.time()
    init()
    print(f'耗时:{time.time() - timer:.2f}s')