goo blog サービス終了のお知らせ 

PIT OF YAMATO

Since 2005-08-28

PostGISでのGeometryColumn追加ではまったこと

2015-11-29 12:56:41 | GISテクニック

現在、修論の研究でPostgreSQLとPostGISを使っています。
GPSの座標値からプロットした点データを近傍の道路へとマップマッチングするにあたり、
手持ちのMultilinestring型をLinestring型へするか、Linestring型のGeometryColumnを用意する必要があったのですが、
道路ネットワークデータにAddGeometryColumnでLinestring型のGeometryColumnを追加しても列の中身が空っぽでした。

新しく追加したGeometryColumnの中身が空のままでは、
QGISに読み込んでもレイヤプロパティの領域の項目が不明となってしまい正しく表示できません。

既存のMultilinestring型は列の中に値が格納されていたので、どうにかして値を入れる必要があるとわかったのですが、
探し出すのにかなり時間がかかりました^^;

結局、以下のクエリを発見して無事に列の中に値が入りました。
ALTER <Tablename> ALTER COLUMN <Columnname> TYPE Geometry(LineString,4326) USING ST_GeometryN(<Columnname>,1);」 
SRID:4326は地理座標系WGS1984です。

こちらを参考にしましたm(_)m 


ArcGISでのxlsxファイル取り扱いエラー

2015-04-20 00:44:19 | GISテクニック

課題作成のためにArcGISへエクセルデータ.xlsxを読み込もうとした際に下記のエラーが表示されてインポートできないトラブルに遭遇しました。
「Failed to Connect to Database. An underlying database error occurred. Class not registered.」
PCにインストールされているMicrosoft Officeのバージョンは2013です。

結局ESRIジャパンの公式サイトを参考にして
2007 Office system ドライバ:データ接続コンポーネント
をインストールした所解決しました。

 


GIS覚書

2011-01-11 18:08:56 | GISテクニック
~~~~新年の挨拶~~~~

新年あけましておめでとうございます。

だいぶ放置してしまっていますが、こちらのブログも各SNSと一緒に細々と更新していく予定です。
いつの間にかブログ編集画面が使いやすくなっていてびっくりしました!

さて、今後の更新予定ですが、こちらではパソコンやGIS関連の記事を書いていけたらと思っています。
車ネタは別のブログで書いていますので。

今回の話題は卒業論文を書いていて直面した問題への対処方法です。
それでは本文に進みます。

~~~~ここから本文~~~~
卒業研究ではDEMデータを用いて標高を取得しています。
一方で解析のメインにしているのはベクターデータ(ポリゴン)のため、ArcGISでよく使う空間検索やインターセクト処理をかけることができません。
そこで、DEMデータから作成したラスターデータをうまくベクターデータに重ねる方法を見つけたので、こちらに示しておきたいと思います。
DEMデータをそのままベクターデータ(ポリゴン)に変換すると、同じ値を持つセルが結合されてしまい、セル一つ一つとオーバーレイさせることができません。

※1 ArcGISのバージョンは9.3.1で、ライセンス形態はArcInfoです。また、「Spatial Analyst」のライセンスが必要です。
※2 この手順で処理をしてPCやデータに損害が発生したとしても保証できません。質問等があればコメント等でお願いします(私に答えられる範囲でお答えします)。


1.DEMデータをダウンロード後、ArcMapに取り込みます。座標系はWGS1984になっていると思いますが、私はベクターデータが緯度経度のJGD2000だったので、「ArcToolbox」→「データ管理ツール」→「投影変換と座標変換」→「ラスタ」→「ラスタの投影変換」で座標系の変更を行いました。

2.現時点ではDEMデータはラスターデータのままです。ここからベクターデータに変換していきます。卒業研究では標高、傾斜角度、傾斜方向についてのデータを用いるので、「Spatial Analyst」の「サーフェス解析」によって求めました。

3.2の手順を経たラスターデータをベクターデータ(ポリゴン)に変換します。「Spatial Analyst」または「ArcToolbox」の「変換ツール」からラスターデータからベクターデータに変換します。この時、ポリゴン単純化のチェックは必ず外してください。

4.3のラスターデータを今度はポリラインに変換します(必ず「ArcToolbox」から変換してください。「背景値(オプション)」の項目を設定するため)。「背景値(オプション)」のプルダウンから「NODATA」を選択し、ここでもポリライン単純化のチェックは必ず外してください。

5.4で作成したポリラインからポリゴンを作成します。「ArcToolbox」の「データ管理ツール」→「フィーチャ」→「フィーチャ→ポリゴン」を選択し、ポリラインで囲われた領域をポリゴンにします。

6.いよいよインターセクトの出番です。「ArcToolbox」→「解析ツール」→「オーバレイ」→「インターセクト」を選択し、3でラスターデータから変換したポリゴンを先に選択し、5で作成したポリゴンを後に選択します。実行すると、3で変換したままのポリゴンでは結合されてしまっていたセルが分割されていると思います。

7.仕上げです。「選択」タブ→「空間検索」と進み、「空間検索」で重複させたいポリゴン(仮にA)を上の窓で選択し、下の窓でインターセクトをかけてできたポリゴン(仮にB)を選択し、OKをクリックすると、ポリゴンAとDEMデータから作成したポリゴンBの重なる領域が選択されます。テーブルオブコンテンツのファイルを右クリック→「エクスポート」で出力してやれば完成です。

2日間8回も処理をかけてできなかったことが、ちょっとのひらめきでとんとん拍子に進みました^^;
GISをやられている方の参考に少しでもなれば幸いです。

画像:完成品。下の緑色のレイヤがDEMデータから作成したポリゴンで、上のピンク色のレイヤが解析用の自作ポリゴン

※2011/01/13 9:58追記(赤字部分)