ArcGis 创建含孔洞面要素 C#

 1             IGeometryCollection geometryCollection = new PolygonClass();
 2             IPointCollection pointCollection_ExteriorRing = new RingClass();
 3             pointCollection_ExteriorRing.AddPoint(upperLfetPoint);
 4             pointCollection_ExteriorRing.AddPoint(upperRightPoint);
 5             pointCollection_ExteriorRing.AddPoint(lowerRightPoint);
 6             pointCollection_ExteriorRing.AddPoint(lowerLeftPoint);
 7             IRing ring_Exterior = pointCollection_ExteriorRing as IRing;
 8             ring_Exterior.Close();
 9             geometryCollection.AddGeometry(ring_Exterior as IGeometry);
10
11             IPointCollection pointCollection_InteriorRing = new RingClass();
12             pointCollection_InteriorRing.AddPoint(quadriCorners.UpperLeft);
13             pointCollection_InteriorRing.AddPoint(quadriCorners.UpperRight);
14             pointCollection_InteriorRing.AddPoint(quadriCorners.LowerRight);
15             pointCollection_InteriorRing.AddPoint(quadriCorners.LowerLeft);
16             IRing ring_Interior = pointCollection_InteriorRing as IRing;
17             ring_Interior.Close();
18             geometryCollection.AddGeometry(ring_Interior as IGeometry);
19
20
21             IPolygon polygon = geometryCollection as IPolygon;
22             IFeature featureBack = featureClass.CreateFeature();
23             featureBack.Shape = polygon;
24             featureBack.Store();    

原文地址:https://www.cnblogs.com/yzhyingcool/p/11517050.html

时间: 2024-11-14 05:03:31

ArcGis 创建含孔洞面要素 C#的相关文章

ArcGis 创建Annotation注记要素类、添加注记要素 并加载到Activeview AO C#

AO中一般有两种方式存储图面注记元素,一种使用TextElement,它是文档级的元素,编辑后要通过文档(mxd)保存:另一种是使用Annotation要素类,它是一个独立的要素类(featureclass),需要存储到地理数据库中.使用Annotation featureclass 的方式更灵活.更强大,至于如何灵活,如何强大,待你用到便自知. 1.创建一个标准的Annotation要素类(StandardAnnotationClass) 1 public AnnotationMark(IFe

ArcGIS教程:3D 折线要素

什么是 3D 折线 (polyline) 要素? 面要素是一个 GIS 对象,其地理制图表达(一系列的 x 和 y 坐标对)作为其属性(或字段)之一存储在数据库的行中.某些线要素(例如地铁线)还需要包含 z 值或高度,以在 3D 空间对自身进行正确定位.这些对象必须作为3D 线要素进行建模. 3D 线要素会将其 z 值嵌入到其要素类的几何或 Shape 字段中.这意味着,为 3D 线创建的每个新折点都会自动包含 z 值,从而允许其将任意两点连接在一起 - 无论这些点在地面上.地面上方还是地面下方

ArcGIS 创建要素时提示“表已经被注册(table already registered)”

今天一位实施大哥在ArcCatalog中要重建一个要素类,所以就在ArcCatalog中连接上Oracle数据库,直接删除了要素类,然后重新创建了一个新的要素类,可是却报错“表已经被创建”,并提示不可以在'sde_table_registry'表中插入重复的键值,记得以前碰到过这种状态,删除的不彻底,虽然将数据库中的数据表删除了,可以在sde用户下的元数据表中的记录没有被清除,导致再次创建时报错. 既然如此,就到元数据表中将相关的信息删除掉好了,所以就到sde用户下删除了table_regist

ArcGIS创建要素类

在使用ARCGIS软件进行工作时,免不了要建立地理数据库和要素类之类的.一下是我创建文件地理数据库并在数据库中创建要素类写相关步骤: 1.启动软件,可以使用ARCCatalog直接进行创建也可以使用ArcMap中ARCCatalog窗口进行创建.总之需要用到ARCCatalog这个数据管理工具:这里我们直接启动ArcMap: 2.在ArcCatalog窗口文件连接中展开到你需要创建的位置的文件夹,右键单击选择新建——文件地理数据库,创建完成可进行重命名: 3.选择你创建好的文件地理数据,右键单击

ArcGIS教程:3D 面要素

什么是 3D 面要素? 面要素是一个 GIS 对象,其地理制图表达(用于封闭区域的一系列 x 和 y 坐标对)作为其属性(或字段)之一存储在数据库的行中.面要素有两个可能在 3D 模式下用于建模的单独部分:它们的外部周长线和内部区域.几乎所有实例中,只有在外部周长 需要包括 z 值或高度方可在 3D 空间中正确定位其自身时,才应将面建模为 3D 要素. 如果需要对面中内部区域 的 3D 碰撞进行建模,则只能使用多面体要素或功能面(如 TIN)方可满足绝大多数使用情况.这是因为只有正好存在三个折点

ArcGIS创建tpk切片缓存

一. 背景知识 1. tpk是什么? 切片包(.tpk)是在地图或栅格数据集中能作为 Web 切片或 Web 高程图层发布的一组切片(图像).此外,在 ArcGIS 应用程序中,切片包还可以用作底图. 切片封装在单个文件(.tpk 文件)中,您可以像其他文件一样对此文件进行共享.您可以通过电子邮件发送此文件.将其复制到网络区域中或将其上传到 ArcGIS Online 或 Portal for ArcGIS等. tpk文件的内部结构? 2. 为什么要创建地图缓存切片? 地图缓存切片GeoWebC

创建注记图层要素

创建完文本注记TextElement后,可以选择以屏幕注记的形式加到屏幕上,也可以通过下面的方式转为注记图层要素: IFeatureClass annocls = 获取注记图层 IDataset pDataset = annocls as IDataset; ITransactions pTransactions = pDataset.Workspace as ITransactions; pTransactions.StartTransaction(); IFDOGraphicsLayerFa

ArcGIS Server 10.1发布要素服务(FeatureLayer server)时遇到的数据库注册问题

在发布要素服务的最后一步遇到了一个问题: SEVERITY STATUS CODE DESCRIPTION NAME TYPE DATA FRAME High Unresolved 00090 Feature service requires a registered database Layers Data Frame Layers 关于发布要素之前的步骤网上有许多,例如:http://wenku.baidu.com/link?url=oiNu5MPyzgqCN7JLiW4XWEGb4VBUN

ArcGis 创建IWorkspace

string oshpDir = System.IO.Path.GetDirectoryName(outfile);            string oshpfilename = System.IO.Path.GetFileName(outfile); IWorkspaceFactory wsFactory = new ShapefileWorkspaceFactoryClass();            IWorkspaceName workspaceName = wsFactory.C