在ArcGIS中,esriFieldTypeGUID类型变量是一个可选必填字段。即若在ArcGIS中创建了该类型变量就必须填写,和ObjectID以及shape是一样的;若没有创建则无需填写。
创建该类型字段代码如下:
pFieldEdit->put_Type(esriFieldTypeGUID);
pFieldEdit->put_IsNullable(VARIANT_FALSE);
pFieldEdit->put_Required(VARIANT_TRUE);
pFieldEdit->put_Editable(VARIANT_TRUE);
还有一点说明一下如果你在做导入导出时,要将mdb中的dbGUID类型转换为ArcGIS中的esriFieldTypeGUID时,需要注意一下几点:
1.对mdb中GUID进行处理
在mdb中,取出的GUID值可能是“{guid {******-*****-*****-****-*****}}”,此时,需要对该字符串进行处理。
2.利用AE的API插入到表里的GUID变量需要符合esriFieldTypeGUID的数据结构
将上述字符串转换为“{******-*****-*****-****-*****}”即可,最后实施插入 pFeature->put_Value(lIndex, COleVariant(TmpStr));