我正在绘制地址点并检查它们是否在一个大的shapefile中。 不过,现在我还要检查它们是否属于市区类型。这些信息来自于一个功能列表,其中一列是TYPE。如果我想要的点是城市还是非城市,我就通过(城市=真)
我的共容点代码:
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
区域是一个大的形状文件 现在我还列出了其他52个特性,它们都在这个区域内。 它们有一个包含城市或农村信息的字段。你知道吗
我想用一个代码来实现我的XXXXXX,这个代码写着:“如果地址在列表中的任何特性中,那么字段=URBAN”
有什么想法吗? 比如:
any(x in a for x in b)
但对于形状文件。。。你知道吗
我想我找到了一个解决办法,虽然相当麻烦。 形状输入.urban是一个功能列表
但是,请注意,此代码非常昂贵。考虑到城市地区比农村地区小得多,这确实需要很长时间。你知道吗
好吧,这很管用。。。你知道吗
相关问题 更多 >
编程相关推荐