Przez przypadek odkryłem, jak ArcMap wyświetla użytkownikowi specjalne wartości zmiennoprzecinkowe.
- + ∞ (dodatnia nieskończoność) jest wyświetlana jako
1.#INF - –∞ (ujemna nieskończoność) miałby być wyświetlany jako
-1.#INF- Nie zweryfikowałem tego. NaN (nie liczba) jest wyświetlany jako wyrównany do prawej
<Null>- nie należy mylić z wyrównaniem do lewej<Null>, co oznacza NULL (brakujące wartości):
(Przy okazji, uzyskaj unikalne wartości w kalkulatorze polowym, w ogóle nie podaje NaN).
Ale nie odkryłem, jak pisać zapytania dotyczące definicji warstw, aby wybrać wiersze na podstawie tych specjalnych wartości:
ColumnName IS NULLwybierze tylko zwykłe wartości NULL, ale nie NaN.ColumnName = 1.#INFjest odrzucany jako niepoprawna składnia.
Czy ktoś wie jak to zrobić?
Fragment kodu C # ArcObjects do przechowywania wartości 1. # INF w polu tabeli (podstawowa koncepcja):
Zgodnie z prośbą. Ponieważ nie jestem już w pracy, poniższy kod nie jest prawdziwym kodem, którego użyłem i nie mogę go teraz przetestować, ale powinien dać efekt pokazany na zrzucie ekranu powyżej:
ITable table = …;
int doubleFieldIndex = table.FindField(…);
IRow row = table.CreateRow();
row.Value[doubleFieldIndex] = double.PositiveInfinity;
row.Store();