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

相关文章

浅析CSS 中z - index属性的作用及在什么情况下会失效

《浅析CSS中z-index属性的作用及在什么情况下会失效》z-index属性用于控制元素的堆叠顺序,值越大,元素越显示在上层,它需要元素具有定位属性(如relative、absolute、fi... 目录1. z-index 属性的作用2. z-index 失效的情况2.1 元素没有定位属性2.2 元素处

HTML5 data-*自定义数据属性的示例代码

《HTML5data-*自定义数据属性的示例代码》HTML5的自定义数据属性(data-*)提供了一种标准化的方法在HTML元素上存储额外信息,可以通过JavaScript访问、修改和在CSS中使用... 目录引言基本概念使用自定义数据属性1. 在 html 中定义2. 通过 JavaScript 访问3.

CSS模拟 html 的 title 属性(鼠标悬浮显示提示文字效果)

《CSS模拟html的title属性(鼠标悬浮显示提示文字效果)》:本文主要介绍了如何使用CSS模拟HTML的title属性,通过鼠标悬浮显示提示文字效果,通过设置`.tipBox`和`.tipBox.tipContent`的样式,实现了提示内容的隐藏和显示,详细内容请阅读本文,希望能对你有所帮助... 效

解读为什么@Autowired在属性上被警告,在setter方法上不被警告问题

《解读为什么@Autowired在属性上被警告,在setter方法上不被警告问题》在Spring开发中,@Autowired注解常用于实现依赖注入,它可以应用于类的属性、构造器或setter方法上,然... 目录1. 为什么 @Autowired 在属性上被警告?1.1 隐式依赖注入1.2 IDE 的警告:

HTML5中下拉框<select>标签的属性和样式详解

《HTML5中下拉框<select>标签的属性和样式详解》在HTML5中,下拉框(select标签)作为表单的重要组成部分,为用户提供了一个从预定义选项中选择值的方式,本文将深入探讨select标签的... 在html5中,下拉框(<select>标签)作为表单的重要组成部分,为用户提供了一个从预定义选项中

在Java中使用ModelMapper简化Shapefile属性转JavaBean实战过程

《在Java中使用ModelMapper简化Shapefile属性转JavaBean实战过程》本文介绍了在Java中使用ModelMapper库简化Shapefile属性转JavaBean的过程,对比... 目录前言一、原始的处理办法1、使用Set方法来转换2、使用构造方法转换二、基于ModelMapper

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