Standardfeldeigenschaften für das Zahlenformat in ArcMap ändern?

8

Jeder, der mit Zahlen mit mehr als 14 Ziffern gearbeitet hat, hat die wunderbare Angewohnheit von ArcMap, eine beliebige Anzahl dieser Länge in E-Notation umzuwandeln. Während dies geändert werden muss, müssen Sie lediglich die Feldeigenschaften aufrufen und das Zahlenformat festlegen. Dies wird jedoch für jedes Feld in jeder Tabelle wiederholt mühsam. Gibt es eine geheime Umgebungseinstellung oder -methode, mit der Zahlenformate standardmäßig auf etwas anderes als "Numerisch" gesetzt werden können?

Nathanus
quelle
Suchen Sie eine programmatische Lösung ?
Kirk Kuykendall
Ich suche nur nach einer Lösung. Es besteht jedoch die Möglichkeit, dass ein ArcObjects außerhalb meines Bereichs liegt, es sei denn, es handelt sich um ein bereits erstelltes AddIn.
Nathanus
@Kirk Nachdem Sie sich in der letzten Woche ein wenig mit ArcObjects befasst haben, scheint die INumberFormat-Oberfläche nur nützlich zu sein, um die Art valuetostringund Weise zu ändern, in der das Feld angezeigt wird, wenn Sie und stringtovalueMethoden verwenden. Ist dies der Fall oder wird tatsächlich die Darstellung in der Tabelle in ArcMap angepasst?
Nathanus
Entschuldigung, Sie sollten es in INumericFormat umwandeln können .
Kirk Kuykendall
Dies ist im Allgemeinen eine Datenbankbeschränkung (15) und nicht spezifisch für ArcGIS. Abgesehen davon, handelt es sich um einen Short, Long, Double oder einen Float?
CDBrown

Antworten:

4

Wie es am besten , wie ich sagen kann, ist die Antwort nein ist, kann man das Standard - Zahlenformat nicht gesetzt ist , nicht ohne Programmierung (und für das man mit beginnen würde INumericFormat von Kirk als zur Kenntnis genommen. Siehe Beispiel für Dezimal - Grad - Winkel Radian und Währungsformat ) .

Außerdem wird die numerische Anzeigeeigenschaft in der Map- (.mxd) oder Layer-Datei (.lyr) gespeichert und ist keine Eigenschaft der Tabelle selbst, sodass Änderungen, die interaktiv oder über die Programmierung wie oben vorgenommen wurden, nicht auf neue Daten angewendet werden. Das Ändern des numerischen Feldtyps zur Erstellungszeit in "Doublem", "Float" usw. hilft aus demselben Grund ebenfalls nicht (es handelt sich nicht um eine Feld- oder Tabelleneigenschaft).

Vermutlich bedeutet dies, dass der einzige Weg vorwärts darin besteht, zu hoffen, dass jemand in Arcmap eine Schaltfläche zum Ändern und Ändern des numerischen Formats für alle ausgewählten Ebenen erstellt und / oder eine Funktionsanforderung an http://ideas.arcgis.com sendet, und zu hoffen, dass dies möglich ist Entscheiden Sie, ob es sich lohnt, sie als Benutzerpräferenz zu implementieren.

matt wilkie
quelle
2

Ich habe die nächste Lösung gefunden:

Carto.FeatureLayerKlasse implementiert Geodatabase.ITableFieldsund Geodatabase.ILayerFieldsSchnittstellen. Über eine dieser beiden Schnittstellen können Sie auf den FieldInfoEigenschaftstyp von zugreifen Geodatabase.IFieldInfo. Verwenden Sie dann die IFieldInfo.NumberFormatEigenschaft.

Igor Cheremushkin
quelle