ラベル

2013/07/18

【Q&A】「国土数値情報 標高・傾斜度5次メッシュデータ」をArcMapで色分け表示できない


Q. 国土数値情報の標高・傾斜5次メッシュデータをダウンロードして、ArcMapに読み込んだが、読み込んだ箇所に確かにメッシュだけは表示されるものの、肝心の標高を例えば濃淡などで表示させようとしてもできない。
またシェープファイルを読み込むときに、”空間参照が定義されていませんので。。。投影できません”というメッセージが出る。


A. テーブルのデータ型を変更する必要あり。空間参照は座標系の定義を。

最近、国土数値情報はシェープファイルの形式でも提供されるようになり、利便性が高まったと思っていた。
しかしこのデータを見る限りでは、一部、ちょっとやっかいな仕様になっている様子だ。
国土数値情報 標高・傾斜度5次メッシュデータ
メタデータとしては、その属性情報は、たとえば平均標高や傾斜角は「実数型」と決められているようだ。しかし、実際のシェープファイルの属性テーブルはすべて「テキスト型」となって入ってしまっている。
これだと、属性値を元にした色分けや、分析も当然できない。

ひとつの解決策としては、新しい数値型の列を加え、そこにテキストデータを数値としてコピーする方法がある。
たとえば平均標高で色分けすることを考えると、

  1. レイヤから右クリック>テーブルを表示
  2. テーブル内のメニュー>フィールドの追加
  3. 名前:mean_elvなど(←長過ぎたり、全角文字や、数字で始まったりはNG)、タイプ:Float、全桁数:5以上(余裕を見て8)、小数点以下桁数:1
  4. mean_elv上で右クリック>フィールド演算>警告はYES>G04d_002をダブルクリックして計算フィールドに入力>OK>「計算値は無効です」警告はYes
     #これで新しい列(mean_elv)にデータが数値としてコピーされる。
  5. レイヤプロパティからシンボルの変更:数値分類-等級色>フィールド-値:mean_elv>最大サンプル数の警告が出る>右側の「分類」ボタン>「サンプリング」ボタン>最大サンプル数を1〜2桁上げると、全データでシンボルが分類可能に
以上。
しかし必要な列に対してそれぞれ同様の作業をすることになるので、少し面倒かもしれない。

なお座標系についてはJGD2000の緯度経度なので、「座標系を定義」ツールで選択・付与してあげれば、他のデータとの重ね合わせも問題なくできるようになる。


2012/01/25

日本のダムの変遷 1901–2021 – タイムアニメーション on ArcGIS –

ArcGIS 10.0 では、時間属性に基づく地図の時間変化のアニメーションを作成することができる。
ESRI Japan の解説に詳しいので、ここでは細かい設定については割愛するが、ごく初歩的なアニメーション作成の流れを書いておく。

使うデータは、国土交通省提供、国土数値情報 ダムデータ。属性情報はダム年間2005なので、少し古いかもしれない。が、全国のダムを概ねカバーしている。

※なぜここでダムデータなのか?
地形学的には、ダムで塞き止められた人工湖にトラップされる堆積物の量から、その流域の平均侵食速度を見積もる試みが古くから行われてきた(Yoshikawa, 1974; 長谷川ほか, 2005など)。
あるいは、DEMから遷急区間や遷急点を自動抽出した際、そのままでは人工のダムを拾っている場合があるので、ダムデータでそれらを除く必要がある(Hayakawa and Oguchi, 2009)。
といったように、人工物でも地形解析においてダムの位置といのは重要だったりする。
ただ、アニメーションはつくる必要は、とくにない。ただの余興。
ともあれ時空間変化をアニメーション表示することは、プレゼンテーションとしては割と効果的な方法だったりするので、その方法をメモしとこうというわけ。

話を戻して、まずは国土数値情報のページからJPGIS形式をダウンロード。これを、変換ツールを利用してシェープファイルに変換する。デフォルトではW01-05_GA01.shp というシェープファイルが作成された。

投影法の定義などは適宜行うとして、属性テーブルに含まれる竣工年の情報を、「使える」状態にしなくてはならない。
元の竣工年は、「西暦 1980 04 01」と、テキスト形式で入力されているようだ(他の貯水量の数字なども文字列として入っている様子)。なぜか日付は全て4/1。
そこで、シェープファイルを構成するうちの一つ、.dbfファイルを、OpenOfficeなりLibreOfficeのCalcで開く(Excelだと最近のヴァージョンではDBFの保存ができない)。
元の竣工年の列の右側に1列挿入し、ヘッダにはYEARとか記入、それ以下には =int(mid(O4; 4; 4)) と文字列から年を抽出して整数値にする。
基本、シェープファイルの属性テーブルはこのように外部ツールで簡単に編集可能だ。
(ついでに貯水量の右側にも新しい列を挿入し、int()で貯水量のテキストを数値に変換しておくと、あとでシンボルの変更に使える。)

この後、ArcGISでW01-05_GA01.shp をレイヤとして開くと、その属性テーブルにはYEARが数値として入っているのが確認できる(数値は右揃え、文字列は左揃えになっている。YEARの他は全部左揃えの文字列のようだ)。
ここで対象の年を絞るために、YEARフィールドで9999と1900以前を除いて1901–2021のものを選択し、新しいシェープファイルにエクスポートしてレイヤに追加。

レイヤプロパティから「時間」タブに移動し、「このレイヤで時間を有効にする」をチェック。「時間フィールド」はもちろんYEARで、「時間ステップ」は1年にしておくと細かい変化が見られる。「データを累積表示」にチェックすると、時間を追うごとにどんどん増えていく様子がわかる。
(さきほどついでに貯水量を数値化しておけば、その列でシンボルを変更することも可能。レイヤプロパティ>シンボル>数値分類>等級シンボル など。)

メニューバーの上で右クリックして、「アニメーション」ツールバーを呼び出す。
ここで、「タイムアニメーションを作成」すればひとまず「新しいタイムアニメーショントラック」が作成されるのだが、ここら辺の細かい設定がわかりにくい。
「アニメーションマネージャ」や「アニメーションコントロール」や「タイムスライダ」など、設定画面は複数存在する。
そこは、ArcGISのヘルプを参照するのが手っ取り早そう。
結局、キーフレームなどごちゃごちゃいじっていたら、目的のアニメーションができた。
あとはレイアウトヴューにして、レイアウト調整。凡例や時間(挿入>ダイナミックテキスト>データフレーム時間)を配置する。
最後にアニメーションのエクスポートで、AVI形式などに保存。
(このエクスポート中に他のウィンドウをマップ上に持ってくると、それも入ってしまうみたい。)
で、YouTubeにアップロードすればどこからでも見れる。

ここでは時間をかけずに作業したので、見た目はシンプル。
デザインに凝れば、もっとまともな動画も作れそう。
こうして見ると、1950〜60年代に一気に大型のダムが増えた、ってのがよくわかる。




2011/09/29

世界の陸地+海底地形のデータセットETOPO1

フリーで利用可能な世界の陸域の地形データとしては、SRTMやASTER GDEMがよく使われるが、海域も含むよりグローバルといえる地形データが、NOAAの提供するETOPO1である。

グリッドのセルサイズは緯度経度でいう1分、距離に換算して(場所にもよるが)約1.8 kmの解像度となる。日本の規格でいう第3次メッシュ(緯度差30秒・経度差45秒、距離にして約1 km)に近い。ちなみに1海里とは概ねこの1分の距離と同じである。
SRTMやGDEMよりは解像度は低いが、それでも広範囲の表示や分析には使えるかもしれない。
グリーンランドや南極といった、氷床に覆われた地域については、氷の表面(Ice Surface)と岩盤面(Bedrock)の2種類のデータが利用可能というのも、ユニークな点である。

データの種類には汎用的なGeoTIFFもあるが、
* ArcGIS users - use binary and convert using 'Float to Raster'
なんて書かれているので、ArcGISでもし使うにはそうした方がいいのだろう。
floatにも2種類(i2: 2-byte/16-bit intergerとf4: 4-byte/32-bit float)あるが、ファイルタイプの違いであって、中身の標高はどちらも同じ整数値のようだ。
解凍して、浮動小数点ファイル(.flt)→ ラスタ(Float to Raster)を使ってインポートし、投影法も定義してあげる(WGS1984)と、準備完了。
Ice Bedrock
あとは凡例の色分けを変えたり、陰影を計算したり、最適な表示をさせる。
(WGS84の経緯度なので、普通はz-factor = 0.00000898(赤道での値)をかけるが、ここはあえてz-factor = 0.2 で陰影を強調。海溝に向かい来る海山の列もくっきり。これが沈み込むときにアスペリティとなるとか…)
あと、Natural Earthのサイトから適宜ベクタデータをダウンロードして重ね合わせれば、より目的に適った図を作成することができる。

ETOPO1、データ使用表示の際のには以下のリファレンスを。
Amante, C. and B. W. Eakins, ETOPO1 1 Arc-Minute Global Relief Model: Procedures, Data Sources and Analysis. NOAA Technical Memorandum NESDIS NGDC-24, 19 pp, March 2009. Go to this web site: http://www.ngdc.noaa.gov/mgg/global/global.html.

参照元:esri Mapping Center: Using ETOPO1 data 

2011/07/07

GPXをGoogle Mapsに表示する

GPSの汎用フォーマットの一つであるGPX形式のファイル、これはGoogle Earthでデフォルトで読み込み、KMLとして編集することができるが、Google Mapsでも表示することができる。
ただしそのためには、.gpxファイルをウェブ上のどこかに置いておかなければいけない。
しかし、いちいちサーバにアップロードして…というのはメンドクサイ。

そこで、Dropboxの共有機能を使う。
DropboxにはPublicフォルダがあり、ここに配置されたファイルはWWW経由でアクセス可能。
たとえばabc123.gpxというファイルがあるとして、それをDropbox/Public/ にコピー
→abc123.gpx を右クリック
→copy public linkでそのファイルのURLを取得
→Google Mapsの検索ボックスにペースト&Go
たったこれだけ。

Google Maps上で編集はできないが、ポイントのマイマップへの保存はできる(トラックデータは残念、今のところできない)。
しかし、内容を忘れたGPXファイルを、Google Earthを起動しないでもウェブブラウザでさくっと確認できるのは有用だ。

2011/07/05

ArcGISをMacで使う。(VMware Fusion 編)

最近、Macユーザが周辺で随分と増えたように感じる。
自分自身も2、3年前から少しずつ使い始め、今ではMacの方がWindowsよりも使用率が高いかもしれない。

ArcGISはWindows OS専用であるが、これをMacで使おうというケースもそこそこあるのではないか。
ただ、ESRI社はMac OSをサポート対象外としていて、Mac上のエミュレータで走らせるWindowsでのArcGIS利用は「できると思うよ」といった態度のようだ。

たとえばであるが、Mac OS用の仮想化ソフトVMware FusionでWindows OSを走らせ、その中にArcGIS Desktopをインストールすることができる。
(FusionはMac OSを動かしつつワンタッチでWindowsに切り替えられるので、Boot CampよりもずっとシームレスにMac/Win両環境を行き来できる。)

ここで一つ問題だったのが、VMware上のArcGISではラスタ(Arc Grid形式)がなぜか表示されないという現象であった。
これは実は、Fusionで、Windowsとミラー接続しているMac OSのフォルダ(デスクトップやドキュメント。Windowsからは、ネットワーク共有フォルダとして表示:例えば¥¥vmware-host¥Shared Folders¥Document¥gis)にGridデータが入っていると、うまく認識してくれないということであった。ということに今日やっと気づいた。
フォルダごと、Windows内にコピーすると(たとえばC:¥gis)、無事に表示された。

同じようなことをやっている人は、たぶん結構いるのだろう。
http://spanring.eu/blog/tag/esri/


(上記、バージョンを書いていないのは、たぶん最近のやつは皆同じだから。)