1. 処理順序
3.17. 宮崎県小班 SHP- CSV
メニュー「宮崎県小班CSV-SHP」で新小班シェープファイルに追加した森林簿データを分離します。
施業班界シェープファイル
OBJECTID ...
Shape_area
森林簿
CSV(.csv)市町村 ...
森林組合
新小班シェープファイル
OBJECTID ...
Shape_area
01市町村
...
01森林組合
02市町村
...
02森林組合
...
森林簿
SYLK(.slk)市町村 ...
森林組合
40 入力フォルダ
新小班シェープファイルをおきます。
定義CSV
「宮崎県小班SHP-CSV対応表.csv」を指定します。バージョン6.0.94(2012/01/11)から、メニュー「宮崎県小
班CSV-SHP」での定義CSVとは異なります。数値のゼロパディングの指定を参照します。ゼロパディングが指
定されている列で、元の値が空白の場合、出力も空白になります。
出力フォルダ
入力フォルダのシェープファイルと同じ名前のシェープファイル、CSVファイル、SYLKファイルを作成しま す。CSVファイルとSYLKファイルは同じ内容ですが、SYLKファイルはセルの型情報を持っているため、EXCEL で開く際に、地番などが年月に化けるなどの問題が発生しません。
出力する小班シェープファイルには「OBJECTID」から「Shape_Area」までで、「めがね線番」「森林外フラ」
「保安林フラ」、森林簿の情報や、その後ろに付加されたフィールド「COMMENT」「COLOR」などはありませ ん。
新小班のフィールド「SHOID」が空白のレコードは、CSVとSYLKには出力しません。
新小班のフィールド「SHONO」の値が999のレコードは、CSVとSYLKには出力しません。
新小班のフォールド「森林簿行数」が値(=1,2,3,...)の行数をCSVとSYLKに出力します。「森林簿行数」が空 白のレコードはCSV,SYLKに出力しません。新小班のフィールド「01市町村」「02市町村」…が空白でない場 合、「01市町村」から「01新林組合」、「02市町村」から「02森林組合」…のそれぞれをCSVとSYLKの一行と して出力します。「02市町村」「03市町村」などが空白の場合、それ以降のフィールドは出力しません。
森林簿行数が1以上で、以下のフィールドが空白の場合、別のフィールドを参照して出力します。
空白のフィールド 参照するフィールド
01林班 RINPAN
01小班記号 SHOKIGOU(全角カタカナを半角カタカナに変換)
01小班番号 SHONO
02小班枝番 SHOEDA
バージョン6.0.94(2012/01/11)から、元のシェープファイルには、フィールド「01施面積6」から「01施面積
41 9」までの組があることを前提にしています。設定ファイルも「01施面積6」から「01施面積9」追加したもの になっています。
3.18.
共有者数のセット漏れ対応
表を参照し、新小班図の共有者数と所有形態を更新します。
新小班
処理対象の新小班シェープファイルを指定します。
所有y差テーブル共有者もれテーブルCSV(入力)
更新の対象を指定する表です。1列目の所有者名(漢字)を参照します。1行目はヘッダで、2行目からがデータ です。
所有者テーブルCSV(入力)
所有者の表です。1行目はヘッダで、2行目からがデータです。
1列:所有者名(漢字)。複数の名称の間にスペースあり。
2列:所有者名(半角カタカナ)。新小班図シェープファイルの「01所氏名カ」に対応 3列:共有者数。半角数値あるいは空白
「所有者テーブル共有者数もれテーブルCSV」の2行目から各行について次の処理を行います。
① 所有者テーブル共有者数もれテーブルCSVの1列目の名称をA1とします。
② 所有者テーブルCSVの1列目をB1とし、A1と同じ文字列B1の行をさがします。該当する行がない、
あるいは2行以上あれば、その旨をレポートして処理終了。
③ 所有者テーブルCSVの2列目の半角カタカナの名称をB2として、シェープファイルのフィールド「01 所氏名カ」の文字列とBが同じレコードを探します。該当するレコードがなければ、その旨をレポートし て処理終了。
④ 所有者テーブルCSVの2列目の半角カタカナについて、B2と同じ文字列がある場合、B1からB2がユニ ークに定まらないので、その旨をレポートし、該当するレコードをチェックリストにリストアップして処 理終了。
⑤ 所有者テーブルCSVの3列目の所有者数を、レコードの「01共有数」「01共有数」…にセット。また、
42
「01所有形態」「02所有形態」…に「72」をセットします。内容が変更されたレコードを「確認リスト」
に表示します。