Ejemplo n.º 1
0
 def create_grid_halo(crs):
     min_x = -180
     min_y = -90
     max_x = 180
     max_y = 90
     step = 2
     coords = []
     for y in range(min_y, max_y + step, step):
         coords.append((min_x, y))
     for x in range(min_x + step, max_x + step, step):
         coords.append((x, max_y))
     for y in reversed(range(min_y, max_y + step, step)):
         coords.append((max_x, y))
     for x in reversed(range(min_x + step, max_x + step, step)):
         coords.append((x, min_y))
     coords.append(coords[0])
     # noinspection PyCallByClass,PyArgumentList
     geom = QgsGeometry.fromPolygonXY(
         [[QgsPointXY(pair[0], pair[1]) for pair in coords]]).asQPolygonF()
     # noinspection PyArgumentList
     transformer = QgsCoordinateTransform(WGS84, crs, QgsProject.instance())
     transformer.transformPolygon(geom)
     # noinspection PyArgumentList
     return QgsGeometry.fromQPolygonF(geom)