Ich habe zufällig herausgefunden, wie ArcMap dem Benutzer spezielle Gleitkommawerte anzeigt.
- + ∞ (positive Unendlichkeit) wird als angezeigt
1.#INF
- –∞ (negative Unendlichkeit) wird angeblich angezeigt als
-1.#INF
- Ich habe diese nicht verifiziert. NaN (keine Zahl) wird als rechtsbündig angezeigt
<Null>
- nicht zu verwechseln mit linksbündig<Null>
, was NULL bedeutet (fehlende Werte):(Beim Abrufen eindeutiger Werte im Feldrechner wird NaN übrigens überhaupt nicht aufgelistet.)
Ich habe jedoch nicht herausgefunden, wie Layer-Definitionsabfragen geschrieben werden, um Zeilen basierend auf diesen speziellen Werten auszuwählen:
ColumnName IS NULL
wählt nur reguläre NULL-Werte aus, jedoch nicht NaN.ColumnName = 1.#INF
wird als ungültig abgelehnt.
Weiß jemand, wie man das macht?
C # ArcObjects-Codefragment zum Speichern eines 1. # INF-Werts in einem Tabellenfeld (Grundkonzept):
Wie gewünscht. Da ich nicht mehr bei der Arbeit bin, ist das Folgende nicht der echte Code, den ich verwendet habe, und ich kann ihn derzeit nicht testen, aber er sollte den im obigen Screenshot gezeigten Effekt erzeugen:
ITable table = …;
int doubleFieldIndex = table.FindField(…);
IRow row = table.CreateRow();
row.Value[doubleFieldIndex] = double.PositiveInfinity;
row.Store();