Я випадково виявив, як ArcMap відображає користувачеві спеціальні значення з плаваючою комою.
- + ∞ (позитивна нескінченність) відображається як
1.#INF - –∞ (негативна нескінченність) нібито відображатиметься як
-1.#INF- я цього не підтвердив. NaN (не число) відображається як вирівнювання праворуч
<Null>- не плутати з вирівнюванням ліворуч<Null>, що позначає NULL (відсутні значення):
( Отримати унікальні значення в польовому калькуляторі зовсім не вказано NaN.)
Але я не дізнався, як писати запити на визначення рівня для вибору рядків на основі цих спеціальних значень:
ColumnName IS NULLбуде вибирати лише регулярні значення NULL, але не NaN.ColumnName = 1.#INFвідхилено як недійсний синтаксис.
Хтось знає, як це зробити?
Фрагмент коду C # ArcObjects для зберігання значення 1. # INF у полі таблиці (основна концепція):
Як вимагалось. Оскільки я більше не працюю, наступний код не є реальним кодом, який я використовував, і не можу перевірити його зараз, але він повинен створити ефект, показаний на скріншоті вище:
ITable table = …;
int doubleFieldIndex = table.FindField(…);
IRow row = table.CreateRow();
row.Value[doubleFieldIndex] = double.PositiveInfinity;
row.Store();