欢迎访问宙启技术站
智能推送

使用QgsRectangle()函数在Python中生成多个随机地理范围的示例代码

发布时间:2023-12-16 22:12:38

以下是一个使用QgsRectangle()函数在Python中生成多个随机地理范围的示例代码:

import random

from qgis.core import QgsRectangle

# 定义地理范围的边界
min_x = -180
max_x = 180
min_y = -90
max_y = 90

# 生成10个随机地理范围
num_rectangles = 10
rectangles = []
for _ in range(num_rectangles):
    # 随机生成左下角和右上角的坐标
    left_bottom_x = random.uniform(min_x, max_x)
    left_bottom_y = random.uniform(min_y, max_y)
    right_top_x = random.uniform(left_bottom_x, max_x)
    right_top_y = random.uniform(min_y, left_bottom_y)
    
    # 创建QgsRectangle对象
    rectangle = QgsRectangle(left_bottom_x, left_bottom_y, right_top_x, right_top_y)
    
    # 添加到列表中
    rectangles.append(rectangle)

# 打印生成的地理范围
for index, rectangle in enumerate(rectangles):
    print(f"Rectangle {index + 1}:")
    print(f"Left bottom point: ({rectangle.xMinimum()}, {rectangle.yMinimum()})")
    print(f"Right top point: ({rectangle.xMaximum()}, {rectangle.yMaximum()})")
    print("====================")

使用上述代码,我们可以生成指定数量的随机地理范围,并打印其左下角和右上角的点坐标。

示例输出:

Rectangle 1:
Left bottom point: (59.419961983192035, -59.36113996504241)
Right top point: (145.9295889261204, 49.40951562432156)
====================
Rectangle 2:
Left bottom point: (-113.19082524122091, -42.263103565803516)
Right top point: (-5.523478551759107, 61.30919561453247)
====================
Rectangle 3:
Left bottom point: (52.05543737672101, -77.41233630811873)
Right top point: (178.44532674134735, -8.448332007479423)
====================
...

以上代码使用QgsRectangle()函数来生成随机的地理范围。通过使用random模块生成随机坐标来定义每个地理范围的左下角和右上角。生成的地理范围QgsRectangle对象被添加到一个列表中,并使用循环打印出每个地理范围的左下角和右上角坐标。

你可以根据需要调整生成随机地理范围的数量和边界值。