| | |
| | | print("argv = ", sys.argv[1:]) |
| | | parser = argparse.ArgumentParser(description='ArgUtils') |
| | | parser.add_argument("-src", type=str, default=get_full_path(), required=False) |
| | | parser.add_argument("-qgz", type=str, default="xyz.qgz", required=False) |
| | | parser.add_argument("-file", type=str, default=r"D:\xyz\dq.txt", required=False) |
| | | parser.add_argument("-out", type=str, default=r"D:\xyz\tiles\dq", required=False) |
| | | parser.add_argument("-min", type=int, default=4, required=False) |
| | | parser.add_argument("-qgz", type=str, default=r"xyz.qgz", required=False) |
| | | parser.add_argument("-file", type=str, default=r"D:\xyz\4.5g\tif.txt", required=False) |
| | | parser.add_argument("-out", type=str, default=r"D:\xyz\4.5g\png", required=False) |
| | | parser.add_argument("-min", type=int, default=12, required=False) |
| | | parser.add_argument("-max", type=int, default=18, required=False) |
| | | parser.add_argument("-noData", type=int, default=0, required=False) |
| | | |
| | | return parser.parse_args() |
| | | |
| | |
| | | prj.setCrs(layer.crs()) |
| | | |
| | | for j in range(1, layer.bandCount() + 1): |
| | | layer.dataProvider().setNoDataValue(j, 0) |
| | | layer.dataProvider().setNoDataValue(j, args.noData) |
| | | |
| | | prj.addMapLayer(layer) |
| | | |
| | |
| | | |
| | | |
| | | # 获取XYZ参数 |
| | | def getXYZOps(args, level): |
| | | def getXYZOps(args): |
| | | return { |
| | | 'BACKGROUND_COLOR': QColor(0, 0, 0, 0), |
| | | 'DPI': 96, |
| | | 'EXTENT': args.ext, |
| | | 'METATILESIZE': 4, |
| | | 'OUTPUT_DIRECTORY': args.out, |
| | | 'OUTPUT_HTML': args.out + "\\view.html" if args.min == level else 'TEMPORARY_OUTPUT', |
| | | # 'OUTPUT_HTML': 'TEMPORARY_OUTPUT', |
| | | 'OUTPUT_HTML': args.out + "\\view.html", |
| | | 'QUALITY': 100, |
| | | 'TILE_FORMAT': 0, |
| | | 'TILE_HEIGHT': 256, |
| | | 'TILE_WIDTH': 256, |
| | | 'TMS_CONVENTION': True, |
| | | 'ZOOM_MAX': level, |
| | | 'ZOOM_MIN': level |
| | | 'TMS_CONVENTION': False, |
| | | 'ZOOM_MAX': args.max, |
| | | 'ZOOM_MIN': args.min |
| | | } |
| | | |
| | | |
| | |
| | | def createXYZ(args): |
| | | import processing |
| | | |
| | | for i in range(args.min, args.max + 1): |
| | | ops = getXYZOps(args, i) |
| | | print(ops) |
| | | processing.run("qgis:tilesxyzdirectory", ops) |
| | | ops = getXYZOps(args) |
| | | print(ops) |
| | | processing.run("qgis:tilesxyzdirectory", ops) |
| | | |
| | | |
| | | # 初始化 |
| | |
| | | args = get_args() |
| | | prj = QgsProject.instance() |
| | | prj.read(os.path.join(args.src, args.qgz)) |
| | | # prj.read(args.qgz) |
| | | print("FileName: " + prj.fileName()) |
| | | |
| | | loadLayers(prj, args) |
| | | prj.write(args.file.replace(".txt", ".qgz")) |
| | | # prj.write(args.file.replace(".txt", ".qgz")) |
| | | |
| | | args.ext = getExtent(prj) |
| | | createXYZ(args) |