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

//首先获取要生成缓冲区的点
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. C++与C的那些差异

    虽说C++是向后兼容C的,但C++与C还是存在许多差异.这里举了几个例子,也是我们很容易忽略的地方.如果你还知道其他的更多的Differences,或者发现什么错误,可以评论告诉我,大家一起学习进步. ...

  2. #HDU 3790 最短路径问题 【Dijkstra入门题】

    题目: 最短路径问题 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

  3. android从数据库中取音乐数据

    android从手机数据库中取音乐数据 直接贴代码 public void getMp3(){ list = new ArrayList<>(); Cursor mAudioCursor ...

  4. iOS_截屏并裁剪

    截图使用场景: watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcHJlX2VtaW5lbnQ=/font/5a6L5L2T/fontsize/400/fil ...

  5. CSDN 厦门大学线下编程比赛第一题:求和(同余定理)

    题目意思: 给定a和n,计算a+aa+aaa+aaaa+...+a...a(n个a) 的和. 输入描写叙述:測试数据有多组,以文件结尾.每行输入a,n(1<=a,n<=1000000). ...

  6. express的路由

    就是 app.get().app.post().app.all()啦,啦啦啦 (其中,var express = require("express"); var app = exp ...

  7. Linux下的ssh实验环境搭建与管理

    实验环境[size=10.5000pt]1:网桥模式[size=10.5000pt]2:安装好vmtoos[size=10.5000pt]3:安装好yum[size=10.5000pt]4:安装好ss ...

  8. 02-JZ2440裸机学习之GPIO实验【转】

    本文转载自:http://blog.csdn.net/fengyuwuzu0519/article/details/54910717 版权声明:本文为博主原创文章,转载请注明http://blog.c ...

  9. [HNOI2006]潘多拉的宝盒

    https://www.zybuluo.com/ysner/note/1250303 题面 给定\(s\)个自动机,如果某个自动机\(A\)能产生的所有串都能在自动机\(B\)中产生(即走相同\(0/ ...

  10. la3713

    2-sat...求解2-sat方案直接每个变量枚举就行了,lrj的代码很靠谱... #include<bits/stdc++.h> using namespace std; ; struc ...