我偶然发现了ArcMap如何向用户显示特殊的浮点值。
- +∞(正无穷大)显示为
1.#INF
- –∞(负无穷大)应该显示为
-1.#INF
—我尚未验证这一点。 NaN(不是数字)显示为右对齐
<Null>
-请勿与left-aligned混淆<Null>
,后者表示NULL(缺少值):(顺便说一下,在字段计算器中获取唯一值根本不会列出NaN。)
但是我还没有发现如何编写图层定义查询以基于这些特殊值选择行:
ColumnName IS NULL
只会选择常规的NULL值,而不会选择NaN。ColumnName = 1.#INF
因语法无效而被拒绝。
有谁知道如何做到这一点?
用于将1.#INF值存储到表字段的C#ArcObjects代码片段(基本概念):
按照要求。由于我不再工作了,因此以下代码不是我使用的真实代码,现在无法测试,但是它会产生如上屏幕截图所示的效果:
ITable table = …;
int doubleFieldIndex = table.FindField(…);
IRow row = table.CreateRow();
row.Value[doubleFieldIndex] = double.PositiveInfinity;
row.Store();