开发者社区> 小新的蜡笔> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

ArcEngine创建内存FeatureClass

简介: 版权声明:欢迎评论和转载,转载请注明来源。 https://blog.csdn.net/zy332719794/article/details/37903625 public ...
+关注继续查看
版权声明:欢迎评论和转载,转载请注明来源。 https://blog.csdn.net/zy332719794/article/details/37903625
public static IFeatureClass CreateMemoryFeatureClass(
            ISpatialReference spatialReference, esriGeometryType geometryType, string name = "Temp")
        {
            // 创建内存工作空间
            IWorkspaceFactory pWSF = new InMemoryWorkspaceFactoryClass();
            IWorkspaceName pWSName = pWSF.Create("", "Temp", null, 0);
            IName pName = (IName)pWSName;
            IWorkspace memoryWS = (IWorkspace)pName.Open();

            IField field = new FieldClass();
            IFields fields = new FieldsClass();
            IFieldsEdit fieldsEdit = fields as IFieldsEdit;
            IFieldEdit fieldEdit = field as IFieldEdit;


            fieldEdit.Name_2 = "OBJECTID";
            fieldEdit.Type_2 = esriFieldType.esriFieldTypeOID;
            fieldEdit.IsNullable_2 = false;
            fieldEdit.Required_2 = false;
            fieldsEdit.AddField(field);

            field = new FieldClass();
            fieldEdit = field as IFieldEdit;
            IGeometryDef geoDef = new GeometryDefClass();
            IGeometryDefEdit geoDefEdit = (IGeometryDefEdit)geoDef;
            geoDefEdit.AvgNumPoints_2 = 5;
            geoDefEdit.GeometryType_2 = geometryType;
            geoDefEdit.GridCount_2 = 1;
            geoDefEdit.HasM_2 = false;
            geoDefEdit.HasZ_2 = false;
            geoDefEdit.SpatialReference_2 = spatialReference;
            fieldEdit.Name_2 = "SHAPE";
            fieldEdit.Type_2 = esriFieldType.esriFieldTypeGeometry;
            fieldEdit.GeometryDef_2 = geoDef;
            fieldEdit.IsNullable_2 = true;
            fieldEdit.Required_2 = true;
            fieldsEdit.AddField(field);

            field = new FieldClass();
            fieldEdit = field as IFieldEdit;
            fieldEdit.Name_2 = "Code";
            fieldEdit.Type_2 = esriFieldType.esriFieldTypeSmallInteger;
            fieldEdit.IsNullable_2 = true;
            fieldsEdit.AddField(field);

            //创建要素类
            IFeatureWorkspace featureWorkspace = (IFeatureWorkspace)memoryWS;
            IFeatureClass featureClass = featureWorkspace.CreateFeatureClass(
                name, fields, null, null, esriFeatureType.esriFTSimple, "SHAPE", "");

            return featureClass;
        }

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Axure实战10:创建一个SearchEngine搜索引擎
Axure实战10:创建一个SearchEngine搜索引擎
19 0
编写Java程序,模拟文件操作过程中的异常处理
编写Java程序,模拟文件操作过程中的异常处理
24 0
阿里Java编码手册实战详解-集合处理篇
阿里Java编码手册实战详解-集合处理篇
38 0
Angular 依赖注入 useClass 的实例创建位置
Angular 依赖注入 useClass 的实例创建位置
28 0
【直播预告】:Java Spring Boot开发实战系列课程【第12讲】:Spring Boot 2.0性能监控实战与Actuator机制解析
应用程序性能监控和日志采集管理是非常重要问题,Java Spring Boot网站、API等应用程序如何进行远程性能监控、日志采集,远程控制,本次课程一起深入学习Actuator新特性与API机制。
2601 0
【直播预告】:Java Spring Boot实战系列课程(第十讲):Spring Boot 2.0实战高并发分布式缓存
Redis作为开源分布式高并发缓存,在互联网公司高并发系统中广泛使 用,本次课程讲解如何使用最新的Java Spring Data实战Redis,以及底层API的实现源码
1469 0
《阿里巴巴Java Spring Boot 2.0开发实战课程》课程视频和例子代码下载
《阿里巴巴Java Spring Boot 2.0开发实战课程》系列免费课程 视频 ,例子代码
3504 0
网站安全之nginx的配置创建访问网站密码认证
  最近我们Sinesafe在处理nginx+php+mysql架构的客户网站安全方面要配置后台的二级密码访问验证处理过程中要用到nginx的配置来完成这个二级密码的设置安全部署。 下面由我来简要说一下在nginx配置服务中,创建访问网站密码认证的方法。
1001 0
Flink批处理中的增量迭代
对某些迭代而言并不是单次迭代产生的下一次工作集中的每个元素都需要重新参与下一轮迭代,有时只需要重新计算部分数据同时选择性地更新解集,这种形式的迭代就是增量迭代。增量迭代能够使得一些算法执行得更高效,它可以让算法专注于工作集中的“热点”数据部分,这导致工作集中的绝大部分数据冷却得非常快,因此随后的迭代面对的数据规模将会大幅缩小。
2445 0
《Java安全编码标准》一2.12 IDS11-J在验证前去掉非字符码点
本节书摘来自华章出版社《Java安全编码标准》一书中的第2章,第2.12节,作者 (美)Fred Long,Dhruv Mohindra,Robert C. Seacord,Dean F. Sutherland,David Svoboda,更多章节内容可以访问云栖社区“华章计算机”公众号查看
1001 0
+关注
小新的蜡笔
专业从事地理信息系统(GIS)技术工作7~8年。具有丰富的GIS架构、地图展示方面的经验。喜欢探索以及与小伙伴们探讨、分享技术。
134
文章
1
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载