Arcgis在已有的点中随机选点
甲方给的需求是在619个面要素里生成随机点,拿到这个需求我首先想到的是,arcgis工具箱里有【创建随机点】相关的工具,不过经过我的一番百度和实测,发现了一个更符合我需求的工具【子集要素】。
方法一【子集要素】
首先是将619个面生成中心点,然后使用【子集要素】这个工具,在619个中心点中随机选点,工具详细使用方法如下:
- 在工具箱中搜索【子集要素】
2. 选择要抽稀的要素,例如【619个中心点】,【子集大小单位】和【训练要素的大小】这两个属性是关联的。图中是【PERCENTAGE_OF_INPUT】和【50】将会生成原数据50%的点位。
效果如图:
3. 也可以用【ABSOLUTE_VALUE】,精确要随机产生成点的个数,如图:
效果如图:
方法二【创建随机点】
这个工具的说明如下:
点数 [值或字段] (可选)
要随机生成的点的数量。
可将点数指定为长整型数值或指定为约束要素中的字段,其中约束要素需包含表示每个要素中要放置多少随机点的数值。
此字段选项仅对面约束要素或线约束要素有效。
如果点数以长整型数值的形式提供,则将在约束要素类中每个要素的内部或沿线生成该数量的随机点。
所以我先把这619个要素面合并成了1个要素面,再使用这个作为生成随机点的区域。
总结
这两种方法,一种是随机生成点位,随机性强,强制保证间隔,缺点是不能保证一网格一点;
一种是中心点筛选,能保证一网格一点,点位置都固定。