Mehr

Feld mit unterschiedlichen Namen mit ArcGIS Desktop füllen?

Feld mit unterschiedlichen Namen mit ArcGIS Desktop füllen?


Ich habe ein Shapefile mit einem Feld namens "Name". Das Namensfeld enthält viele hundert Spalten für Stadt, See, Fluss, Landkreis. Ich möchte für jeden Eintrag in "Name" einen Wert in einem anderen Feld hinzufügen. Alle Datensätze von City erhalten den Wert 10, alle Datensätze von Lake erhalten den Wert 7 und so weiter.

Gibt es eine einfache Möglichkeit, dies zu tun?


Der Vorschlag für eine Nachschlagetabelle von PolyGeo ist wahrscheinlich der beste Weg, wenn das Feld Name viele verschiedene Werte enthält, insbesondere wenn Sie diese Werte nicht kennen. Beginnen Sie mit dem Erstellen einer Übersichtsstatistiktabelle des Felds Name, um eine Tabelle mit allen eindeutigen Werten im Feld zu erhalten. Fügen Sie dann Ihr zweites Feld hinzu und füllen Sie es aus. Verwenden Sie dann das Werkzeug JoinField oder führen Sie eine Standardverbindung durch und exportieren Sie dann den Shapefile-Layer, um ein neues Shapefile mit dem Feld zu erstellen.

Wenn Sie die Menge der möglichen Werte im Feld Name bereits kennen und es etwa 30 oder weniger verschiedene Werte gibt, können Sie den Feldrechner wie von userBZ vorgeschlagen verwenden. Wenn im Feld Name 7 oder weniger bekannte Werte vorhanden sind, funktioniert die If Then ElseIf Else-Syntax in VB Script. Wenn es jedoch mehr als 7 verschiedene Werte gibt, müssen Sie die Select Case-Syntax für VB Script verwenden. Python hat ähnliche Strukturen der If Elif Else-Syntax und Switch Case-Syntax. Die Select Case-Syntax verarbeitet effizienter, ist jedoch auf Literalwertvergleiche und nicht auf andere Arten von logischen Vergleichen wie <, > usw. beschränkt.


Sie können eine IF THEN ELSE-Struktur im Feldrechner ausprobieren.

Ein Beispiel finden Sie in den ArcGIS-Beispielen.

Da ich nicht genau weiß, wie Ihre Daten aussehen, kann ich Ihnen keine genauere Antwort geben. Was meinst du mit einem Feld mit Spalten? Ein Feld in Ihrer Attributtabelle ist normalerweise eine Spalte.