1998.10.8
文字フィールドを数字に変換するSML
以下のSMLをProcess/SML/Edit Scriptで入力し、Runをしてください。
実行する前に、代入先の数字フィールドをあらかじめ定義してください。
clear()
GetInputVector(V)......................ベクターを選択し、変数Vにセット
for each poly in V......................V中の全てのポリゴンに対してendまで計算
temp$ = V.poly.POLY.CODE$......................$は、変数が文字であることを明示
temp1 = StrToNum(left$(temp$, 2))......................left$は、文字temp$の左から2文字を取り出す。StrToNumは数字に変換。
temp2 = StrToNum(mid$(temp$,4,3))......................mid$は、文字temp$から、左から数えて4文字目から3文字を取り出す
V.poly.POLY[1].CODE1 = temp1......................[1]は、1レコード目に代入の意味。これをしないと文字のレコードとこれから代入する数字のレコードが別にAttachされます
V.poly.POLY[1].CODE2 = temp2
end
POLY.CODEは既存の文字フィールド(String, 10)
CODE1, CODE2は整数の新規フィールド(Integer,5)
(C)オープンGIS