ArcEngine生成矩形缓冲区

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

              //首先获取要生成缓冲区的点
                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();
              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
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值