| | |
| | | if len(lines[i]) == 0: |
| | | continue |
| | | |
| | | print("layer: " + lines[i]) |
| | | print("layer_" + str(i) + ": " + lines[i]) |
| | | layer = QgsRasterLayer(lines[i], "layer_" + str(i)) |
| | | if not layer.isValid() or layer.crs() is None: |
| | | print("layer_" + str(i) + ": failed to load!") |
| | |
| | | self.ymin = ymin |
| | | self.ymax = ymax |
| | | |
| | | |
| | | # 获取边界 |
| | | def getExtent(prj, args): |
| | | ex = None |
| | | for layer in prj.mapLayers().values(): |
| | | rect = layer.extent() |
| | | if ex is None: |
| | | ex = Rectangle(rect.xMinimum(), rect.xMaximum(), rect.yMinimum(), rect.yMaximum()) |
| | | continue |
| | | |
| | | if args.authid != layer.crs().authid(): |
| | | transform = QgsCoordinateTransform(QgsCoordinateReferenceSystem(layer.crs().authid()), QgsCoordinateReferenceSystem(args.authid), prj) |
| | | min = QgsPoint(rect.xMinimum(), rect.yMinimum()) |
| | | max = QgsPoint(rect.xMaximum(), rect.yMaximum()) |
| | | min.transform(transform) |
| | | max.transform(transform) |
| | | |
| | | if min.x() < ex.xmin: |
| | | ex.xmin = min.x() |
| | | if min.y() < ex.ymin: |
| | | ex.ymin = min.y() |
| | | if max.x() > ex.xmax: |
| | | ex.xmax = max.x() |
| | | if max.y() > ex.ymax: |
| | | ex.ymax = max.y() |
| | | |
| | | else: |
| | | if rect.xMinimum() < ex.xmin: |
| | | ex.xmin = rect.xMinimum() |
| | | if rect.yMinimum() < ex.ymin: |
| | | ex.ymin = rect.yMinimum() |
| | | if rect.xMaximum() > ex.xmax: |
| | | ex.xmax = rect.xMaximum() |
| | | if rect.yMaximum() > ex.ymax: |
| | | ex.ymax = rect.yMaximum() |
| | | |
| | | # -3640.3675,1734588.1947,2434663.1477,3677421.7047 [EPSG:32643] |
| | | # 123543.6722,2730986.0671,2732253.9315,3552923.0518 [EPSG:32643] |
| | | return str(ex.xmin) + "," + str(ex.xmax) + "," + str(ex.ymin) + "," + str(ex.ymax) + ' [' + args.authid + "]" |
| | | |
| | | |
| | | # 获取坐标点 |
| | | def setNewRect(ex, xmin, ymin, xmax, ymax): |
| | | p = QgsPoint(x, y) |
| | | |
| | | return p |
| | | |
| | | |
| | | def getExtent2(prj, args): |
| | | ex = None |
| | | for layer in prj.mapLayers().values(): |
| | | rect = layer.extent() |
| | |
| | | |
| | | if ex is None: |
| | | ex = Rectangle(rect.xMinimum(), rect.xMaximum(), rect.yMinimum(), rect.yMaximum()) |
| | | # print(layer.extent().asWktCoordinates()) |
| | | geo = QgsGeometry.fromWkt(layer.extent().asWktPolygon()) |
| | | continue |
| | | |
| | | if rect.xMinimum() < ex.xmin: |
| | |
| | | |
| | | # '-3640.3675,1734588.1947,2434663.1477,3677421.7047 [EPSG:32643]' |
| | | return str(ex.xmin) + "," + str(ex.xmax) + "," + str(ex.ymin) + "," + str(ex.ymax) + ' [' + args.authid + "]" |
| | | |
| | | |
| | | # 获取边界2 |
| | | def getExtent2(prj): |
| | | rt = None |
| | | for layer in prj.mapLayers().values(): |
| | | if rt is None: |
| | | rt = layer.extent() |
| | | continue |
| | | |
| | | rt = rt.combineExtentWith(layer.extent()) |
| | | |
| | | return str(rt.xMinimum()) + "," + str(rt.xMaximum()) + "," + str(rt.yMinimum()) + "," + str(rt.yMaximum()) |
| | | |
| | | |
| | | # 获取XYZ参数 |
| | |
| | | import processing |
| | | |
| | | ops = getXYZOps(args) |
| | | # processing.run("qgis:tilesxyzdirectory", ops) |
| | | processing.run("qgis:tilesxyzdirectory", ops) |
| | | |
| | | |
| | | # 初始化 |