2011年12月4日日曜日

植生データ作成④

Pythonでも辞書型内に改行があっても大丈夫じゃないの?と思って以下のようにしました。

[sourcecode language="python"]
import csv

def csv2dic(readed):
for row in readed:
print ','.join(row)+','

test = csv.reader(open('csvファイル', 'rb'))
csv2dic(test)
[/sourcecode]

結果↓


出力結果をターミナル上でコピーしてテキストエディタかなんかに貼付け。前と後を編集。

[sourcecode language="python"]
dic={1001:9,
1002:9,
1003:9,
(中略)
9998:10,
9999:10}
[/sourcecode]

最後にprint dic[9925]とかなんとかつけて.pyで保存すれば実行した時に10とか返ってきます。

ArcMapを起動してフィールド演算をします。
フィールド演算ウィンドウはレイヤウィンドウでshpファイルを右クリックして「属性テーブル」を開き、「新規フィールド」(だったかな?)を選択、型をshort、名前はpointとかの任意の名前してOK。作成されたフィールドの上の名前を右クリックして「フィールド演算」

形式で"Python"にチェックを入れて、"コードブロックを表示"にもチェック。上のテキストボックスに先ほど作った辞書型をコピペ、下のテキストボックスにはdic [!MAJOR1!]を入力して「OK」
計算が始まります。

できた。

色をつけてみました。




12/7 追記
入門 Unix for Mac OS X 第4版読んでて知ったんですが、別にターミナルの出力をコピペなんてことしなくても
python csv2dic.py > XXXX.txt
とかすればいいんですね。

0 件のコメント:

コメントを投稿