尧图网站建设 尧图网络
  • 首页
  • 关于我们
  • 服务项目
  • 案例展示
  • 建站流程
  • 资讯中心
  • 联系我们
首页/资讯中心/详情

lQueryDef查询Evaluate报该几何不包含M值问题。

lQueryDef查询Evaluate报该几何不包含M值问题。
📅 发布时间:2026/6/19 17:33:54

地理数据库既包括空间,又包括属性,属性类似于SQL表,理论上支持标准SQL查询。lQueryDef接口提供了高效查询方法,适用于对属性表或要素类的属性进行筛选和检索。

问题描述

一个简单的面积求和示例如下:

IQueryDefFactory queryDefFactory = (IQueryDefFactory)workspace;
IQueryDef queryDef = queryDefFactory.CreateQueryDef();// 设置查询表
queryDef.Tables = "TB";// 关键:使用SQL聚合函数SUM()并重命名
queryDef.SubFields = "SUM(area) AS total_area";// 筛选条件
queryDef.WhereClause = "BM = '0702'";// 执行查询IRecordSet recordSet = queryDef.Evaluate();
ICursor cursor = recordSet.Cursor;
IRow row = cursor.NextRow();

但执行时,却报错:该几何不包含M值在ESRl.ArcGls.Geodatabase.lQueryDef.Evaluate()。

解决方案

通过观察字段area是存在的,通过对比更换其他有的字段不报错,最终发现area是一个文本字段(因为未打开图层,所以未检查字段类型),SUM字段不能直接使用文本字段。解决方案有两种:

(1)使用游标遍历所有area属性值,转换后再相加:这样的好处是可以处理各种异常的值;

(2)使用CAST转换函数,将area转为数值类型:

queryDef.SubFields = "SUM(CAST(area AS INTEGER)) AS total_area";

可参考官网说明:在 ArcGIS 中使用的查询表达式的 SQL 参考—ArcGIS Pro | 文档

作者:我也是个傻瓜
出处:http://www.cnblogs.com/liweis/
签名:成熟是一种明亮而不刺眼的光辉。

相关新闻

  • 我的首个RCE漏洞发现之旅:Apache ActiveMQ远程代码执行实战
  • 北京市社保费用差额补缴计算工具
  • 使用自签名SSL证书有什么风险?

最新新闻

  • Python爬虫实战:逆向破解动态Cookie加密与签名生成
  • 个人跨省寄快递怎么省钱?2026长途低价渠道实测对比 - 快递物流资讯
  • 2026重庆闲置奢包回收测评|爱马仕LV香奈儿变现优选榜单 - 名奢变现站
  • 金价高位变现测评,哈尔滨黄金回收哪家贴合大盘价无隐形收费 - 奢侈品交易观察员
  • 走访深圳多区珠宝市场:2026 翡翠回收实测排行,7大商家各有专长 - 薛定谔的梨花猫
  • 西安黄金回收上门靠谱吗 2026六月金价行情避坑全攻略 - 润富黄金回收

日新闻

  • 5分钟掌握Python进化算法:Geatpy高性能优化工具完全指南
  • Microchip 24AA044 EEPROM选型与应用全指南:从参数解析到实战编程
  • 华为的鸿蒙到底有多牛?为什么称作遥遥领先?

周新闻

  • 3步解锁iOS设备:applera1n激活锁绕过完全指南
  • 39 2026 人工智能证书终极盘点,普通人选 AI 证书可以从这些方向入手
  • Redis 暴露公网有多危险?从端口检查到补救步骤

月新闻

  • 【总结】入门篇:50句话让你记住架构核心概念
  • WeChatMsg技术方案解析:实现Mac微信数据自主管理的完整解决方案
  • WeChatMsg:革新性微信数据备份方案,打造你的专属数字记忆库

关于尧图

  • 公司简介
  • 团队介绍
  • 企业文化
  • 荣誉资质

服务项目

  • 定制开发
  • 电商建站
  • UI 设计
  • 运维服务

快速链接

  • 案例展示
  • 建站流程
  • 常见问题
  • 资讯中心

联系方式

  • 📍北京市朝阳区互联网产业园 A 座 10 层
  • 📞400-888-8888
  • ✉️contact@rkmt.cn
  • 🕐周一至周日 9:00-21:00

© 2024 北京尧图网络科技有限公司 版权所有 | 京 ICP 备 XXXXXXXX 号