Answers:
QGIS在层边界方面所指的实际上是几何的包络或边界框。
我已经记录了一个解决方案,它可能是最接近自动化的解决方案(没有提交错误/功能请求)。
该过程基于两个对象的面积之比进行工作:要素几何及其边界框)。
检查以下步骤:
选择要处理的图层。
选择您要使用的功能。确保没有选择其他任何内容。
在Python控制台中运行以下代码段。
layer = qgis.utils.iface.activeLayer()
features = layer.selectedFeatures()
feature = features[0]
geom = feature.geometry()
env_rect = geom.boundingBox()
env_geom = QgsGeometry.fromRect(env_rect)
env_geom.area() / geom.area()
请确保按回车,因为最后一行不会自动返回。
Regular Points
再次运行该工具,但在框内输入所需的点数乘以脚本给出的输出。
在下面的示例中,我从输出中收到的结果是〜2的值。我要求在实际上只需要10个的过程中输出20个点。作为回报,我得到了8个,这非常接近。根据您使用的实际形状,结果会有所不同。
如果您愿意,可以自动(递归)“常规点”过程来修改变量,直到获得所需的数字为止。
屏幕截图建议了一种简单的解决方案。您可以使用来将多边形提取到新图层中Vector -> Data Managment Tools -> Split vector layer
,将其导入,然后选择具有所需要素(ID)的图层作为“常规点”采样器的输入图层。
如果只需要对少数多边形执行此操作,则找到它们并将它们分别导出可能会更有效。选择一个后,右键单击图层名称并选择Save Selection As ...
,选择shapefile,填写其余部分,然后像以前一样重复。
编辑:由于您已经具有单一功能,因此我想不出任何简单的方法,而是使用更密集的网格,再次将其与多边形相交,最后删除所有多余的点(最简单的方法是通过属性表,因为您既容易居中又总数)。
将定义查询应用于多边形(在1.8中,右键单击图层并选择“查询”)。然后运行该工具。删除查询。