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

使用QgsRectangle()函数在Python中生成多个随机地理矩形范围

发布时间:2023-12-16 22:10:00

QgsRectangle()是QGIS中用于定义地理矩形范围的类。可以使用它来创建随机的地理矩形范围。下面是一个使用QgsRectangle()函数生成多个随机地理矩形范围的示例代码:

import random
from qgis.core import QgsRectangle

# 定义边界范围
min_x = 0
max_x = 10
min_y = 0
max_y = 10

# 生成随机地理矩形范围
num_rectangles = 5

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(left_bottom_y, max_y)
    
    # 创建地理矩形对象
    rectangle = QgsRectangle(left_bottom_x, left_bottom_y, right_top_x, right_top_y)
    
    # 打印矩形范围的四个角点坐标
    print("Left Bottom: ", rectangle.left(), ",", rectangle.bottom())
    print("Right Top: ", rectangle.right(), ",", rectangle.top())
    print("---------------------------")

上述示例代码中,首先我们定义了一个边界范围,即左下角的坐标为(0, 0)、右上角的坐标为(10, 10)。然后,我们通过循环来生成多个随机的地理矩形范围。在每次循环中,我们使用random.uniform()函数生成矩形的左下角和右上角坐标,确保左下角坐标小于右上角坐标。最后,我们使用QgsRectangle()函数创建地理矩形对象,并打印出矩形范围的四个角点坐标。

输出示例如下:

Left Bottom:  9.91743662869102 , 4.645588916343474
Right Top:  9.95276117424035 , 4.862141760509117
---------------------------
Left Bottom:  0.4095242253011132 , 6.647898177698203
Right Top:  9.25487064216771 , 9.993042287880683
---------------------------
Left Bottom:  0.13650800332546278 , 2.2040663451715607
Right Top:  1.1413916825062633 , 6.98878461903186
---------------------------
Left Bottom:  7.900829840015948 , 4.843204584028171
Right Top:  9.831053717572976 , 9.00523689428572
---------------------------
Left Bottom:  1.469912137706081 , 8.319724520574912
Right Top:  8.155584406653713 , 9.24678899895633
---------------------------

以上示例代码通过使用QgsRectangle()函数生成了5个随机的地理矩形范围,并打印出了每个矩形范围的左下角和右上角坐标。你可以根据需要修改边界范围和生成矩形的数量。