Hallo,
betrifft ArcGIS 10
Ich möchte in einer Attributtabelle ein (Text-)Feld automatisch berechnen lassen, teilweise sollen hierzu Werte aus anderen Attributfeldern verwendet werden.
Das Ergebnis soll so aussehen: JJ-UUUUU-SSS
hierin sind:
JJ-: neuvorangestellter Text, in diesem Fall "11-"
UUUUU: die letzten 5 Ziffern aus einem numerischen Attributfeld
-: verbindendes Textzeichen, also "-"
SSS:Ausdruck aus einem nummerischen Attributfeld, wobei teilweise führende Nullen vorangestellt werden sollen, da Ursprungsattribut teils nur 1- oder 2-ziffrig
Ich hatte mal ´ne ähnliche Problemstellung vor Jahren im ArcView und habe versucht es daraus wie folgt analog abzuleiten, haut aber so leider nicht hin:
"11-"+[UNr].right(5).asstring+"-"+"000".left(3-[SN r].asstring.count)+[SNr].asstring
Ich hab von Programmiersprache nicht die geringste Ahnung und es wäre am Schönsten, wenn mir jemand mit einem fertigen Ausdruck den ich nur noch reinkopieren muss, weiterhelfen könnte.
Es ist egal was ich bisher auch schrittweise versuche habe, momentan kann ich nichtmals ein Zahlenfeld in Text umwandeln - mir erscheint auch wenn ich eine Feldberechnung in dieser Richtung ausführen will, immer ein Dialogfenster "Feldberechnung" mit folgender Fehlermeldung: "Bei der Verarbeitung ist ein Fehler aufgetreten, Einzelheiten finden Sie im Fenster mit Geoverarbeitungsergebnissen"
Leider habe ich um der Sache nachzugehen bisher nichtmals das Fenster "Geoverarbeitungsergebnisse" finden können und den Hilfefunktionen kam ich auch nicht weiter.
Ist nicht brandeilig - bin erst am Montag wieder im Büro, sag aber schon mal herzlichen Dank und wünsche schönes Wochenende
LG Marina
betrifft ArcGIS 10
Ich möchte in einer Attributtabelle ein (Text-)Feld automatisch berechnen lassen, teilweise sollen hierzu Werte aus anderen Attributfeldern verwendet werden.
Das Ergebnis soll so aussehen: JJ-UUUUU-SSS
hierin sind:
JJ-: neuvorangestellter Text, in diesem Fall "11-"
UUUUU: die letzten 5 Ziffern aus einem numerischen Attributfeld
-: verbindendes Textzeichen, also "-"
SSS:Ausdruck aus einem nummerischen Attributfeld, wobei teilweise führende Nullen vorangestellt werden sollen, da Ursprungsattribut teils nur 1- oder 2-ziffrig
Ich hatte mal ´ne ähnliche Problemstellung vor Jahren im ArcView und habe versucht es daraus wie folgt analog abzuleiten, haut aber so leider nicht hin:
"11-"+[UNr].right(5).asstring+"-"+"000".left(3-[SN r].asstring.count)+[SNr].asstring
Ich hab von Programmiersprache nicht die geringste Ahnung und es wäre am Schönsten, wenn mir jemand mit einem fertigen Ausdruck den ich nur noch reinkopieren muss, weiterhelfen könnte.
Es ist egal was ich bisher auch schrittweise versuche habe, momentan kann ich nichtmals ein Zahlenfeld in Text umwandeln - mir erscheint auch wenn ich eine Feldberechnung in dieser Richtung ausführen will, immer ein Dialogfenster "Feldberechnung" mit folgender Fehlermeldung: "Bei der Verarbeitung ist ein Fehler aufgetreten, Einzelheiten finden Sie im Fenster mit Geoverarbeitungsergebnissen"
Leider habe ich um der Sache nachzugehen bisher nichtmals das Fenster "Geoverarbeitungsergebnisse" finden können und den Hilfefunktionen kam ich auch nicht weiter.
Ist nicht brandeilig - bin erst am Montag wieder im Büro, sag aber schon mal herzlichen Dank und wünsche schönes Wochenende
LG Marina
- Anmelden oder Registieren, um Kommentare verfassen zu können
Gespeichert von Mela_nie am Mo., 18.07.2011 - 09:34
Permalinkda ich mit dem 9er ArcGIS lange nicht mehr gearbeitet habe und mich jetzt in das 10er einarbeite, hab ich mal probiert, verstehe das aber mit den teilweise führenden Nullen nicht. Das kann ja nur mit einer if-Abfrage funktionieren?
"11-" & right([UNr],5) & "-" & "000" & left([SNr],3)
Ich denke das ist nicht ganz richtig so. Auf jeden fall kannst Du hier den Code für die Left/Right-Geschichte ablesen und statt dem "+" musst Du ein "&" verwenden bei Text. Zahl in Text umwandeln brauchst Du offenbar nicht, bei meinem Test hat er die Zahl einfach so angehängt.
Vielleicht hilft Dir das ja schon weiter. Viel Erfolg!
Gruß,
Melanie
Gespeichert von Gigi am Mo., 18.07.2011 - 10:16
Permalinkich habe zwar auch schon ArcGIS 10, aber die folgende Formel sollte in 9.3 funktionieren:
"11-" + right([UNr],5) + "-" + right("000" & [SNr],3)
Bei mir war es egal, ob ich das "+" oder ein "&" verwendet habe.
Viel Erfolg!
Gigi
Gespeichert von Maxilla am Mo., 18.07.2011 - 10:34
PermalinkString: "11-"
String concatenation: &
Right: Right(string, length)
Left: Left(string, length)
Count: Len(string)
Macht zusammen:
"11-" & Right ( [UNr], 5 ) & "-" & Left( "000", 3-Len ([SNr])) & [SNr]
Die fallabhängige Kürzung der vorangestellten Nullen bekommt man über die Len-Funktion geregelt.
Gespeichert von Marina am Mo., 18.07.2011 - 10:50
PermalinkEine abschließende Frage: ich habe im ersten Anlauf die Leerzeichen im Ausdruck weggelassen und alles direkt hintereinander geschrieben und bekam prompt wieder die schon oben beschriebene Fehlermeldung - liegt's daran? Und wo finde ich nun eigentlich diese besagten Geoverarbeitungsergebnisse?
Danke für Eure Mühen.
Gespeichert von Maxilla am Mo., 18.07.2011 - 11:00
PermalinkDie Geoverarbeitungsergebnisse findest du im Menü Geoprocessing unter Results (dürfte bei der deutschen Version dann wohl "Geoverarbeitung - Ergebnisse" heißen :)
Gespeichert von Marina am Mo., 18.07.2011 - 11:15
PermalinkProgramm bemeckert, dass er die Feldnamen nicht zuordnen kann - dürfte dann ja wohl an den Leerzeichen liegen