0

アドレス ポイントを描画し、それらが大きなシェープファイル内にあるかどうかを確認しています。ただし、ここでは、URBAN タイプに該当するかどうかも確認したいと思います。この情報は、列の 1 つが TYPE である機能のリストとして提供されます。欲しいポイントが都会的かそうでないか(urban=True)なら合格

共催ポイントの私のコード:

def get_random_point_in_polygon(region, urban=None):
    while True:
        address = ogr.Geometry(ogr.wkbPoint)    
        address.AddPoint(random.uniform(region.get_region().geometry().GetEnvelope()[0],
                                    region.get_region().geometry().GetEnvelope()[1]),
                     random.uniform(region.get_region().geometry().GetEnvelope()[2],
                                    region.get_region().geometry().GetEnvelope()[3]))
        if region.get_region().geometry().Contains(address) and XXXXXXXXXX:
            return address

Region は大きなシェープファイルです これで、すべてが region 内にある他の 52 個のフィーチャのリストもできました。それらには、情報 URBAN または RURAL を含む FIELD があります。

XXXXXX を次のようなコードで満たしたい: 「住所が FIELD = URBAN であるリスト内のいずれかの機能内にある場合」

何か案は?何かのようなもの:

any(x in a for x in b)

しかし、シェープファイルの場合...

4

1 に答える 1