这里生成缓冲区肯定是根据点进行生成的,说是生成缓冲区其实是根据点生成面。具体思路如下:
首先根据点获取要生成矩形缓冲区的四个顶点的坐标,然后将这四个点生成面即可得到所谓的矩形缓冲区。

//首先获取要生成缓冲区的点
IPoint pPoint = new PointClass();
pPoint.X = cPointList[i].point.X;
pPoint.Y = cPointList[i].point.Y;
//获取生成的缓冲区的四个顶点的坐标
IPointCollection pPC = new MultipointClass();
for (int j = 0; j < 4; j++)
{
IPoint pPoint1 = new PointClass();
if (j == 0)
{
pPoint1.X = pPoint.X - 2.55;
pPoint1.Y = pPoint.Y - 2.55;
}
if (j == 1)
{
pPoint1.X = pPoint.X - 2.55;
pPoint1.Y = pPoint.Y + 2.55;
} if (j == 2)
{
pPoint1.X = pPoint.X + 2.55;
pPoint1.Y = pPoint.Y + 2.55;
} if (j == 3)
{
pPoint1.X = pPoint.X + 2.55;
pPoint1.Y = pPoint.Y - 2.55;
}
pPC.AddPoint(pPoint1);
}
IGeometryCollection pGeometryCollection = new PolygonClass();
Ring ring = new RingClass(http://www.my516.com);
object missing = Type.Missing;
ring.AddPointCollection(Points);
pGeometryCollection.AddGeometry(ring as IGeometry, ref missing, ref missing);
IPolygon polyGonGeo = pGeometryCollection as IPolygon;
polyGonGeo.Close();
polyGonGeo.SimplifyPreserveFromTo();
pGeo =polyGonGeo as IGeometry;
//创建要素
pFeatureBuffer = pFeaClaPolygon.CreateFeatureBuffer();
pFeatureBuffer.Shape = pGeo;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
结果图:下图为点生成矩形缓冲区的最终成果。

这个是融合之后的图形。

当然在进行顶点坐标输入的时候需要按照顺序,不然就会出现下边这种情况:
---------------------

ArcEngine生成矩形缓冲区的更多相关文章

  1. ArcGIS案例教程-通过点坐标生成矩形

    ArcGIS案例教程-通过点坐标生成矩形 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 功能:以点坐标为中心,通过指定尺寸,生成矩形 成果形式:绿色工具,免安装,不 ...

  2. Java基础 awt Graphics2D 生成矩形图片并向内写入字符串

        JDK :OpenJDK-11      OS :CentOS 7.6.1810      IDE :Eclipse 2019‑03 typesetting :Markdown   code ...

  3. Java基础 awt Graphics2D 生成矩形图片并向其中画一条直线

        JDK :OpenJDK-11      OS :CentOS 7.6.1810      IDE :Eclipse 2019‑03 typesetting :Markdown   code ...

  4. OpenCV 生成矩形mask

    生成mask的一种操作 cv::Mat mask = cv::Mat::zeros(300, 300, CV_8UC1); mask(cv::Rect(100,150,100, 50)) = 255; ...

  5. MATLAB 随机生成互不重叠的多个矩形

    建立m文件draw_rectangle.m. 其中p生成矩形的个数 function draw_rectangle(p) t = 1; x = rand(1)*10; y = rand(1)*10; ...

  6. AE二次开发中几个功能速成归纳(符号设计器、创建要素、图形编辑、属性表编辑、缓冲区分析)

    /* * 实习课上讲进阶功能所用文档,因为赶时间从网上抄抄改改,凑合能用,记录一下以备个人后用. * * ----------------------------------------------- ...

  7. 旧书重温:0day2【1】 简单的缓冲区溢出案例

    0x01 准备: VMwarePlayer (我是在360软件管家那搜到的下载的) xp sp2 http://user.qzone.qq.com/252738331/blog/1357138598 ...

  8. Java NIO流 -- 缓冲区(Buffer,ByteBuffer)

    用来定义缓冲区的所有类都以Buffer类为基类,Buffer定义了缓冲区的基本特征. 直接子类: ByteBuffer 用来存储byte类型的缓冲区,可以在这种缓冲区中存储任意其他基本类型的二进制值( ...

  9. ArcGIS API for JavaScript 4.2学习笔记[26] 缓冲区分析【基于geometryEngine工具类】

    要说GIS空间分析最经典的例子,就是缓冲区分析了. 本例使用geometryEngine来绘制缓冲区环.因为官方给的例子有3D和2D场景,所以就会显得比较复杂. 当鼠标在视图上点击时,就会生成一个缓冲 ...

随机推荐

  1. [Vue @Component] Place Content in Components with Vue Slots

    Vue's slots enable you to define where content of a component should land when you define the conten ...

  2. C语言实现单链表节点的删除(带头结点)

    我在之前一篇博客<C语言实现单链表节点的删除(不带头结点)>中具体实现了怎样在一个不带头结点的单链表的删除一个节点,在这一篇博客中我改成了带头结点的单链表.代码演示样例上传至 https: ...

  3. 怎样一步步用D3画多曲线

    Bar Chart: http://bl.ocks.org/mbostock/3885304 这是一个画柱状图的基本形式. Axis是数轴: tickets是数轴上的标尺.tickets第二个參数% ...

  4. 为部门整理的mysql_db使用军规

    mysql_db使用军规: 1.禁止开发測试人员在IDC环境手工删除和改动数据 2.全部需求通过DB工具系统提交 3.禁止在IDC环境DB进行測试 4.IDC环境提交的sql语句一定要经过非正式环境验 ...

  5. luogu2744 量取牛奶

    题目大意 给出一个整数集合$A$,总数$N$,规定一个整数序列$\{a_n\}, \forall i, a_i\in A$满足条件:存在一个正整数序列$\{k_n\}$,使得$\sum_{i=1}^n ...

  6. 洛谷 P2055 [ ZJOI 2009 ] 假期的宿舍 —— 二分图匹配

    题目:https://www.luogu.org/problemnew/show/P2055 二分图匹配: 注意要连边的话对方必须有床! 代码如下: #include<iostream> ...

  7. IJ:IJ笔记1

    ylbtech-IJ:IJ笔记1 1. 下拉框返回顶部 1. <form:select id="type" path="baseId" class=&qu ...

  8. 新版chrome调整开发者工具位置方式改变

    转自:https://blog.csdn.net/gsls200808/article/details/70244150 本文所指新版56.0.2924.87 (64-bit) 原来F12可以看到窗口 ...

  9. 【WIP】Rails Client Side Document

    创建: 2017/09/15 更新: 2019/04/14 删除其他语言的表述 更新: 2017/10/14 标题加上[WIP]  引入JavaScrpit/CSS  manifesto  n. 货单 ...

  10. DFS之城堡问题

    2019-06-01 17:54:51 坚持!! 题目链接: http://bailian.openjudge.cn/practice/2815 #include <bits/stdc++.h& ...