AE接口使用理解Geodatabase篇(一)

AE常用接口 详述AE开发常用接口的描述,包括方法,属性,使用状况,快熟入门AE二次开发。 立即下载

Geodatabase类型:

1.personal:ACCESS数据库,2G数据

2.file:作用于1相同,不需要一栏ACCESS

3.ArcSDE:基于大型关系数据库,如:SQL SERVER,Oracle,DB2,是基于关系型数据库基础上的地理数据库服务器。


1). Dataset:

       A: 用于简单数据集,如table,feature class,geometric network,topologies,

       打开数据集:通过接口IFeatureWorkspace和IFeatureClassContainer使用open方法打开已存在的数据集

       创建新数据集:IFeatureWorkspace的CreateFeatureClassf方法,要求提供数据及名称,fields,以及在geodatabase中的存储方式。

     B:  network datasets,terrains,representations,cadastral fabrics.

        打开数据集:IDatasetContainer2,提供数据集名或索引

       创建数据集:IDatasetContainer2的CreateDataset方法,提供dataelement

2)

对比
 TableObject classFeatureClass
ContainsRowsObjectsFeatures
Row createion methodITable.CreateRowITable.CreateRowIFeatureClass.CreateFeature
Supports subtypesfalsetruetrue
Supports domainsfalsetruetrue
Requrired fieldsNoneObjectIDObjectID,shape
3)Rows,Features

ITable.CreateRow, IFeatureClass.CreateFeature分别设置属性和空间几何对象,然后调用IRow.Store和IFeatureClass.Store方法保存

创建多行和多个feature

ITable.CreateRowBuffer和IFeatureClass.CreateFeatureBuffer创建,用ITable.Insert和IFeatureClass.Insert保存

4)Fields:组成Tables, Objects和Features

通过IFields 和IIndex接口访问,当创建了字段集合以后,将Fields作为参数传给IFeatureWorkspace.CreateFeatureClass方法,用于创建feature class。

对已存在的数据集进行添加、删除字段操作,使用IClass接口的AddField,DeleteField和FindField方法,而不是IFieldsEdit接口

5)Domains:数据约束(属性规则),给字段指定有效值,存在于工作空间级别,可以被多个object class中的字段共享

类型:CodedValueDomain以字符串的形式给出某字段所有的有效值

            RangeDomain以最大最小值的形式给出某字段的取值范围

IField 读取字段信息,IFieldEdit修改字段信息

6)Subtypes:将具有相似规则与行为的对象划分到单独的objectclass中,在单个的objectclass中定义,不能共享,通过ISubtypes接口访问

7)Cursors和selection sets

    A.  cursors用于逐条遍历记录,只能往一个方向遍历

     类型:search:检索、编辑记录 ; update:编辑、删除记录; insert:添加记录。

     创建:通过接口ITable,IFeatureClass,ISelectionSet,IQueryDef创建,三种类型的cursors都可以通过ICursor和IFeatureCursor访问

    B. selection sets包含了某个数据集的子集,并一定包含ObjectID字段,通常通过ITable.Select方法获取,可以反复遍历多次

8) Queries:

      最简单的查询方法:ITable.Search和ITable.Select分别返回search cursor和selection set 通过IQueryFilter接口访问

      如果只获取符合条件的记录中的某几个字段的值,可以通过IQueryFilter.SubFields属性获取

     ISpatialFilter:

     IQueryDef:联合查询。

    一,只能对同一工作空间中的对象进行查询, 使用WhereClause属性设置联合查询条件;SubFields属性设置结果集中的字段集合;Evaluate方法获取查询结果。 

    二、从已存在的QueryDef对象创建query table,即创建IQueryName2类型的对象,并肩已有的QueryDef对象赋值给IQueryName2.QueryDef属性

      public void QueryName2_Direct(IWorkspace workspace)

{

    IFeatureWorkspace pFtWS=(IFeatureWorkspace)workspace;

    IQueryDef queryDef=pFtWS.CreateQueryDef();

   queryDef.SubFields="*";

   queryDef.Table="parcels,house_listings";

    queryDef.WhereClaus="parcel.parcel_id=house_listing.parcel_id";

    

    IQueryName2 queryName2=new TableQueryNameClass();

    queryName2.PrimaryKey="parcel.parcel_id";

    queryName2.QueryDef=queryDef;

}

   三、根据relationship类对象创建RelQueryTable对象,用以联接任意数据源的数据进行联合查询,实现ITable和IFeatureClass接口

      public void RelQryTabExample(IFeatureClass featureClass,string featureClassField,ITable table,string tableField)
        {
            IMemoryRelationshipClassFactory memoryRelationClassFactory = new MemoryRelationshipClassFactoryClass();
            IRelationshipClass relationshioClass = memoryRelationClassFactory.Open("samplejoin",(IObjectClass)featureClass,featureClassField,(IObjectClass)table,tableField,"forward","backward",esriRelCardinality.esriRelCardinalityOneToMany);
            IRelQueryTableFactory relQueryTableFactory = new RelQueryTableFactoryClass();
            ITable relQueryTable = (ITable)relQueryTableFactory.Open(relationshioClass,true,null,null,"",true,true);
            ICursor cursor = relQueryTable.Search(null,true);
            IFields fields = cursor.Fields;
            int i = fields.FieldCount;
            for (int j = 0; j < i;j++)
            {
                IField field = fields.get_Field(j);
                Console.WriteLine(field.Name);
            }
        }


联合查询比较
 QueryDefQuery tableRelQueryTable
Can span data sourcesfalsefalsetrue
Joins persisted asCursorTableTable
Matches all 1:N candidatesTrueTrueFalse

AE接口详细说明 AE接口详细说明,详细介绍了个接口的用法 立即下载

相关推荐

Mac上Ollama服务IP访问失败的3种修复方法(含永久生效配置)

本文详细介绍了Mac上Ollama服务IP访问失败的3种修复方法,包括临时环境变量覆盖、永久Shell配置修改及进阶排查技巧。重点解析了OLLAMA_HOST环境变量的配置原理,帮助开发者解决Connection refused问题,实现局域网IP访问Ollama服务的需求。

weixin_29209805的博客 209

通过空间表和属性表的连接来进行标注

通过空间表和属性表的连接来进行标注,需要进行属性表和空间表的关联(代码如下)。ITable dispTable=((IDisplayTable)feaLayer).DisplayTable ;IMemoryRelationshipClassFactory fac=new MemoryRelationshipClassFactoryClass ();IRelationshipClass relCla

旅途 1415

景观格局指数计算方法及代表的生态学意义(待补充)

景观指数 斑块密度(PD) 斑块密度(PD)表现某种斑块在景观中的密度,可反映出景观整体的异质性与破碎度[17],公式为PD=NP/A(1)式中NP———斑块数量,个A———景观或斑块的总面积,hm2PD———斑块密度,个/hm2 最大斑块指数(LPI) 最大斑块指数(LPI)用于确定景观中的优势斑块类型,间接反映人类活动干扰的方向和大小,公式为LPI=amaxA×100%(0≤LPI≤100%)(2)式中amax———景观或某一种斑块类型中最大斑块的面积,hm2LPI———最大斑块指数,% 凝聚

soderayer的博客 13万+

ArcGIS Engine开发Geodatabase代码(一)——Cursors

/******************************************/ * ESRI Developer Summit 2009 * Developer's Guide to the Geodatabase * Code Samples * 6 April 2009/******************************************/偶然间整理电脑的文件夹,发现

积思园 1万+

Android 系统低内存lowmemorykiller关于阈值修改 minfreeAbsKbytes优化

在系统rom定制化开发中,在对于运行内存ram 1G和2G的设备中,对于内存使用高峰期时,minfreeAbsKbytes优化很关键 调整合理的minfree,让内存合理的使用很关键,接下来分析相关功能的实现

安卓兼职framework和app工程师的博客 524

YOLOv11改进策略【Neck】| GSConv+Slim Neck:混合深度可分离卷积和标准卷积的轻量化网络设计

实时检测器架构的轻量级设计GsConv。

Limiiiing的博客 2312

SDE_GEODATABASE学习

一直想用SQL直接操作SDE的GEODATABASE,做了些尝试,证明这样的办法的确不理想 先上图:SDE_DATABASE 数据模型 图1-1 SDE数据模型 上面的图是安装SDE以后自动生成的数据表,当然还有一些其他的表,是独立的实体集,不存在键的关系,这些表是用来存放feature的...

weixin_30274627的博客 292

正点原子stm32f103RChal库制作数字秒表:如用keil5和正点原子STM32F1开发板实现?

🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀!    📌 特别说明: 文中部分技术问题来源于真实生产环境及网络公开案例,均经过精挑细选与系统化整理,并结合多位一线资深架构师和工程师多年实战经验沉淀,提

**My Coding Family** 1265

AE常见接口之间的关系+常见概念

常见的接口有如下关系,箭头上不好写方法,在此省略,可通过帮助查看,有不对的地方请高手赐教 IworkspaceFactory-------------->IworkSpace------------------>IfeatureWorkSpace---------------->IFeatrueClass------------->IFeature() ...

dichu5399的博客 773

多算法数据预测——BP、ELM、LSTM、BiLSTM和SAELSTM,附Matlab源码

本文将为大家介绍基于BP、ELM、LSTM、BiLSTM和SAELSTM多种算法的数据预测,并提供相应的Matlab源码。SAELSTM算法是一种结合自动编码器和LSTM神经网络的深度学习方法,用于时间序列数据预测。ELM算法是一种单层前向神经网络,在单次训练过程中直接产生输出权重,从而具有快速学习和良好推广性能。多算法数据预测——BP、ELM、LSTM、BiLSTM和SAELSTM,附Matlab源码。总体来看,采用多种算法进行数据预测可以提高预测准确率,并可根据不同场景选择适合的算法。

qq_39605374的博客 864

Luma AI技术浅析(一)

是一款基于人工智能的3D内容生成平台,旨在通过深度学习技术实现高效、高质量的3D场景、物体和动画的生成。Luma AI 主要利用了等技术,以实现从图像、视频到3D模型的转换和生成。

m0_75253143的博客 1732

AE_类库介绍_接口

AE_接口 1 ArcGIS Engine 类库介绍 1.1 接口和类 什么是接口呢?在面向对象的编程中,都会接触到。我们知道面向对象有三大特性:封装,继承,多态,相信很多人在学习多态的时候会接触接口。接口可以用一句这样的话来描述“接口就是包含一系列不被实现的方法,而把这些方法的实现交给继承它的类”,可能有些晦涩,下面我们通过例子说明。下面定义一个接口IPeople。 interface IPeo...

Code66_3444124800的博客 1402

微信H5网页支付JSAPI部分用户报错:system:access_denied 的解决方案

JSAPI 支付仅支持微信内置浏览器调用。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 1687

AE接口使用理解Geodatabase篇

Geodatabase类型: 1.personal:ACCESS数据库,2G数据 2.file:作用于1相同,不需要一栏ACCESS 3.ArcSDE:基于大型关系数据库,如:SQL SERVER,Oracle,DB2,是基于关系型数据库基础上的地理数据库服务器。 1). Dataset:        A: 用于简单数据集,如table,feature

OpenPlot 1248

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

ArcGIS—数据类型(2):Geodatabase数据

本篇文章主要介绍ArcGIS中的Geodatabse数据类型。 目录 目录 1. geodatabse对象理解 2. Geodatabase的面向对象 3. Geodatabase零散知识点 3.1 Geodatabase的分类 3.2 Geodatabase中的Dataset 4. Geodatabse数据知识扩展 写在前面的话:对于Geodataba...

Dirtliu的博客 9418

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

AE加载不同数据的方法(GeoDatabase空间数据管理)

原文AE加载不同数据的方法(GeoDatabase空间数据管理) GeoDatabase 先看一下GeoDatabase核心结构模型图: 1 工作空间工厂WorkspaceFactory对象 WorkspaceFactory是GeoDatabase的入口,是一个抽象类,拥有很多子类,例如SdeWorkspaceFactory, Ac...

weixin_34228617的博客 227

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

ArcGIS中Geodatabase简介

简介 Geodatabase是ESRI公司定义的一个为ArcGIS所用的数据框架,该框架定义了ArcGIS中用到的所有的数据类型。不管ArcGIS的数据存储到何处、以什么格式存储,都脱离不了该框架。也可以认为Geodatabase是ArcGIS所有支持的数据的一组接口,然后各种数据类型和存储方式都实现了该接口。 例如一个矢量数据,不管其存储成Shape文件,还是存储在Personal Ge

shuer_2017的博客 8174

AE开发概念辨析

樱木原文AE开发之概念辨析2,AE开发涉及相关概念,AE开发相关概念 1 AE中的类库 AE总共包括了21个子库,分别是SYSTEM,SYSTEMUI,GEOMETRY,DISPLAY,SERVER,OUTPUT,GEODATABASE,GISCLIENT,DATASOURCEFILE,DATASOURCEGDB,DATASOURCEOLEDB,...

weixin_33775572的博客 261

ArcGIS中的Geodatabase模型

Geodatabase是ESRI公司定义的一个为ArcGIS

mytudousi的专栏 6336
上一篇: AE加标注
下一篇: Android 设置Activity全屏显示,没有TitleBar;自定义TitleBar
惜墨儿
博客等级 码龄15年 9粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值