AE CreateFeatureClass 创建shp. 删除shp. 向shp中添加要素

复制代码
   /// <summary>/// 创建多边形shp/// </summary>/// <param name="pPolygon"></param>/// <param name="shpPath"></param>public static  void CreatePolygonFeatureClass(IPolygon pPolygon, string shpfolder,string shpname){IWorkspaceFactory pWorkSpaceFac = new ShapefileWorkspaceFactoryClass();IFeatureWorkspace pFeatureWorkSpace = pWorkSpaceFac.OpenFromFile(shpfolder,0) as IFeatureWorkspace;//创建字段集2IFeatureClassDescription fcDescription = new FeatureClassDescriptionClass();IObjectClassDescription ocDescription = (IObjectClassDescription)fcDescription;//创建必要字段IFields fields = ocDescription.RequiredFields;int shapeFieldIndex = fields.FindField(fcDescription.ShapeFieldName); IField field = fields.get_Field(shapeFieldIndex);IGeometryDef geometryDef = field.GeometryDef; IGeometryDefEdit geometryDefEdit = (IGeometryDefEdit)geometryDef; //geometryDefEdit.GeometryType_2 = esriGeometryType.esriGeometryPoint;//geometryDefEdit.SpatialReference_2 = spatialReference;geometryDefEdit.GeometryType_2 = esriGeometryType.esriGeometryPolygon;ISpatialReferenceFactory pSpatialRefFac = new SpatialReferenceEnvironmentClass();IProjectedCoordinateSystem pcsSys = pSpatialRefFac.CreateProjectedCoordinateSystem((int)esriSRProjCS4Type.esriSRProjCS_Xian1980_3_Degree_GK_Zone_39);geometryDefEdit.SpatialReference_2 = pcsSys;IFieldChecker fieldChecker = new FieldCheckerClass();IEnumFieldError enumFieldError = null;IFields validatedFields = null; //将传入字段 转成 validatedFieldsfieldChecker.ValidateWorkspace = (IWorkspace)pFeatureWorkSpace;fieldChecker.Validate(fields, out enumFieldError, out validatedFields);pFeatureWorkSpace.CreateFeatureClass(shpname, validatedFields, ocDescription.InstanceCLSID, ocDescription.ClassExtensionCLSID, esriFeatureType.esriFTSimple, fcDescription.ShapeFieldName, "");}
复制代码

 //删除shp

复制代码
//如果已存在,那么删除IFeatureClass pFCChecker = pFeatureWorkSpace.OpenFeatureClass(shpname);if (pFCChecker != null){IDataset pds = pFCChecker as IDataset;pds.Delete();}
复制代码

//向shp中添加要素

复制代码
        /// <summary>/// 向多边形shp中添加要素/// </summary>/// <param name="pPolygon">多边形</param>/// <param name="pFeatureClass">多边形shp</param>public static void AddFeatureToFeatureClass(IPolygon pPolygon,IFeatureClass pFeatureClass){IFeature pFeature = pFeatureClass.CreateFeature();pFeature.Shape = pPolygon;pFeature.Store();                }
复制代码

 

//官方例子

复制代码
  public void IFeatureClass_CreateFeature_Example(IFeatureClass featureClass)  {       //Function is designed to work with polyline data     if (featureClass.ShapeType != ESRI.ArcGIS.Geometry.esriGeometryType.esriGeometryPolyline) { return; }//create a geometry for the features shape       ESRI.ArcGIS.Geometry.IPolyline polyline = new ESRI.ArcGIS.Geometry.PolylineClass();    ESRI.ArcGIS.Geometry.IPoint point = new ESRI.ArcGIS.Geometry.PointClass();       point.X = 0; point.Y = 0;      polyline.FromPoint = point;point = new ESRI.ArcGIS.Geometry.PointClass();        point.X = 10; point.Y = 10;        polyline.ToPoint = point;IFeature feature = featureClass.CreateFeature();//Apply the constructed shape to the new features shape       feature.Shape = polyline;ISubtypes subtypes = (ISubtypes)featureClass;       IRowSubtypes rowSubtypes = (IRowSubtypes)feature;    if (subtypes.HasSubtype)// does the feature class have subtypes?        {  rowSubtypes.SubtypeCode = 1; //in this example 1 represents the Primary Pipeline subtype       }// initalize any default values that the feature has       rowSubtypes.InitDefaultValues();//Commit the default values in the feature to the database       feature.Store();//update the value on a string field that indicates who installed the feature.  feature.set_Value(feature.Fields.FindField("InstalledBy"), "K Johnston");//Commit the updated values in the feature to the database     feature.Store();   }
复制代码

转载于:https://www.cnblogs.com/CSharpLover/p/5787655.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/430239.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

aes密文长度_RSA加密密文可变(一句话说明)

先来看一个搜索结果&#xff1a;RSA算法本质上是基于数学【对极大整数做因数分解的难度】的原理&#xff0c;so 密文本质上是一堆有规则的数字经过编码和【填充】的结果。原文和加密密钥相同&#xff0c;在java环境&#xff0c;默认Padding模式下每次生成的密文是相同的&#x…

网络分析之networkx(转载)

图的类型 Graph类是无向图的基类&#xff0c;无向图能有自己的属性或参数&#xff0c;不包含重边&#xff0c;允许有回路&#xff0c;节点可以是任何hash的python对象&#xff0c;节点和边可以保存key/value属性对。该类的构造函数为Graph(dataNone&#xff0c;**attr)&#xf…

sqlite管理工具_Liquibase 数据库版本管理工具:1.安装

1.Liquibase 是什么粘一段官方的解释Track, version, and deploy database changes跟踪、管理和应用数据库变化说白了&#xff0c;就是一个将你的数据库脚本转化为xml格式保存起来。其中包含了你对数据库的改变&#xff0c;以及数据库的版本信息&#xff0c;方便数据的升级和回…

BZOJ2720: [Violet 5]列队春游

2720: [Violet 5]列队春游 Time Limit: 5 Sec Memory Limit: 128 MBSubmit: 173 Solved: 125[Submit][Status][Discuss]Description Input Output Sample Input Sample Output HINT 题解&#xff1a;对于这种题目我只能呵呵一笑欺负我是单身汪&#xff0c;哎&#xff01; 一、…

面向对象(二)——三大特性(封装、继承、多态)

一、封装 目的&#xff1a;保护类&#xff0c;让类更加安全。 做法&#xff1a;让类里面的成员变量变为私有&#xff08;即访问修饰符&#xff09;的&#xff0c;做相应的方法或者属性去间接的操作成员变量 ※访问修饰符 private 私有的 只能在该类中访问 protec…

伸展树的代码实现

一、伸展树的数据结构 typedef struct Node {int key; struct Node *lch,*rch,*parent; }* Node ,* Tree; 二、伸展树的基础操作 下面几个函数中&#xff0c;设x 的父节点为 p, p的父节点为g 。 zig( t , x ) 右旋。当p是根节点&#xff0c;x是p的左孩子&#xff0c;将…

枚举命名规范_UE4 C++基础教程 - 编码规范

为什么要学习编码规范&#xff1f;良好的编码规范不仅利于项目维护&#xff0c;也增加了代码辨识度。使我们在阅读代码时能够更加清晰的理解代码意图。维护编码规范不是一件机械化的工作&#xff0c;它更像是一门艺术&#xff0c;让我们在有限的规范内发挥自己的创造力。除此之…

Cocos2d-x之Log输出机制

| 版权声明&#xff1a;本文为博主原创文章&#xff0c;未经博主允许不得转载。 在cocos2d-x中&#xff0c;我们使用log这个函数进行输出&#xff0c;log可以输出很多参数&#xff0c;它的使用方式就和使用c语言中的printf的使用方式差不多。log其实是一个跨平台的日志输出的…

python接口测试jason_Python 接口测试之Json数据文件操作

引言 前面说过接口测试就是数据的测试&#xff0c;在测试之前&#xff0c;需要准备好测试数据&#xff0c;而测试数据可以用数据库、excel、txt和csv方式&#xff0c;当然还有一种方式&#xff0c;那就是使用json文件来储存测试数据。常用的方式就是这些。 设计思路 python读取…

城市轮廓线求解

问题描述 每一个建筑物用一个三元组表示(L, H, R), 表示左边界, 高度和右边界,轮廓线用X,Y,X,Y…这样的交替式表示,给N个建筑&#xff0c;求轮廓线。 总体思路 首先&#xff0c;要将建筑物离散成点或线&#xff0c;方便运算。将建筑物表示成&#xff08;L,H&#xff09;,(R,…

wpf的listbox循环数据滚动_滚动版 CentOS Stream 和 Fedora 的关系

如果 CentOS 现在位于 RHEL 的上游&#xff0c;那么 Fedora 会发生什么&#xff1f;那不是 Fedora 在 Red Hat 生态系统中的角色吗&#xff1f;-- Matthew Miller&#xff08;作者&#xff09;一封来自 Fedora 项目负责人办公室的信件&#xff1a;&#xff08;LCTT 译注&#x…

求无序序列每个元素最接近的值

1、问题描述 给一个n个元素的线性表A&#xff0c;对于每个数Ai&#xff0c;找到它之前的数中&#xff0c;和它最接近的数。 即对于每个i&#xff0c;求 Ci min{ |Ai -Aj | | 1< j < i} 1.2算法分析 有两种思路可以解决上诉问题&#xff1a; &#xff08;1&#xff0…

maven引入springframework的猫腻

看官网的quickstart&#xff0c;以为maven只要将quickstart里的配置复制到项目里就好了&#xff0c;但是在项目中使用jdbc和事物时&#xff0c;都提示找不到相关的类&#xff0c;才知道原来官网文档还有猫腻。 maven引入spring框架 project下框架有点多&#xff0c;点spring …

bigdecimal 小于等于0_半场0-0比分的比赛,你需要注意这些

大家好&#xff0c;我是师弟&#xff0c;今天给大家带来有关于半场0-0比赛的分析。前段时间有朋友向我吐槽道&#xff1a;“最近买半场0-0的比赛输惨了”&#xff0c;经过询问了解到他是专挑半场0-0的比赛在中场的时候买入大1.5&#xff0c;没想到输多赢少。而他的想法可能也代…

将chart放入panel中出现滚动条_聊天场景在web前端开发中的体验与优化

在日常工作中&#xff0c;如下图的聊天场景是不是很熟悉&#xff0c;没错就是我们再熟悉不过的 QQ 和微信&#xff0c;一个正常的聊天界面大致上是长这个样子的&#xff1a;这种聊天窗口的消息流有两个明显的特点&#xff1a;最新的消息和滚动条初始位置需要在列表的最底部下拉…

一个(伪)MaterialDesign风格的博客园皮肤

皮肤长什么样&#xff0c;不用我说&#xff0c;相信各位点进来的看官都能看得一清二楚。 有关其他细节呢&#xff0c;也欢迎各位在我博客里逛逛&#xff0c;帮忙挑挑刺&#xff0c;提提建议。 由于水平有限&#xff0c;暂没能用CSS处理博客园的代码高亮字体&#xff0c;实在是有…

git checkout 单个文件_IntelliJ IDEA下的使用 Git

作者| JKYO链接 | cnblogs.com/pejsidney/p/9199115.html1、Git 简介Git是目前流行的分布式版本管理系统。它拥有两套版本库&#xff0c;本地库和远程库&#xff0c;在不进行合并和删除之类的操作时这两套版本库互不影响。也因此其近乎所有的操作都是本地执行&#xff0c;所以在…

小甲鱼c语言课后作业_知识,就是力量——山财“学习小课堂”助你蓄力

编者按少年&#xff0c;你渴望 知识的力量 吗&#xff1f;我们有山财最全的学习秘籍&#xff0c;只待你的耐心翻阅与潜心修炼&#xff01;接下来&#xff0c;就让我们一起查收学习干货~内容摘要本系列推送分为【悦览篇】【干货篇】【招募篇】三大模块。【悦览篇】编者会为大家推…

初步认识spring mvc

spring mvc 01Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架&#xff0c;即使用了MVC架构模式的思想&#xff0c;将web层进行职责解耦&#xff0c;基于请求驱动指的就是使用请求-响应模型&#xff0c;框架的目的就是帮助我们简化开发&…

sdk怎么用_PLC不支持OPC UA怎么办?别问了看完你就懂了

经常有人会烦恼这个问题&#xff1a;我的上位机软件什么功能都有&#xff0c;也支持OPC UA了&#xff0c;现在项目上准备用OPC UA的方式来获取我的PLC的数据&#xff0c;但是我的PLC却不支持OPC UA&#xff0c;怎么办呢&#xff1f;有的人碰到这个问题后就开始了“病急乱投医”…