01.ArcEngine中IField的属性详细描述

2024-03-27 17:36

本文主要是介绍01.ArcEngine中IField的属性详细描述,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

0.代码样例 

1. AliasName

2.CheckValue

3.DefaultValue

4.Domain

5.DomainFixed 

6.Editable 

7.GeometryDef 

8.IsNullable 

9.Length 

10.Name 

11.Precision 

12.Required 

13.Scale 

14.Type 

15.VarType 


0.代码样例 

  IFields fields = featureclass.Fields;for (int i = 0; i < fields.FieldCount; i++){IField field = fields.get_Field(i);string fieldName = field.Name;string aliasName = field.AliasName;esriFieldType type = field.Type;int length = field.Length;int precision = field.Precision;bool isNullable = field.IsNullable;int scale = field.Scale;}

1. AliasName

AliasName:该字段的别名。

2.CheckValue

CheckValue:指示给定字段定义的值是否有效。 

校验值将根据字段类型测试指定的值对当前字段是否有效。例如,校验值将验证所提供的值是否对应于小整数的字段类型,或者该值是否对应于一个字符串值。 该值不会针对任何现有的域进行检查。

3.DefaultValue

DefaultValue:该字段的默认值。

4.Domain

Domain:该字段的默认域。

5.DomainFixed 

DomainFixed:指示该字段的域是否已固定。 

6.Editable 

Editable:指示该字段是否可编辑的。 

字段的可编辑属性应该始终设置为true。将其设置为false将防止所有用户编辑该字段的内容。要将字段设置为只读的,请使用ifieldinfo3.readonly属性。 最好是循环遍历特性的字段,并跳过不可编辑的字段,而不是允许用户尝试编辑无法编辑的字段。 

7.GeometryDef 

GeometryDef:如果几何为真,字段的几何定义。 

8.IsNullable 

IsNullable:指示该字段是否可以包含空值。 

9.Length 

Length:该字段所描述的值的最大长度,以字节为单位。

10.Name 

Name:该字段的名称。 

根据其几何图形类型,地理数据库特征类可能包含自动生成的形状长度和面积的字段。在个人和文件地理数据库中,这些字段将使用后缀为“_linge”和“_area”的形状字段的名称进行命名。在sde地理数据库中,这些字段的名称将依赖于底层的dbms。 应该使用要素类IFeatureClass::shape字段名称属性来确定特征类的长度和区域字段的名称。 

11.Precision 

Precision:字段值的精度。 

精度是一个数字中的位数。例如,数字56.78的精度为4。精度仅适用于数值字段。精度总是从个人或文件地理数据库字段中返回为0。 

12.Required 

Required:指示是否需要该字段。 

所有的表和特性类都有一组必需的字段,这些字段是记录表或特性类中任何特定对象的状态所必需的。这些必需字段将在创建新的要素类或表时自动创建,但无法删除。必需的字段也可能具有必需的属性,如其域属性。无法修改必需字段的必需属性。 例如,在一个简单的特征类中,类和形状都是必需的字段。它们确实具有可以修改的别名和几何图形类型等属性,但不能删除这些字段。 所需的属性仅适用于对修改字段属性的模式或阻止其被删除的更改。它不会影响更新或添加\删除字段内的值的能力。此外,将所需的字段属性设置为true将阻止用户通过gui以及通过ArcObjects删除字段。 

13.Scale 

Scale:字段值的比例尺(即小数位数)

缩放是一个数字中小数点右边的位数。例如,数字56.78的比例为2。只适用于双精度的字段。但是总是从个人或文件地理数据库字段中返回为0。

14.Type 

Type:该字段的类型。 

有关资源类型值与底层sde和dbms数据类型之间关系的更多信息,请参阅arcgis帮助中的以下文章: 

  • "A comparison of ArcGIS, ArcSDE, and DB2 data types"
  • "A comparison of ArcGIS, ArcSDE, and Informix data types"
  • "A comparison of ArcGIS, ArcSDE, and PostgreSQL data types"
  • "A comparison of ArcGIS, ArcSDE, and Oracle data types"
  • "A comparison of ArcGIS, ArcSDE, and SQL Server data types"

The following table outlines the equivalent field data types in ArcCatalog, ArcObjects and .NET:

ArcCatalog

esriFieldType

(IField::Type)

.NET Variable Type

Short IntegeresriFieldTypeSmallIntegerSystem.Int16
Long IntegeresriFieldTypeIntegerSystem.Int32
FloatesriFieldTypeSingleSystem.Single
DoubleesriFieldTypeDoubleSystem.Double
TextesriFieldTypeStringSystem.String
DateesriFieldTypeDateSystem.DateTime
Object IDesriFieldTypeOIDSystem.Int32
GeometryesriFieldTypeGeometryESRI.ArcGIS.Geometry.IGeometry
BlobesriFieldTypeBlobESRI.ArcGIS.esriSystem.IMemoryBlobStream
RasteresriFieldTypeRasterESRI.ArcGIS.Geodatabase.IRasterValue
GUIDesriFieldTypeGUIDSystem.String
GlobalIDesriFieldTypeGlobalIDSystem.String

下表概述了地理数据库字段映射的覆盖范围: 

Item typeItem widthGeodatabase field type (esriFieldType)
B4esriFieldTypeInteger
C1-320esriFieldTypeString
D8esriFieldTypeDate
F4esriFieldTypeSingle
F8esriFieldTypeDouble
I1-4esriFieldTypeSmallInteger
I5-9esriFieldTypeInteger
I10-16esriFieldTypeDouble
N1-9esriFieldTypeSingle
N10-16esriFieldTypeDouble

下表概述了Shapefile、 dBASE field to Geodatabase field的映射:

Field typeField widthGeodatabase field type (esriFieldType)
Date-esriFieldTypeDate
String1-255esriFieldTypeString
Boolean-esriFieldTypeString
Number1-16 (decimals = 0)esriFieldTypeInteger
Number1-16 (decimals > 0)esriFieldTypeDouble

注意:形状文件仅支持日期字段。不支持时间。地理数据库支持的日期\时间字段。如果在此时查询了一个形状文件日期字段,则将返回一个默认值“12:00:00am”。 

15.VarType 

VarType:字段的不同类型(例如,vt_i4)。

以下是可以从此属性返回的可变类型常量的列表。 

Field typeVarType

esriFieldTypeSmallInteger

esriFieldTypeInteger

esriFieldTypeSingle

esriFieldTypeDouble

esriFieldTypeString

esriFieldTypeDate

esriFieldTypeOID

esriFieldTypeGeometry

esriFieldTypeBlob

esriFieldTypeRaster

esriFieldTypeGUID

esriFieldTypeGlobalID

2

3

4

5

8

7

3

13

13

13

8

8

这篇关于01.ArcEngine中IField的属性详细描述的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/852896

相关文章

JavaScript中的isTrusted属性及其应用场景详解

《JavaScript中的isTrusted属性及其应用场景详解》在现代Web开发中,JavaScript是构建交互式应用的核心语言,随着前端技术的不断发展,开发者需要处理越来越多的复杂场景,例如事件... 目录引言一、问题背景二、isTrusted 属性的来源与作用1. isTrusted 的定义2. 为

Java如何通过反射机制获取数据类对象的属性及方法

《Java如何通过反射机制获取数据类对象的属性及方法》文章介绍了如何使用Java反射机制获取类对象的所有属性及其对应的get、set方法,以及如何通过反射机制实现类对象的实例化,感兴趣的朋友跟随小编一... 目录一、通过反射机制获取类对象的所有属性以及相应的get、set方法1.遍历类对象的所有属性2.获取

vue如何监听对象或者数组某个属性的变化详解

《vue如何监听对象或者数组某个属性的变化详解》这篇文章主要给大家介绍了关于vue如何监听对象或者数组某个属性的变化,在Vue.js中可以通过watch监听属性变化并动态修改其他属性的值,watch通... 目录前言用watch监听深度监听使用计算属性watch和计算属性的区别在vue 3中使用watchE

hdu 2602 and poj 3624(01背包)

01背包的模板题。 hdu2602代码: #include<stdio.h>#include<string.h>const int MaxN = 1001;int max(int a, int b){return a > b ? a : b;}int w[MaxN];int v[MaxN];int dp[MaxN];int main(){int T;int N, V;s

滚雪球学Java(87):Java事务处理:JDBC的ACID属性与实战技巧!真有两下子!

咦咦咦,各位小可爱,我是你们的好伙伴——bug菌,今天又来给大家普及Java SE啦,别躲起来啊,听我讲干货还不快点赞,赞多了我就有动力讲得更嗨啦!所以呀,养成先点赞后阅读的好习惯,别被干货淹没了哦~ 🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,助你一臂之力,带你早日登顶🚀,欢迎大家关注&&收藏!持续更新中,up!up!up!! 环境说明:Windows 10

集中式版本控制与分布式版本控制——Git 学习笔记01

什么是版本控制 如果你用 Microsoft Word 写过东西,那你八成会有这样的经历: 想删除一段文字,又怕将来这段文字有用,怎么办呢?有一个办法,先把当前文件“另存为”一个文件,然后继续改,改到某个程度,再“另存为”一个文件。就这样改着、存着……最后你的 Word 文档变成了这样: 过了几天,你想找回被删除的文字,但是已经记不清保存在哪个文件了,只能挨个去找。真麻烦,眼睛都花了。看

HTML5自定义属性对象Dataset

原文转自HTML5自定义属性对象Dataset简介 一、html5 自定义属性介绍 之前翻译的“你必须知道的28个HTML5特征、窍门和技术”一文中对于HTML5中自定义合法属性data-已经做过些介绍,就是在HTML5中我们可以使用data-前缀设置我们需要的自定义属性,来进行一些数据的存放,例如我们要在一个文字按钮上存放相对应的id: <a href="javascript:" d

01 Docker概念和部署

目录 1.1 Docker 概述 1.1.1 Docker 的优势 1.1.2 镜像 1.1.3 容器 1.1.4 仓库 1.2 安装 Docker 1.2.1 配置和安装依赖环境 1.3镜像操作 1.3.1 搜索镜像 1.3.2 获取镜像 1.3.3 查看镜像 1.3.4 给镜像重命名 1.3.5 存储,载入镜像和删除镜像 1.4 Doecker容器操作 1.4

Python中的属性装饰器:解锁更优雅的编程之道

引言 在Python的世界里,装饰器是一个强大的工具,它允许我们以一种非侵入性的方式修改函数或方法的行为。而当我们谈论“属性装饰器”时,则是在探讨如何使用装饰器来增强类中属性的功能。这不仅让我们的代码更加简洁、易读,同时也提供了强大的功能扩展能力。本文将带你深入了解属性装饰器的核心概念,并通过一系列实例展示其在不同场景下的应用,从基础到进阶,再到实际项目的实战经验分享,帮助你解锁Python编程

react笔记 8-17 属性绑定 class绑定 引入图片 循环遍历

1、绑定属性 constructor(){super()this.state={name:"张三",title:'我是一个title'}}render() {return (<div><div>aaaaaaa{this.state.name}<div title={this.state.title}>我是一个title</div></div></div>)} 绑定属性直接使用花括号{}   注