基盤地図情報のGrass(平面直角座標系etc)への取り込み

Mar. 25, 2011作成開始  Dec. 5, 2014, Dec. , 2016 追加修正 

1. 基盤地図情報関連の変換ツール revised at Jan. 8, 2017
2. 基盤地図情報2500の利用1
3. 基盤地図情報2500の利用2 added at Oct. 5, 7, 2012, Dec. 8, 2016
4. 県域25000の数値地図情報のGrassへの取り込み ー宮城県を例に added Mar.2013, 福島県桑折町Dec.2014
5. 数値地図5000(土地利用)近畿圏2008 and 2001 rev. Jan. 10, 2012

 

1. 基盤地図情報関連の変換ツールの確認 rev. at Jan.8, 2017

 基盤地図情報データベースを利用するには,国土地理院が用意している次のアプリで足りる。基盤地図情報データベースの大きな変更があった。それに併せて,
基盤地図情報閲覧コンバートソフトも更新された。次のようである。
http://fgd.gsi.go.jp/download/spec_update_info.html

 2014年7月31日 ◎ダウンロードデータ仕様の拡張及び変更を行いました (基盤地図情報ダウンロードデータ仕様書第4.0版とし、基盤地図情報 XMLスキーマ定義ファイル4.0としています。)
 変更内容 引用規格を一部変更しました。 ISO19123からJISX7123に変更 ISO19131からJISX7131に変更 ISO19136からJISX7136に変更 JPGIS第2.1版からJPGIS2014に変更 文字コードを変更しました。
 基盤地図情報の文字コードをSHIFT-JISからUTF-8へ変更 応用スキーマに関して以下の変更を行いました。
 基盤地図情報地物の属性名の変更(タグ名変更なし) 行政区画界線種別追加 水域種別追加 DEM種別の変更 DGHM区画およびDGHM種別の追加

 国土地理院ホーム > 基盤地図情報 > ダウンロードサービス
http://fgd.gsi.go.jp/download/ のページのほぼ最下部に,基盤地図情報閲覧コンバートソフト (8.8MB zipファイル, 2015年9月29日更新, 2016年12月3日現在の最新版)のダウンロードリンクがある。この利用法については次の,基盤地図情報2500の利用で述べる。シェープ出力でトラブルが多いが他に変わるソフトが無い。 操作マニュアルをここにリンク   する。

Jan. 3, 2017の追加:

  さて,国土地理院の基盤地図情報が充実してきて,当方も, 複数の図廓をまとめてシェープファイルに出力する状況になってきた。大阪府箕面市を全域カバーするためには,広根,高槻,伊丹,吹田,の4図幅であるが,建物については, 建物や建物の外周線などに分けてもみたが, シェープ出力はできなかった。out of memoryと表示される。Windows XP on Parallels Desktopに割り当てたバーチャルハードディスクの容量が不足していると考えて,容量を二倍に拡張したが効果は全くなかった。そこで,北部の山地と南部の丘陵部のセットとして,広根と伊丹,高槻と吹田,に分けることにした。

  次の図は,4図幅の,道路縁のみについて,シェープ出力した際の,完了メッセージである。

    数値地図ビューアは,何度か壊れてしまった。削除するのは,スタート/すべてのプログラム/,で,基盤地図情報ビューア,で,アンインストール,を選んで削除すること。ハードディスクの拡張後には,エクスポート,を開いて最下部の保存先のウィンドウで,C:¥Documents and Settings¥Administrator¥デスクトップ¥Minoh¥建築物の外周線,などとしてエクスポートに成功しても,デスクトップの対象フォルダ内では反映されていなかった。Cドライブを調べたら,C:¥Documents and Settings¥Administrator¥デスクトップ¥Minoh¥建築物の外周線,が二つあった。一つの,¥Documents and Settings,には(2008),とあり,もう一つは,(2017)とあった。後者には新たに,¥Administrator¥デスクトップ¥Minoh¥建築物の外周線,が作られていて,このフォルダーにはエクスポートされたシェープファイルが入っていた。このファイル群を,(2008)の方に写して,(2017)は削除した。この現象を再現させないように,数値地図ビューワーを削除した。最下部の保存先のウィンドウは,参照機能がうまくいかないことがままあって,その場合は,C:¥minohなどとすれば,新たにminohフォルダが作成されてこの中に作成される。

2. 基盤地図情報2500の利用 rev. at Nov. 30, 2013

 茨木市の基盤地図情報2500をダウンロードのち,前述の基盤地図情報ビューアー・コンバーターを使って,表示,統合して,シェープ出力して,Grassに取り込み,表示するまでを順を追って示す。

2.1 基盤地図情報ビューアー・コンバーターのインストールと基盤地図情報2500の取得

 zipファイルを解凍するとFGDVフォルダが作成され,アプリ以外にマニュアルFGDV.pdfが入っているので,これに従ってインストールし,実行すればよい。基盤地図情報ビューアー・コンバーターの実行についてはちょっとした誤解をしてしまうので注意する必要がある。というのは,FGDVフォルダ内を覗くとFGDV.exeファイルが入っているのでこれで直接実行しようとする。これはダブルクリックすると通常のアプリのように使えるように見えるが,うまく行かない。
 マニュアルに示されているように,FGDVフォルダ内のstart.cmdをダブルクリックして実行する必要がある。その結果,基盤地図情報ビューアー・コンバーター,というパソコン画面のアイコンが表れる。これをクリックすると,このアプリが立ち上がり,すでにダウンロードした基盤地図情報2500を,表示などが実行できる。
 基盤地図情報ダウンロードサービス
http://fgd.gsi.go.jp/download/
      eg. 茨木市
              行政区画の境界線及び代表点
              道路縁
              軌道の中心線
              標高点(数値標高モデルを除く)
              水涯線
              建築物の外周線
              市町村の町若しくは字の境界線及び代表点
                   ※茨木市のメタデータ
  全部にチェックした。茨木市の場合,ダウンロードファイル群は4フォルダに分かれているが,フォルダ毎に開いてshiftキーで全xmlファイルを開いて,フォルダ毎に追加して,OKすれば,ぼくのParallels Desktop上のXPでは2分余りで実行が完了する。ビューワーとしてもかなりすぐれたものである。なお,筆者は試していないが,解凍フォルダを作る前のzipファイルでも読み込める可能性が高い。

 

2.2 基盤地図情報ビューアー・コンバーターによる基盤地図情報2500の表示とshapeファイル出力

 このアプリの操作法については前述のpdfを見て欲しい。この節では,表示例を示す。
多量のデータのために,次のように潰れた表示になっている。

1.jpg

 さらに拡大した表示を次ぎに示す。この図にあるように多量のデータである。標高点だけでも11万点余り。

2.jpg

 標高点について,名称などの表示・非表示で標高点にチェックを入れた表示を次ぎに。詳細な高度情報を得ることができる。点ベクトルにこの情報が記述されているので,このデータからSurferなど別途GISソフトを利用すれば詳細な等高線を書くことが可能である。

3.jpg

 今回,私がGIS上で必要なものは自然環境と社会または生活に係わる位置関係である。行政区画(ポリゴン),水涯線(ポリライン),道路縁(ポリライン),軌道の中心線があれば十分であろう。設定/プロジェクト設定/表示設定で,形状の表示・非表示と表示項目を選んだところを示している。

4.jpg

 Macでの操作と同様,一本指でのドラッグ,二本指での押しによるズームイン,引きによるズームアウトが可能で極めて操作が簡単で速度もはやい。次の表示部分で,東側には山手台や桑原,西側には彩都も見える。

5.jpg

面データの属性表示をしているところも次ぎに示す。

6.jpg

次の図のように,図上で面積や距離も求めることができる。西部の彩都あさぎに,ポリゴンに旗が立っている。

7.jpg

 .[コンバート]-[シェープファイルへ出力] 
 処理結果が,個々の形状について表示される。今回の処理時間は1分ほどであった。座標系の選択肢は,平面直角座標系(大阪府の場合はVI系をさらに選ぶ)だけである。次の図はマックのファインダで,出力されたshapeファイル一式(各テーマに対してそれぞれ4ファイル)を示す。
  なお,勘違いしやすく,マニュアルにも説明がないのであるが,エクスポートメニューで領域設定をしても,エクスポートのパネル上には,細かなオプションを設定する必要がある。
  最上段では変換種別をシェープファイルにして,直角座標系にはチェックが入っており,6系と自動?で表示されている。
  左欄では,水域WA,水涯線WL,建築物BldA,建築物の外周線BldLなどを選ぶ。Aは領域で,Lは境界線である。
  右欄では変換する領域を選ぶ。トップには,全データ領域を出力,とあり,これを選ぶことで,建築物BldAなどの地物を全領域のまとまったベクトルの形で出力される。右下には,DM(国土基本図)単位の選択画面も用意されている。

 次の図は,作成された地物 features のファイル群です。

8.jpg

 追加(Dec.1, 2013):このコンテンツを作成した時には,ファイル名は英字であるが,現在は,31201-20080331-建築物の外周線.shpなどと2バイト文字が使われている。Grassで使うためには,TottoriKiban2500_BldL.shpなどとすること。
 このプロジェクトを同名でデータフォルダに保存すれば,ここからFGDVを開くことができる。このファイルを,ぼくはMacとWindowsの共有フォルダに保管している。なお,ファイルメニューの下部にも前に保存したプロジェクト名が残るのでここを選んで再現することができる。

一応,マニュアルの,エクスポート,の部分を次に再掲する。

エクスポート

読み込んだ基盤地図情報を変換してファイル保存します。
[拡張DM]、[シェープファイル] 、[GML(基盤地図仕様)ファイル] 、[SXF(SFC)ファイル]に変換可能です。

操作方法

1.[エクスポート]-[エクスポート]を実行します。 2.[エクスポート]ダイアログボックスが表示されます。 3.変換種別を確定します。 4.変換する要素のチェックをONに設定します。

5. 「出力先フォルダ」を設定します。 6.直角座標系に変換する場合は、「直角座標系に変換して出力」チェッ

クボックスをONに設定し、系の選択も忘れずに行ってください。

7.「(おおむね)現在表示されている要素のみを出力」チェックボックス をONにすると、画面上に表示されている範囲の要素を出力します。 他の領域についてはヘルプをご確認ください。

8.変換ファイルは、あらかじめ画面上でDM図郭や、領域を選択することに より、選択された領域のみを出力することができます。

[エクスポート]-[DM図郭領域選択]、[矩形領域選択] 、[任意(ポ リゴン)領域選択]

9.【OK】ボタンを押すと、処理を開始します。変換結果を右のような ダイアログボックスで通知します。変換の対応コード等についてはヘ ルプをご覧ください。

 

2.3 Grassへの取り込みだが

 rasterファイルと違って,国土地理院のマップファイルであっても座標系の変換は必要がない。

 v.in.ogr dsn=/Users/moto/grassdata/FileConvert_folder/IbarakiCityKiban2500shape/RailCL.shp output=IbarakiKiban2500_Rail min_area=0.0001 snap=-1 --overwrite
(gis.mではFile/Import vector map/Multiple formats using OGR で選んで,パネルで,OGRのdata source nameとして,/grassdata/FileConvert_folder/IbarakiCityKiban2500shape/RailCL.shpを選ぶ。Output vector mapとしては,IbarakiKiban2500_Railを入力して,OptionタブでOverride dataset projection (use location's projection)にチェックを入れる)
で,取り込むことができる。これは軌道中心線である。国土情報基盤が平面直角座標系6系であり,取り込んだLocationに対応しているのであるが,Datum <Japanese_Geodetic_Datum_2000> not recognised by GRASS and no parameters found
とされる。ただ,Projection of input dataset and current location appear to match Layer: RailCL というようにマッチしたというメッセージが出る。データファイルのcolumn名が日本語なので,文字化けして1 byte文字に置き換えられている。この出力結果を参考に示す。

Column name changed: '?¶??ú??©' -> 'x6___z_T__' Importing map 606 features... Building topology for vector map <IbarakiKiban2500_Rail>... Registering primitives... 606 primitives registered 4602 vertices registered Building areas... 0 areas built 0 isles built

Attaching islands... Attaching centroids... Number of nodes: 710 Number of primitives: 606 Number of points: 0 Number of lines: 606 Number of boundaries: 0 Number of centroids: 0 Number of areas: 0 Number of isles: 0 Column name changed: '?®?õ?®?¹?ú' -> 'x__u___9_z' Column name changed: '?\?¦??' -> 'x____f__' Column name changed: '?í?Ê' -> 'xm_J' Column name changed: '?¼?Ì' -> 'x__L'

2.4 dbfファイルの編集 

 Excel2004forMacを先に立ち上げてIbarakiKiban2500_Rail.dbf(dBaseIVファイル)を開く。自動で適切に開いてくれる(このファイルのfeature地物数は606と少ない)。なお,Excel は2007からdbfファイルを扱うことができなくなった。

9.jpg

2バイト文字をすべて英字に置き換えて,保存。excelはこのファイルを認識しており,DBF 4(dBASE IV)というファイル形式で保存してくれる。次のように,列タイトルや軌道の種別も1byte文字に変更している。

10.jpg

これを先ほどの方法でGrassに取り込むと,1byte文字だけのために,勝手にカラム名が変更されなくなる。次の図はGrassに取り込んで表示したものである。

11.jpg

 さて,街区区分や水涯線はExcelが使えない。これらをGrassで取り込むと,レコード数は65536(2^16)になった。つまり,Excel2004の限界行数である。エクセルでは特にメッセージもなく,65536行までしか取り込まれていない。Excel2007からは104万8576行(2^20)が可能だが(ちなみに,列数は16,384列になった。Excel2004は256列),dBaseファイルを読み込むのが難しく出力はできない。ネットで全世界を調べたがそういうことだ。最新のNeoOfficeの限界行数もExcel2004と同様である。
 ということで,基盤地図情報ビューアー・コンバーターで3主題については再度,出力しなおす嵌めになった。

 さて,ネット検索して次のサイトをみつけた。

DBF Viewer 2000
http://www.dbfviewer2000.com/?gclid=CIfs45-c56cCFQSYpAodb2pIbw
Import of data from a variety of formats in DBF Viewer 2000

DBF Viewer 2000 allows you import data from TXT,CSV, Excel (XLS,XLSX) and DBF file formats. Data import can be performed with the help of the GUI or the command line.  Advanced data export capabilities offered by DBF Viewer 2000 The software enables you to export DBF file to Excel (XLS, XLSX), CSV, TXT, SQL, SDF, XML, HTML, PRG, as well as MS SQL, MySQL, Oracle and PostgreSQL scripts. DBF Viewer 2000 runs on all versions of Windows from 95 through XP, Vista, 7 and Server Editions (32/64-bit)
Latest updates: February 28, 2011 DBF Viewer 2000 v3.75 released! Now supports exporting dbf to xlsx

 Download DBF Viewer 2000 Free Trial Versionがあるのでこれをダウンロードした。制限を感じないで使うことができた。購入する場合,$39.95である。ダウンロード後,28日間有効である。

 DBF Viewer 2000のエリアスがデスクトップに表示されている。これをクリックして,DBFView.exeを実行する。例えばRdEdg.dbf(道路のポリライン情報)を開く。レコード数が左下欄外に表示される。75524レコードである。

 列の名称は,File/Modify sturucture/で変更が可能である。列名を選んで,

Editボタンを押す。管理主体はManager,名称はName,種別はKinds,表示区分はExpresClas,存在期間はDuraStart,存在終了日はDuraEnd,整備完了日はEquipFin,更新フラグはRenewFlag,行政コードはAdminCodeなど。10文字まで。
 道路の名称など表中の変更はEdit/Replaceで検索して置換することができる。道路の名称については,真幅道路はTrueWidRd,軽車道はLightRd,庭園路等はGardenRdとした。WL.dbfは89530レコードに達する。水涯線(河川)はWatBdy_Rvとしたが,河川を囲む( )は全角である。水涯線(湖池)はWatBdy_pndとしている。一条河川はLineStream。その他はetc。ファインダ(ブラウザ)で見ると,ファイルを変更する過程でどんどんフィルが更新される。

 最終的に(念のために?)保存するのはFile/Save As/Export。自動で元のファイル名に1が追加される。ファイル名の上書きはできないから注意すること。

 さて,たとえば,AdmAreaつまり町丁目レベルの行政区画ファイルには,303レコードの漢字の地名が記録されている。これを1byte文字に替えないとすべて文字化けになる。きつかったのであるが,すべてローマ字に置き換えた。当初は漢字を適当に読んで入力していたが使用に耐えないので,
http://www.yu-bin.net/pc/html/27211.html
で読みを確認しながら実施した。始めからこれを使えば良かった。沢良宜3丁目などはSawaragi_3などとしている。日本語表記をアルファベット表記にするのは難しい。たとえば茨木市東太田ヒガシオオダなどはHigashiOhdaとした。HigashiOdaとすると東小田などと誤るので。町をちょうと読むか,まちと読むかなども注意したところである。編集の結果の一部を下の図に示す。

 なお,地名表記に拘らないのであれば,表中の地名などの2バイト文字を1バイト文字に変更する必要性がない。

 このDBF Viewer 2000は,dBaseの制限内で項目を追加したり削除したりできるのでデータベースを充実することが可能である。

12.jpg

Grassへの入力の際のoutputを示す(改行はmiというエディタで削除)。

v.in.ogr dsn=/Users/moto/grassdata/FileConvert_folder/IbarakiCityKiban2500shape/AdmArea.shp output=IbarakiKiban2500_AdmArea min_area=0.0001 snap=-1 --overwritev.in.ogr dsn=/Users/moto/grassdata/FileConvert_folder/IbarakiCityKiban2500shape/AdmArea.shp output=IbarakiKiban2500_AdmArea min_area=0.0001 snap=-1 --overwrite

Datum <Japanese_Geodetic_Datum_2000> not recognised by GRASS and no parameters foundImporting map 303 features...

303 primitives registered----Remove duplicates:------Break boundaries:Building topology for vector map <IbarakiKiban2500_AdmArea>...Number of nodes: 283------Remove duplicates:-------301 areas built------1168 primitives registered28469 vertices registeredBuilding areas...301 areas built2 isles builtAttaching islands...Attaching centroids...Number of nodes: 869Number of primitives: 1168Number of points: 0Number of lines: 0Number of boundaries: 867Number of centroids: 301Number of areas: 301Number of isles: 2--------301 areas represent more (overlapping) features, because polygons overlap in input layer(s). Such areas are linked to more than 1 row in attribute table. The number of features for those areas is stored as category in layer 2303 input polygonsTotal area: 7.654566e+07 (301 areas)Overlapping area: 7.654566e+07 (301 areas)Area without category: 0.000000e+00 (0 areas)-----------Building topology for vector map <IbarakiKiban2500_AdmArea>...Registering primitives...2 isles builtAttaching islands...Number of nodes: 568Number of primitives: 2035Number of points: 0Number of lines: 0Number of boundaries: 2035Number of centroids: 0Number of areas: 301Number of isles: 2Number of areas without centroid: 301Layer: AdmAreaBuilding topology for vector map <IbarakiKiban2500_AdmArea>...Building areas...Clean boundaries at nodes:------------Change dangles to lines:-------------Remove bridges:Number of primitives: 303Number of points: 0Number of lines: 0Number of boundaries: 303Number of centroids: 0Number of areas: -Number of isles: --------------------------------Break polygons:54905 vertices registeredBuilding areas...274 areas built264 isles builtAttaching islands...Attaching centroids...Number of nodes: 283Number of primitives: 303Number of points: 0Number of lines: 0Number of boundaries: 303Number of centroids: 0Number of areas: 274Number of isles: 264Number of incorrect boundaries: 39Number of areas without centroid: 274------------Cleaning polygons, result is not guaranteed!Building topology for vector map <IbarakiKiban2500_AdmArea>...Registering primitives...Projection of input dataset and current location appear to matchLayer: AdmArea

 Grassで表示した。ファイル名は,IbarakiKiban2500_AdmArea(Vector map)。表示にDisplayの項目がどのように効くのかを試行錯誤した。ShapesとAreasは多角形の行政区画を表示する上で必須。それから,Centroidsを選ばないとLabel(住所名など)が表示できない。Label vectorsでlabelに要チェック。Layer labelsはこの場合1で,Attribute column for labelsはName。 各行政区に地名は表示されるが,どうしても「Ai/」が地名の前に付く。消せない。この前の×はPoint symbolsのiconをxに設定しているからである。この場所がcentroidつまり図心を示す。次ぎにその設定と表示の一部を示す。

13.jpg

追加修正 Apr. 20, 2011

 町丁目の区画と地名が合わないことが分かった。上記のように,AdmArea.dbfについて, 2bytes文字をローマ字に変更した。その際になぜか,名称 Name の列が,アルファベット順になってしまった(ぼくがやったことだろう)。各行の情報は一致している。
 そのため,第1列のid順がもともとのものから崩れた。本来なら,行単位つまりレコード情報が一致しているのであるから対応していい筈だが,Grassの解釈の問題があるのかも知れない。
 そこで,第1列の行の順番をもとのようにする必要がある。idにはすべてにK4_がついているが,それに続く番号は,1,6,11,16,21,26と順番になっている。ところが,エクセルでソートしようとすると,K4_以下は,1,1001,1006,101, 1011となってしまう。つまり,1000,1001,1006,1010,1011としてゆく。つまり,エクセルは文字と認識している。
 そこで,まずA列とB列の間に列を挿入して,MID関数を使う。B176のセルに,=MID(A176,4,4),の式を入れると,A176の値が,K4_416,だから数字だけピックアップして,416を拾うことができる。このままでは文字という認識のため,列を挿入し,value関数を使う。C176のセルに,=value(B176),の式を入れると,416が数字になる。そしてこのvalue関数で変換した列で昇順のソートをする。次のようにうまく行った。

 

16.jpg

 2bytes文字の元々のdbfファイルは次のようだから,完全に一致している。

 

17.jpg

 さて,Grassでの表示を次ぎに示す。

18.jpg

 かなり,縮小表示しているので,地名が読みにくいかも知れない。この場所は,安威川の谷口近くである。安威,桑原,山手台などが見える。先に示した図(13.jpg)では,xのあとに,Ai/,が付いていたが,これは実は安威のことだった。本来茨木市が付くべきなのであった。

 

 RdEdge.shpを取り込んだ。ファイル名は,IbarakiKiban2500_RdEdge

  v.in.ogr dsn=/Users/moto/grassdata/FileConvert_folder/IbarakiCityKiban2500shape/RdEdg.shp output=IbarakiKiban_RdEdge min_area=0.0001 snap=-1 --overwriteDatum <Japanese_Geodetic_Datum_2000> not recognised by GRASS and no parameters foundImporting map 75524 features...Projection of input dataset and current location appear to matchLayer: RdEdg-----------------------------------------------------Registering pBuilding areas...Number of nodes: 84397Number of primitives: 75524Number of points: 0Number of lines: 75524Number of boundaries: 0Number of centroids: 0Number of areas: 0Number of isles: 00 areas built0 isles builtAttaching islands...Attaching centroids...75524 primitives registered868873 vertices registered 

道路完了。下に表示する。

14.jpg 

 WL.shpを取り込んだ。ファイル名は,IbarakiKiban2500_WL

 v.in.ogr dsn=/Users/moto/grassdata/FileConvert_folder/IbarakiCityKiban2500shape/WL.shp output=IbarakiKiban2500_WL min_area=0.0001 snap=-1 --overwriteDatum <Japanese_Geodetic_Datum_2000> not recognised by GRASS and no parameters foundLayer: WLImporting map 89530 features...Projection of input dataset and current location appear to match-----------------Building areas...0 areas built0 isles builtAttaching islands...Attaching centroids...Number of nodes: 93197Number of primitives: 89530Number of points: 0Number of lines: 89530Number of boundaries: 0Number of centroids: 0Number of areas: 0Number of isles: 089530 primitives registered546914 vertices registered

 さて,道路の上に水涯線を表示したものの一部を次ぎに示す。

15.jpg

3. 基盤地図情報2500の利用2 追加 Oct. 7, 2012

 上の利用1では茨木市のみであったが,国土地理院のダウンロードサイトで,吹田市,豊中市,池田市,箕面市(一部)をまとめてダウンロードし,基盤地図情報ビューアー・コンバーターを使ってまとめてシェープファイルとして出力し,Grassからの取り込みを説明する。内容にダブりがあるので,わかっている部分は読み飛ばして頂きたい。

3.1 基盤地図情報2500のダウンロード

 
http://fgd.gsi.go.jp/download/
国土地理院ホーム > 基盤地図情報 > 基盤地図情報の閲覧・ダウンロード > ダウンロードサービス

 ここでダウンロードするには登録する必要があります(登録するとすぐにメールで返事があります)。君たち学生も可能です。
 市町村別に公開されている基盤地図情報縮尺レベル2500(JPGIS(GML)形式)をダウンロードする。吹田市,豊中市,池田市(全域を網羅せず),箕面市(一部のみ)である。市町村を選んだあと,基盤地図情報の項目選択が必要となるが,これはすべて選択する。期間の選択もあるがこれに複数の選択肢はない。

  行政区画の境界線及び代表点
道路縁
軌道の中心線
標高点(数値標高モデルを除く)
水涯線
建築物の外周線
市町村の町若しくは字の境界線及び代表点

 ダウンロードファイルリストが出る。それぞれのファイルの右端にダウンロードのボタンがある。ゆっくりと次から次と選んで行けばいい。最も下部にあるSELECT-DATA.txtもダウンロードしておくと記録に便利である。豊中市が最も大きく,箕面市は最も小さい。
 最後にログアウトする。長くログインしていると自動でログアウトされる。

 表示ソフトウエアも,
http://fgd.gsi.go.jp/download/
のページの最下部に配置されているリンクからダウンロードする。最近,更新されているので,古い物を削除して新たにインストールすること。私の場合,古い物を放置したのでトラブルに遭った。
 基盤地図情報閲覧コンバートソフト (8.2MB zipファイル) (2012年7月19日更新)

  インストールしてヘルプでversionをみると,3.20となっている。
デフォルトでは,次のパスにインストールされる。
C:\Documents and Settings\Administrator\スタートメニュー\プログラム\基盤地図情報ビューア−・コンバーター,である。ここには,アンインストーラーも同時にインストールされる。

3.2 基盤地図情報ビューアー・コンバーター での作業

  基盤地図情報ビューアー・コンバーターを立ち上げて,メーンメニューから見ることができるhelpに従って全てのファイルを指定して取り込む。ファイル/新規プロジェクトを作成し,追加機能でダウンロードしたJPGIS(GML)ファイルを複数選択機能(最上部と最下部のファイルをshiftキーで選ぶとまとめて選択できる,一つ一つはcotrolキー)を使ってすべて取り込む(吹田市,豊中市,池田市,箕面市の場合,5分ほどか)。取り込んだファイルが表示される。この段階で取り込んだファイルは(見かけ上)統合されている。

 


 大阪府内市町村コード表 http://www.pref.osaka.jp/kenshin/kenkyoka/sikuchouson_code.html を見ると,27203は豊中市,27204は池田市,27205は吹田市,27220は箕面市にあたる。上の図を見ると,豊中市は全域が,他の市は一部が詳細な情報を持っており,情報が均質な地域は4市では豊中市だけである。

 基盤地図情報2012Sep吹田周辺Projectフォルダ,内に作成されたフォルダをみると,27203-20100226の豊中と27220-20100317の箕面はRD,BDL,BDというフォルダが,
27204-20100317の池田と27205-20080331の吹田はBDLとBDというフォルダが,
作成されている。箕面は極めて表示範囲が限定されているが新たに開発された新御堂北縁のVisolaパークを中心にその詳細が表現されている。
 
 作成したプロジェクトは別名で,この場合は,豊中・吹田・池田・箕面一部プロジェクト.fgdvという名称で,基盤地図情報2012Sep吹田周辺Projectに保存する。左のペーンをみると各市毎にまとまっている。

 一つのプロジェクトでこのように取り込まれたファイルに対して,「シェープファイルへの出力」を実行する。
 メーンメニューで,エクスポートを選び,変換種別にシェープファイルを選び,この右手には,直角座標系にチェックが入っていて,正しい6系が選ばれいる。変換する領域として,全データ領域の出力,のラジオボタンを選ぶ。左の変換する要素については左下のすべてをONを選ぶ。最下段で出力先を指定する(ぼくのはマックなので\\.psf\Mac_Win_Shared\基盤地図情報2012Sep吹田周辺Project_Shapes\)。そしてOK。20%表示のあと,フリーズ。このあと,すごいことになるのだが,ここでは省略。
 とにかく,Mac上のWindows XPは,復活して,何とかシェープ化が完了した。ただ出力したものを見ると,全く統合されておらず,市毎のファイルになっている。つまりは各市町村ずつシェープ出力した場合と同じ結果が得られるだけだ。
 なお,シェープ出力結果がウィンドウに表示されるので,すべての項目について,「……へ変換・出力しました」というメッセージが出ていることを確認すること。

標高点 を ElevPt へ変換・出力しました
行政区画 を AdmArea へ変換・出力しました
行政区画界線 を AdmBdry へ変換・出力しました
行政区画代表点 を AdmPt へ変換・出力しました
町字界線 を CommBdry へ変換・出力しました
町字の代表点 を CommPt へ変換・出力しました
水域 を WA へ変換・出力しました
水涯線 を WL へ変換・出力しました
建築物 を BldA へ変換・出力しました
建築物の外周線 を BldL へ変換・出力しました
道路縁 を RdEdg へ変換・出力しました
道路構成線 を RdCompt へ変換・出力しました
軌道の中心線 を RailCL へ変換・出力しました
 などとなる。

追加(Jul. 28, 2014): 福島市,伊達市,桑折町をダウンロードしたら,新たなオブジェクトがあった。次の様にアルファベット表示されている。なお,この日は,2012年3月14日のものであった。
水部構造物線を,WStrL
水部構造物面を,WStrA
追加(Nov. 30, 2014): 桑折町をダウンロードしたら,新たなオブジェクトがあった。次の様にアルファベット表示されている。そして,2014年7月1日のものであった。
街区線を,SBBdry
街区代表点を,SBAPt
 SBBdryを表示したら,桑折町の筈が,福島市中心部の街区線であった。水涯線WLはGrassに取り込めたが,水域WAについては境界線だけがtmpファイルとして作成された。これは意味が無いのでGrass内のものを削除した。町字界線CommBdryの範囲は次の画像(赤色で示す,細い黒線は基盤地図情報25000の行政境界,太い黒線はAdmBndry)のように,福島市,桑折町,国見町,伊達市の範囲にまたがっている。桑折町のものだけをダウンロードしたつもりだが周辺行政区のものがまとまっている。そういうデータベースの供給になったということだ。


以下の記述はJul2014までのソフトで,Nov2014(ver. 4.0)には下記のようなトラブルは回避できたのかも知れない。

 3市町のシェープ出力を試みたが,3市町丸ごとは不可能であった。伊達市と桑折町は個々に丸ごと出力が可能であった。出力しました,というメッセージが出る。
 福島市については,かなり苦労した。水涯線や行政界などは問題無くシェープ化されたようである。メッセージは無かったが。ところが,GISに欠かせない次の5件がスルーされていた。そこで丸2日なんやかやとやったが,次の結果を得た。
 基盤地図情報ビューアー・コンバーターを,削除して再インストールした(全く同じバージョンである)。このことが功を奏した。JPGIS形式とJPGIS(GML)形式の両方を試したが,JPGIS(GML)形式でうまく行ったように思う。「建築物の外周線」と「道路縁」は一つずつで成功。「軌道の中心線」と「道路構成線」は二つまとめて一瞬で成功。建築物BldAはどうしても反応が無かった。大きすぎるのであろう(当方のMac上のWindows XPは全体でメモリーが8GB)。ここで出力したシェープファイルは,平面直角座標系にチェックを入れていないので,経緯度座標系のままである。現在,時間がないので,福島市の「建築物の外周線」「道路縁」「軌道の中心線」「道路構成線」だけをGrassGISに取り込むことにする。dbfの見出しの英字化もこの4ファイル群だけ修正する。

 5mメッシュなどのDEMの方もこの基盤地図情報ビューアー・コンバーター,で取り込みと表示ができるが,「シェープファイルへの出力」の出力のオプションが無くGrassで使えない。それゆえ,DEMについてはこのソフトで取り込まない。

 なお,品川地蔵さんが,今もマック用のビューワーを作っていた。基盤地図ビューア (2013/08/14)である。http://www.jizoh.jp/pages/BMVr.html
 Ver 3.5.1 ( 2013/08/14 ) intel Mac のみ。Mac OS X 10.6以降。
 これには,次のデータタイプが表示できる。
行政区画界線(AdmBdry)
行政区画代表点(AdmPt) -- 名称を表示
町字界線(CommBdry)
町字の代表点(CommPt) -- 名称を表示
街区線(SBBdry)
街区代表点(SBAPt)   -- 番号を表示
海岸線(Cstline)
水域(WA) -- 塗りつぶします。
水涯線(WL)
水部構造物線(WStrL)
水部構造物面(WStrA) -- 網掛、斜線などで描画します。名称が記載されていれば表示。
建築物(BldA) -- 塗りつぶします。名称が記載されていれば表示。
道路縁(RdEdg)
道路構成線(RdCompt)
道路域(RdArea) -- 塗りつぶします。名称が記載されていれば表示。
鉄道の中心線(RailCL)
標高点(ElevPt)

 2014年11月の段階で,桑折町を見ると,新たなベクトルデータがさらに追加されている。例えば,これまでの,行政区画界線の他に,行政区画の領域,町字界,街区界,などである。

3.3 Grass-GISによる取り込みの前に

 Grassで主題図のレイヤーを表示する際に地図上の位置を理解する上で,この基盤地図情報2500は参考になるのだが,削除可能なのは,はじめの標高点 ElevPtぐらいである 。高度情報は別途DEMを入力することで可能となる。

行政区画 AdmArea
行政区画界線 AdmBdry
行政区画代表点 AdmP(ポリゴンの重心点)
町字界線 CommBdry
町字の代表点 CommPt(ポリゴンの重心点)
水域 WA
水涯線 WL
建築物 BldA
建築物の外周線 BldL
道路縁 RdEdg
道路構成線 RdCompt
軌道の中心線 RailCL

 すでに述べたように,dbfファイルに2バイト文字がある時には,Grass-GISに取り込む際に,次の1バイト変更作業が必要となる。
1. 各列の名称(フィールド名)は必ず1バイト文字にする。
2. 表の中味が2バイト文字であって,Grassでその情報が必要の場合である。

 さて,上で述べたdbfファイルの編集ソフトとは異なって,OpenOfficeを使う。使い方を簡潔にここで示す。Mac用にもOpenOfficeがあるが,ここでの目的には使えない。文情報C教室にインストールをお願いし実現している。

 さて,シェープ出力して得た個々の主題図ファイル4個のうち,dbfファイルを見ると,ほどんどの列タイトルが共通するが多少異なる場合もある。次にまとめて示す。

 

 上の表の赤字で示したものが日本語文字に対して1byte文字表現である(提案)。少なくとも一つのLocationでは統一して置かないと,種々の問題が生じる。なお,dBaseIIIを取り扱うBASEではフィールド名は英数字10個までである。
 Excel2004やOpenOfficeの限界行数65536行で,これを超えるとファイルは扱えない。読み込めてしまうが,これより多い行は無視されるという意味で,破壊される。言い換えれば,行数が65536になれば,これらのソフトで取り扱えないということだ。で。その場合は,
DBF Viewer 2000
http://www.dbfviewer2000.com/?gclid=CIfs45-c56cCFQSYpAodb2pIbw
を使うことになる。これは$40する(僕は購入)。文情報CではソフトをインストールしてもPCを切ればすべてが無くなるので(読み込みまたは書き込み専用フォルダに入れないこと),何度も使えることになる(筈?)。


 まずは,OpenOffice.org BASE で吹田市のdbfファイルを覗いてみよう。使用法はネット上に多々ある。
 1. BASEを立ち上げて,既存のデータベースに接続/dBASE(一度BASEで保存したものを開く時は,「既存のデータベースを開く」),を選ぶ。ブラウズ画面で吹田市のシェープファイルが入っているフォルダを選ぶ。そうすると,吹田市フォルダ内のdbfファイルのリストが表示される。
 2.左のデータベースのペーンのテーブルが当初,選ばれている筈。右のペーンで対象ファイルを選び,編集/編集,を実行すると,列名(BASEではフィールド名という)とその属性情報が表示される。ここで2bytes名の変更が可能である。ただ,前述のように次の方法で行数を確認すること。限界行数65536行が最終行になっていたら,このBASEでは使用できない。
 3. 前後するが,行数を確認するには,2.で編集したいファイルをダブルクリックしてdbfの最終行をスクロールして出して,その行をクリックすると,左下のレコード欄に示される。

 さて,吹田市は,前述の茨木市や豊中市と比べると極端に情報量は少なくて,すべてのdbfファイルの行数は小さく,すべてBASEで編集可能であることがわかった。上の表に示しているように,表内の2byte文字で住所情報は,行政区画と町字代表点に示されている(表中に青字で示す)。町字代表点は地名としては意味がなく,行政区画内の住所を変更すれば十分である。
 変更の手順は前述の茨木市のように,
郵便番号検索ゆうびんねっと
http://www.yu-bin.net/pc/key_get.cgi?KEN=27&KEY=%90%81%93c%8Es&TYPE=0
を使うがいい。前述のようにローマ字表記に注意すること。君たちは30名近くいるのだから,分担して入力してまとめるのがいいだろう。

 さあ,これでGrassへのシェープファイルの出力の準備ができた筈であるが,最後にもう一つの準備がある。というのは,Grassは2bytes文字のファイル名が使えない。マックならファインダで,ウィンドウズならブラウザで英数字に換える必要がある。これは次の項で述べる。

 

3.4 Grass-GISによる取り込み(茨木市の例に従う)

 Grassを使うには,まずはフォルダを一つ作る必要がある。通常はgrassdataとする。他の名前にするとトラブルに対処できない場合がある。それから,その下位に,FileConvert_folderという名前のフォルダを作成する。この名称はローマ数字なら何でもいい。Taro_Dataでもいいが,ハイフンは使わない方がよい。TaroとDataの間の記号はアンダーバーと言う。
 前述のように,先ほど作成した吹田市のシェープファイル群をFileConvert_folderに入れるのであるが,今後,大量のファイルをここに入れるので,拡散してわからなくなるから,SuitaKiban2500shapesなどの名称のフォルダを入れてまとめた方が良い。
grassdata/FileConvert_folder/SuitaKiban2500shapes/AdmArea.dbf, AdmArea.prj, AdmArea.shp, AdmArea.shx 
 などとなる。AdmAreaというのは前述のように行政区画である。
 さて,前述の英字短縮形を次に再掲する。
行政区画 AdmArea
行政区画界線 AdmBdry
行政区画代表点 AdmP(ポリゴンの重心点)
町字界線 CommBdry
町字の代表点 CommPt(ポリゴンの重心点)
水域 WA
水涯線 WL
建築物 BldA
建築物の外周線 BldL
道路縁 RdEdg
道路構成線 RdCompt
軌道の中心線 RailCL
標高点 ElevPt

 さて,このページの茨木市の例に従うとは言っても,もしGrassのLocationすら作成していないのであれば,次の10.htmの「Grassのロケーション作成」へ。
 ダウンロードしたシェープファイル群をすべて,grassdata/FileConvert_folder/SuitaKiban2500shapesにコピーして(移動ではない,マックの場合はoptionキー+ドラッグアンドドロップ,ウィンドウズの場合はoptionキーの代わりalternativeキー),次の様にファイル名を変更すること。授業進行の都合上,同じファイル名にして,例えば,軌道の中心線.dbf, 同.prj,同.shp,同.shxは,SuitaKiban_RailCL.dbf, SuitaKiban_RailCL.prj,SuitaKiban_RailCL.shp,SuitaKiban_RailCL.shx
grassdata/FileConvert_folder/SuitaKiban2500shapes/AdmArea.dbf, AdmArea.prj, AdmArea.shp, AdmArea.shx

 なお,RaiLCL_SuitaKiban.shpなどとしても同じと感じられるかも知れないが,Grass内でのベクトルやラスタファイルの表示がアルファベット順になっており,Sutaを先にすることで吹田関係をまとめて表示することが可能となる。
 Macではアプリケーションフォルダにもともと用意されているAutomator(ロボットアイコン)を使って,ファイル名を一括変換が可能である(Automatorを立ち上げてさらにアプリケーションの中からAutomatorを選ぶ。そして左のアクションを右のウィンドウにドラッグアンドドロップする)。私はFileConverter_folderにそれによって作成したアプリを保存している。実行内容は,1. 指定されたFinder項目の取得,2. フォルダの内容を取得,3.Finder項目名のテキストを置き換える,である。Windowsのもフリーウェアが存在するようである。
 なお,ファイル名の変更順番として,例えば, 行政区画 AdmArea,行政区画界線 AdmBdry,行政区画代表点 AdmP(ポリゴンの重心点)の場合,先に行政区画界線,行政区画代表点(吹田市の場合無いか),行政区画,としないと,ファイル名が混乱してしまう。

 以上で,Grassへの取り込みの準備完了である。

 

3.5 最近のデータベースの充実 Dec. 8, 2016

  当方の,故郷の京都府亀岡市の,25,000分の1地形図の,「埴生」,「亀岡」,「京都西北部」の東西に並ぶ3図について,http://fgd.gsi.go.jp/download/menu.php から,基盤地図情報 数値標高モデル(ラスター), 基盤地図情報 基本項目(ベクトル),を久しぶりにダウンロードした。見事に5mメッシュ高度情報,3次メッシュレベルの全基本項目が完結していた。作成日はSep., 2016である。前述の吹田,豊中,箕面などはおそらく全部充実しているのであろう。

 それから, 前述の茨木市のように,この種のファイル群は,この時期には行政区単位になっていたが,現在は,25,000分の1地形図,つまり,2次メッシュ単位の図郭での選択肢と,行政区単位での選択肢があるが,いずれも結局,2次メッシュ単位になっている。その例を,数値地図ビューワーで亀岡市について表示したものを示す。

 

4. 県域25000の数値地図情報のGrassへの取り込みー宮城県を例に Mar. 5, 2013

4.1 国土地理院からダウンロード

 県単位では25000分の1地図精度の情報が提供されている。宮城県のメタデータを開くと次の情報がある。
 基盤地図情報(縮尺レベル25000)宮城県 2011-02-01 003 2万5千分1地形図のデータから基盤地図情報項目(行政区画、道路、河川、海岸線、軌道の中心線)を抽出して作成したものです。2008年6月3日公開。2011年2月1日行政区画を更新  座標値の単位(m) 005 001 jpn 023 013 1 JGD2000 / (B,L) 122.875472 153.996139 20.421389 45.585528 全国 JPGIS 附属書8 符号化規則 1.0 ISO19136 GML 3.2 JGD2000 / (B, L) fmdid:0-14 jpn 004 005 国土交通省国土地理院 企画部 地理空間情報企画室 029-864-1111 北郷1番 つくば市 茨城県 305-0811 jpn fgd-q@gsi.go.jp 007 2011-02-01 JMP 2.0

 国土地理院の提供だから,経緯度座標系である。UTMではない。 国土地理院のダウンロードサイトから全データをダウンロードするのだが,全てをチェック,を選んで,[まとめてダウンロード]を選ぶ。そうするとPackDLMapというフォルダ内にzipファイルのままでダウンロードできる。G3で15分ほどかかった。自宅の無線LANだと2分余り。

4.2 数値地図ビューワー・コンバーターを使って表示そしてシェープ出力

 国土地理院が提供する数値地図ビューワー・コンバーターで新規プロジェクトを作成して,PackDLMap内のzipファイルすべてを開く。ファイルは重く5分余り表示に要する。
 そして,メーンメニューのエクスポートから,エクスポートを実行するのだが,まとめて出力するとフリーズしてしまう。道路縁,建築物の外周線,以外は個別にシェープ出力できた。エクスポート(シェープ出力)する際に,平面直角座標系,のチェックを外す。というのはGrassの測地系2000 UTM座標系のLocationに取り込むからである。
 これから昨晩から今朝というか昼にかけて実行。基盤地図コンバータFGDConverter0500.lzhもダウンロード,実行したが全ファイルで機能せず。
 国土地理院のアプリFGDV5フォルダを削除。国土地理院のサイトから改めてダウンロードしてフォルダ毎デスクトップにドロップ。ヴァージョンは2012.7のもので同じ。
 以前の繰り返し。まずは亘理町と山元町の範囲をズームインして,エクスポート/矩形領域選択(2番目のクリックを強く),をして変換範囲を小さくする。再描画されて選んだ範囲に青線の網がかかる。建築物と道路縁を個別に,設定された領域内のみの要素を変換,にする。極力範囲を小さくした。それでうまく行った。しかし,大阪府や奈良県は何の問題もなく一気に全域の変換が可能だったのに何が違うのだろうか。
 Jun.21, 2014追加:福島県は宮城県以上にひどかった。風邪で疲れ果てて重要会議も放っての自主休暇なのに,ちょっとやっておこうと思ったのが失敗。建築物のエクスポートが特にうまく行かない。 ビューワー・コンバータを新たに立ち上げて,新規プロジェクトを福島県の建築物だけで作製。画面には建物を示すオブジェクトが全く表示されない。めげずにエクスポート。これまでと同様,進行度を示すゲージは0%のまま。15分ほどで,プログラムの「応答無し」化。再三再度。やはりゲージは0%のまま,で,何と,気がついたら出力ができていた。できているか不安ではあったが,QGISでみたら見事に出力されていた。ファイルが重すぎるのだなあ。

4.3 出力されたシェープファイル名の1byte文字化 

 出力されたシェープファイルの名称に漢字があるので,英語短縮形に変更する。つぎのようである。海岸線Cstline,行政区画の境界線AdmBdry及び代表点AdmPt,道路縁RdEdg、海岸線、軌道の中心線RailCL,水涯線WL,建築物の外周線BldA。

4.4 dbfファイルのフィールド名を1byte文字化 

 dbfファイルの2バイト文字を使ったフィールド名を英字に変換する。DBF Viewer 2000(File/modify structureだったか)で完了。

レコード数は,View/Statisticsでみると,idや完了日などのcount値を見ることで知ることができる。

変更名称は次のよう。管理主体はManager,名称はName,種別はKinds,表示区分はExpresClas,存在期間はDura_Start,Dura_End,整備完了日はFull_Equip,更新フラグはRenewal,行政コードAdmin_codeなど。10文字まで。2016年にダウンロードした亀岡市などの行政区画や建築物などで,1バイト文字に変換すべきものは,次のようであった。
整備データ Equip_Dat1
整備デーA Equip_Dat2
整備完了日 Full_Equip
表示区分 ExpresClas
更新フラグ Renewal
種別 Kinds
名称 Name
行政コード Admin_code

File/Modifiy Structureで変更した場合,上書き保存はできない。自動的に編集前のファイル名に1が追加される。このDBF Viewerを終了後,変更前のdbfは一つのフォルダーに入れて,編集後の1が付加されたファイル名の1を削除すれば良い。

  ここまで言うのはどうかとは思うけど,関連ファイル群を整理して一つのフォルダーにまとめた方がいいかと思う。次の図は,macでcolums表示している。入出力ファイル群は,ぼくの場合は,Mac_Win_SharedというMacとWindows XP on Parallels Desktop の共有フォルダーに入れている。

4.5  座標系を経緯度からUTMに変換 

(失敗例) gdal/ogrを使うのが面倒なので,macでqgisを立ち上げてレイヤパネルにshpファイル群をドラッグアンドドロップして表示する。上で作業して得られたものに問題が無いことがわかる。道路と建築物については,亘理町と山元町のみが表示されている。
 なお,前述のフィールド名の変更をqgisでできれば楽なのだけど,どうもできそうにない。

誤り:
 この経験でqgisで座標変換はできないことがわかった。qgisにシェープファイルをドラッグアンドドロップして座標系を見ると,正しく経緯度のepsg: 4612となっている。これをqgisでutmのepsg:3100にすると,確かに表示されているマップからどこかに飛んでゆくのである。GrassのUTM54の座標系のLocationに取り込んで探せど探せど見つからない。で,2時間余り探したら,なんとあった。牡鹿半島の中央付近の座標値を見ると,(141.541, 38.306)となっている。これは何と経緯度値をそのまま度に換えただけのもの。つまり,UTM54からするとほぼ原点にまで飛んでいたのである。
 qgisでの作業:「レイヤでベクトルデータを選んで,ダブルクリック。タブ一般情報をみる。確かにEPSG: 4612である。つまり日本列島を完全にカバーする経緯度座標系である。これを各シェープファイル毎に,UTM座標系に変換する。東北地方全域をカバーするepsg:3100にCRSを指定する。各シェープファイルの座標系を変更する度に右の地図パネルからそれが消えてゆく。次に,Grassの取り込みのためにシェープ出力を実施する。つまり,個々のシェープファイルを選んで,Controlクリックして,名前をつけて保存,を選ぶ。MiyagiPre_BldA25000Watari.shp, MiyagiPre_AdmBdry25000.shpなど。これらのファイル群は,grassdata/FileConvert_folderに移す。」

  さて,やっぱりgdal/ogrでしないと行けないのである。

ogr2ogr -t_srs EPSG:3100 /Users/moto/grassdata/FileConvert_folder/MiyagiPre_25000shapes_to_Grass/MiyagiPre_BldA25000Watari.shp -s_srs EPSG:4612 /Users/moto/grassdata/FileConvert_folder/MiyagiPre_25000shapes_BL/04-20080331-BldA25000.shp
実行すると,次のようなメッセージが出るが,これはdbfファイル中に2 bytes文字があるからで表中まで変更する必要が無いので放置してよい。
Warning 1: One or several characters couldn't be converted correctly from UTF-8 to ISO-8859-1.
This warning will not be emitted anymore

下記のように実行してゆく。

ogr2ogr -t_srs EPSG:3100 /Users/moto/grassdata/FileConvert_folder/MiyagiPre_25000shapes_to_Grass/MiyagiPre_Cstline25000.shp -s_srs EPSG:4612 /Users/moto/grassdata/FileConvert_folder/MiyagiPre_25000shapes_BL/04-20080331-Cstline25000.shp

Jun. 22, 2014追記(福島県の場合):

トラブル
GRASS 6.4.2 (UTM54N-JGD2000):~ > ogr2ogr -t_srs EPSG:3100 /Users/moto/grassdata/FileConvert_folder/FukushimaKiban25000/Fukushima25000WL.shp -s_srs EPSG:4612 /Users/moto/grassdata/FileConvert_folder/FukushimaKiban25000/Fukushima25000WL.shp
ERROR 1: /Users/moto/grassdata/FileConvert_folder/FukushimaKiban25000/Fukushima25000WL.shp is not a directory.
ESRI Shapefile driver failed to create /Users/moto/grassdata/FileConvert_folder/FukushimaKiban25000/Fukushima25000WL.shp
GRASS 6.4.2 (UTM54N-JGD2000):~ >

何故,駄目なのか。座標変換前後のファイルパスが同じになっている。回避のためには,異なるフォルダになれば同じファイル名でも問題がない。
GRASS 6.4.2 (UTM54N-JGD2000):~ > ogr2ogr -t_srs EPSG:3100 /Users/moto/grassdata/FileConvert_folder/FukushimaKiban25000UTMm/Fukushima25000WL.shp -s_srs EPSG:4612 /Users/moto/grassdata/FileConvert_folder/FukushimaKiban25000/Fukushima25000WL.shp
Warning 1: One or several characters couldn't be converted correctly from UTF-8 to ISO-8859-1.
This warning will not be emitted anymore
GRASS 6.4.2 (UTM54N-JGD2000):~ >

 なお,BldAreaなどの計算にはかなりの時間を要する。-----------------------------------------------------
Building topology for vector map <Fukushima25000BldA>... Registering primitives... 1078202 primitives registered  4468306 vertices registered  Building areas...  100%  539114 areas built  538896 isles built  Attaching islands... 100%  Attaching centroids...  100%  Number of nodes: 1077984  Number of primitives: 1078202  Number of points: 0  Number of lines: 0  Number of boundaries: 539254  Number of centroids: 538948  Number of areas: 539114 Number of isles: 538896  Number of areas without centroid: 166  GRASS 6.4.2 (UTM54N-JGD2000):~ >

4.6  x windowでGrassへの取り込み 

Grassへの取り込みがgis.mではうまく行かないのでx-windowsで実行した。

v.in.ogr dsn=/Users/moto/grassdata/FileConvert_folder/MiyagiPre_25000shapes_to_Grass/MiyagiPre_AdmBdry25000.shp output=MiyagiPre_AdmBdry25000 min_area=0.0001 snap=-1 --overwrite

v.in.ogr dsn=/Users/moto/grassdata/FileConvert_folder/MiyagiPre_25000shapes_to_Grass/MiyagiPre_AdmPt25000.shp output=MiyagiPre_AdmPt25000 min_area=0.0001 snap=-1 --overwrite

v.in.ogr dsn=/Users/moto/grassdata/FileConvert_folder/MiyagiPre_25000shapes_to_Grass/MiyagiPre_BldA25000Watari.shp output=MiyagiPre_BldA25000Watari min_area=0.0001 snap=-1 --overwrite

v.in.ogr dsn=/Users/moto/grassdata/FileConvert_folder/MiyagiPre_25000shapes_to_Grass/MiyagiPre_Cstline25000.shp output=MiyagiPre_Cstline25000 min_area=0.0001 snap=-1 --overwrite

v.in.ogr dsn=/Users/moto/grassdata/FileConvert_folder/MiyagiPre_25000shapes_to_Grass/MiyagiPre_RailCL25000.shp output=MiyagiPre_RailCL25000 min_area=0.0001 snap=-1 --overwrite

v.in.ogr dsn=/Users/moto/grassdata/FileConvert_folder/MiyagiPre_25000shapes_to_Grass/MiyagiPre_RdEdg25000Watari.shp output=MiyagiPre_RdEdg25000Watari min_area=0.0001 snap=-1 --overwrite

v.in.ogr dsn=/Users/moto/grassdata/FileConvert_folder/MiyagiPre_25000shapes_to_Grass/MiyagiPre_WL25000.shp output=MiyagiPre_WL25000 min_area=0.0001 snap=-1 --overwrite

5. 数値地図5000(土地利用)近畿圏2008 そして 2001   rev. Jan.8, 2012

5.1 xmlファイルをシェープ出力

はじめに  数値地図5000(土地利用)で提供されているxmlファイルは近畿圏については2008年版(2011年11月1日発売)に限定して,shapeファイルへの変換が可能なソフトの提供があった。近畿圏2001年もxmlファイルで提供されているが,この変換には対応していなかった。11月25日に国土地理院担当者の方に開発をメールでお願いした。将来対処したいとのことであった。そして1月初めにメールで連絡頂いた。対応したとのこと。迅速なご対応に感謝したい。これで,2001年と2008年の土地利用に関する詳細な串刺し分析が可能になる。ぼくの研究には関係ないが,これで土地利用についてはじめて,精密な分析が可能な時代になったと言えるだろう。この意義は大きい。
次にサイトに更新された変換ソフトが公開されている。これに合わせて,以下の文章も変更した。

ファイル変換ツール(XML→Shape)のダウンロード 数値地図5000(土地利用)JPGIS 対応
http://www1.gsi.go.jp/geowww/LandUse/lum-xml_tool.html

  数値地図5000(土地利用)のCDは7500円で国土地理院から販売されている(詳細参照)。近畿圏では2001と2008(H.23.11.1発行)が発行されている。2008は,メッシュ数も2001年の397から414と17メッシュ増えている。


 上記変換ツールの説明pdfの内容を次に転記する。

数値地図5000(土地利用)ファイル変換ツール(xml2shp.exe バージョンアップ前のファイル名と同様)説明書
1. はじめに
 本ビューワの動作には,Microsoft .NET Framework4.0 のインストールが必要です。 以下のサイト内のカテゴリの選択−開発リソースよりMicrosoft .NET Framework4.0 を選択し、 インストールしてください。 Microsoft ダウンロードサイト(日本版) http://www.microsoft.com/downloads/ja-jp/ なお、ツール本体は、インストールの必要がありません。
 メモ:XP SP3以上に対応(ぼくのはXP Professional ver.2001, SP3)。NET Framework 4 Client Profile,がインストールされる。 結構の時間を必要とする。Windows Updatesの自動更新を有効にしておくこと。
2. 使用方法
@  CD-ROM に収録されたデータから、変換したいデータを解凍します。 (解凍したデータはlzh またはzip からxml の拡張子に変わります)
A  @のxmlファイルを作業用フォルダ(任意のフォルダ)に集めます。 対応しているデータであれば、フォルダ内に各時期のデータが混在しても動作します。
B  Aの作業用フォルダ内に「xml2shp.exe」を入れます。
C 「xml2shp.exe」をダブルクリックします。 D コマンドプロンプトが終了したら、変換完了です。 (作業用フォルダ内にshape ファイルが作成されます。)
3. 使用上の注意 本ツールは、JPGIS 版の以下のデータに対応しています。
・数値地図5000(土地利用)首都圏(茨城・埼玉・千葉・神奈川県)2000 年
・数値地図5000(土地利用)近畿圏2001 年
・数値地図5000(土地利用)中部圏2003 年 ・数値地図5000(土地利用)首都圏(茨城・埼玉・千葉・神奈川県)2005 年
・数値地図5000(土地利用)近畿圏2008 年
 CD-ROM 収録のlzh 及びzip データのままでは動作しませんので、必ず解凍してからお使いくだ さい。

 

 近畿圏2008年のインデックス参照

メッシュコードに関して参考:

 xmlファイルはDataフォルダに格納されている。その各ファイル名は,国土基本図のメッシュコード番号に従っている。だから,UTM座標系の標準メッシュコードとは別物である。ここをクリックしてその図(2001年のもの)を参照して欲しい。これは前述の国土地理院や地図センターのサイトに公開されているものである。この図で,茨木市域の一つの「茨木市」の字が入っているメッシュコードは,1219である。南北方向がx軸で東西方向がy軸であるが,x軸のコード12とy軸のコード19をまとめて,1219とするのである。コード番号はすべて4桁とするという約束事があるので,どちらかの軸が1桁の場合にはそれに0を付加して四桁とする。たとえば京都市右京区の「右京区」の字が入っているメッシュのコードは,0522となる。dataフォルダ内のファイル名は,前者はK2001_lu1219.xml.lzh,後者はK2001_lu0522.xml.lzhとなっている。もちろん,K2001は近畿圏2001年を,lzhは圧縮ファイルを意味する。このCDのデータはすべて世界測地系平面直角座標系VI系とされる。兵庫県はVI系ではないがVI系に投影されているのである。なお,xmlの1ファイルは国土基本図1/5000図幅一枚に対応している。

 

5.2 シェープファイルのGrassへの取り込みまで

 注: 近畿圏の土地利用図は平面直角座標系VI系で統一されている。近畿圏の範囲には平面直角座標系V系にあたる兵庫県もカバーされている。その結果,GISソフトで平面直角座標系V系のLocationに取り込んだ場合,大きく位置ズレが生じる。それゆえ,shape出力した後,Grassへの取り込みの前に,平面直角座標系のgdalを使った変換が必要となる。本サイトの,おサルのGIS GRASSの「はじめに」の「V gdal/ogrで地図関係の変換」に,その方法を記述している。http://www2.ipcku.kansai-u.ac.jp/~moto/GIS_Frameset.html


 個々のxmlファイルからシェープ出力されたファイル(私の場合,北摂山地域などの範囲を対象)は,.shx, .shp, .prj, dbfからなる。前述のように,Grassへの取り込みはshpを選ぶことになるが,そのまま取り込むと15種類の土地利用図がたったの一枚のベクトル図で表現されて15種類の土地利用は全く区別できない。これをクリアするには,dbfファイルを使って,属性別での比較が必要となる。基盤地図情報ビューアー・コンバーターのように,国土地理院には国土基盤情報のように複数のxmlを統合して,テーマ毎にシェープ出力ができるアプリを提供して頂きたいものである。

 さて,dbfの中味をOpenOfficeのBaseで見てみると,フィールド名は一つだけでlu_nameで,このフィールドタイプはテキスト[VARCHAR](長さ24)となっている。Macでは文字化けして表の内容が読めないので,Parallels内のOpenOfficeのDatabaseを使った。これでは文字化けせず,lu_nameには,山林・荒地,畑・その他,などの文字が並んでいる。一括して置換できればいいのだが,編集したいテーブルをダブルクリックして開いて,編集/データの編集,から個々の土地分類名称を選んで山林・荒地に対しては例えばForestWasteなどと入力・コピー・ペーストして,矢印キーで一つずつ移動して変更する必要がある。これはかなり面倒なことである。 

 Grassには,選択したcategory no.群のポリゴンなどのオブジェクトだけを表示して,その表示したベクトルマップを新たに作成する機能がある。幸い,土地利用xmlファイルの属性配列は土地利用種ごとにまとめて配置されている。たとえば,茨木市域が位置するメッシュコード1320のxmlファイルをOpenOfficeのDatabaseで見ると,上から,1-3は山林・荒地,4-155は田,156-282は畑・その他,...,5885-6399は河川・湖沼等,となっている。次にDatabaseのスクリーンショットを示す。

 このイメージの右下には,レコード総数6399が表示され,選択しているレコード番号6396が候補として示されている。土地利用種の境界部分をクリックして,この候補レコード番号を確認してゆくと,各土地利用種のcat(egory) no.の範囲を確認することができる。
 土地利用図のdbfのフィールド名は,lu_name(1byte文字)なので,シェープファイル群はノータッチでGrassに取り込んで良いことになる。Grassへの取り込みはv.in.ogrで実施する。

5.3 Grassでの土地利用種ごとの分割

 取り込んだシェープファイルをまずは次に表示する。

 すべての土地利用が一ベクトルマップになっている。これでは使えない。

 そこで,tcltk Grassの機能を生かす。次に画像は,河川・湖沼など,である。これはcat.nos. 5885-6399のオブジェクトである。

別途,この画像を個別に開くリンクも用意した。

 右図の下段の上の方でxmlからシェープ化したベクトルマップを選んでいる。この下方でQuery cat valuesとして,5885-6399を入力し,この下方のSave desplayed objects to new vector fileにチェックを入れて,New vectorの名前として,Lu1320_Kasen_Kosho_etcと命名している。
 この結果,河川湖沼など,のベクトルマップを得ることができる。このパネルでcat valuesとNew vectorの名称を次々と入れていけば,次々の土地利用ごとのベクトルマップを作成することができるのである。
 上の河川湖沼等の図に見られるように,要するに土地利用ごとの領域や線が,言わば絵のように表現されており,ベクトルとは言え,河川などは道路などで寸断されて,シミュレーションなどには全く使えないオブジェクトであることがわかる。二次元的な表現にすぎないことがわかるのである。 色づけはCD付属のアプリで土地利用図を表示して,参考にすればいいだろう。Grassで表示したらworkspaceに保存しておこう。
  このオブジェクト表現の限界から,隣接するxmlファイルとのオブジェクトの接合は不要と言える。

 次の例は茨木市と高槻市に跨る1320を表示したもののスクリーンショットである。左端の色づけは他の区画についても参考になるだろう。用意されたビューワでは下記のようなworld file(この場合のファイル名:k_1320.bqw テキストファイルである)付きのbmp出力も可能である。このように出力したbmpファイルをこのworld file情報を使ってgeotiff画像に変換できる。

 

2

0

0

-2

-39999

-129001

 world fileについてはhttp://en.wikipedia.org/wiki/World_fileに説明されている。上の数値は六行からなる。画像は左上端が原点で横軸はX軸で右方向が+,縦軸はY軸で下方向が−になる。
 第1行: X軸の1pixel当りのユニット数で,この場合,2mとなる。
 第2行: Y軸の回転(歪みで表示)だが,ここでは0,つまり垂直。
 第3行: X軸の回転(歪みで表示)だが,ここでは0,つまり水平。
 第4行: Y軸の1pixel当りのユニット数で,この場合,-2mとなる。(常にマイナス値と考えて良い)
 第5行: 平面直角座標系第Y系のeasting値(-39999)
 第6行: 平面直角座標系第Y系のnorthing値(-129001)

 

以 上。