由点生成一定半径的圆形缓冲区用buffer工具即可实现,若要由中心点生成一定边长的正方形可先做以边长的一半为半径的圆形缓冲区,然后用feature envelope to polygon工具生成圆的最小外接正方形即可。那么,怎么由中心点生成一定长宽的矩形呢?下面是一种方法,不一定是最简单的,只起个抛砖引玉的作用。
一、生成角点
1、备份数据
2、在点center_point.shp的属性表里建个字段(如例子中的id),令其等于fid(或objectid)
2.jpg
下载 (41.71 KB)
2011-2-24 11:02

1.jpg
下载 (41.49 KB)
2011-2-24 11:02

3、将center_point.shp导出到center_point_A.shp并加入到arcmap。
4、开始编辑,目标图层设为center_point_A.shp,选中center_point.shp的所有点,按Ctrl+C复制。
5、按Ctrl+V粘贴,点editor工具条菜单里的move,按长、宽的一半移动粘贴上的点,下面例子矩形的长(x方向)为20000,宽(y方向)为10000:
3.jpg
下载 (6.78 KB)
2011-2-24 11:02

6、再重复步骤5三次,只是移动的数字要改变,分别为(10000,-5000)、(-10000,5000)、(-10000,-5000)
经过上面的处理,center_point_A中除了原来的中心点外,又增加了矩形的四个角点:
4.jpg
下载 (31.46 KB)
2011-2-24 11:02

二、组合每个矩形的角点和中心点
用arctoolbox里的dissolve工具将每个矩形的角点和中心点合成一个multipoint,dissolve field用前面新建并赋值的那个字段(例子中的id)
5.jpg
下载 (52.27 KB)
2011-2-24 10:42

6.jpg
下载 (70.9 KB)
2011-2-24 10:42

三、用feature envelope to polygon生成矩形,注意选中划红线的选项,不然会提示错误
7.jpg
下载 (29.23 KB)
2011-2-24 10:47

8.jpg
下载 (33.69 KB)
2011-2-24 10:47

结果:
9.jpg
下载 (34.86 KB)
2011-2-24 11:02


附上练习数据center_point.shp,需要的可以下载
linshi.rar (1.99 KB)