博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
空间查询时出错误 An expected Field was not found or could not be retrieved properly. [SHAPE.AREA] 问题的解决...
阅读量:4326 次
发布时间:2019-06-06

本文共 779 字,大约阅读时间需要 2 分钟。

    今天进行空间查询无意中出现此错误,检查查询代码毫无问题,在网上搜索问题,可见 竹子兄 09年写的一篇文章()我才恍然,原来产生错误的原因不在于此,而是在建立另外一个新的FeatureClass时关联引起出现了问题,而不查询出了问题

首先我们数据库 已存在一个FeatureClass,假如为pFeatCla;

而我们要创建一个同结构的的Featureclss pFeautNew,我们调用IFeatureWorkspace.CreateFeatureClass方法,其中第二个参数是,然后我们直接将pFeatCla.Fileds作为参数传进去了。

但是当我们用pFeatCla进行空间查询时就会报出标题中的错误。

 

其实仔细分析下就能理解报错的原因了,由于创建一个新的FeatureClass的时候 肯定是需要用到一个新的Schima,而我们是将pFeatCla的Fileds属性做外引用的方式存放到新的FeatureClass(pFeautNew中),那么此时相当于两个FeatureClass公用一套数据结构,所以当你用这两个中的任意一个FeatureClass进行空间查询时就会报错。

解决方法:

1、直接用  IClone 接口 克隆出一个新的Fields

            IClone clone = pFeatCla.Fields as IClone;

            IFields pFields = clone.Clone() as IFields;

2、自己再重新建立一个新的pFeilds ,如 竹子 的文章

当然既然已经有个Shcima存在,我们当然没有必要再去进行选择2操作了

所以直接用方法1进行操作就非常方便了!

转载于:https://www.cnblogs.com/flyingliang-gis/archive/2010/06/21/1762160.html

你可能感兴趣的文章
sencha touch list infinite 属性
查看>>
指令——cat
查看>>
RabbitMQ代码操作之发消息和序列化机制
查看>>
4.Dotnet-Core部署到IIS
查看>>
Guitar and Music Theory
查看>>
用SQL命令查看Mysql数据库大小
查看>>
关于 Python
查看>>
贝叶斯网络
查看>>
SpringBoot整合ElasticSearch实现多版本的兼容
查看>>
ajax url参数中文乱码解决
查看>>
Thread Runnable 区别
查看>>
ORACLE JOB 设置
查看>>
微信小程序想要最短服务路径
查看>>
HDU - 4812 D Tree 点分治
查看>>
POJ 2763 Housewife Wind
查看>>
MinGW安装与配置
查看>>
【UVA11806 Cheerleaders】 题解
查看>>
TCP三次握手和四次挥手
查看>>
【SVN】win7 搭建SVN服务器
查看>>
iOS第三方做滤镜最主流的开源框架GPUImage
查看>>