ホーム » tarumi の投稿 (ページ 21)

作者アーカイブ: tarumi

PostGIS 空間インデックス

空間インデックスの作成
create index インデックス名 on テーブル名 using GIST(ジオメトリ項目名);
※テーブル名に大文字があるとテーブル名の前後にダブルコーテーションが付く。
そのような時はcreate index文でもテーブル名の前後にインデックスを付与する。
例)create index インデックス名 on “テーブル名” using GIST(ジオメトリ項目名);

空間インデックスの一覧
空間インデックスの一覧機能はないので、テーブル「pg_indexes」を参照してインデックスの女王を求める。
※psqlのコマンド\diでは表示されない

DMデータをShapeに変換

DM(数値地形図)データをArcGISで利用するにはArcToolBoxの変換ツールでジオデータベース等に変換して利用

clip_2

詳細はArcGISブログを参照

DM(数値地形図)データをShapeに変換するには国土地理院が提供している公共測量ビューア・コンバータを利用する。

公共測量ビューア・コンバータをダウンロードしたら解凍してPSEA.exeを起動しインポートメニューより対象データを指定

clip_4

座標系を指定してインポート

clip_7

インポート後エクスポートでShapeに変換

PostGISをWindowsにインストールのおさらい

psql.exeにパスを通す

p30

管理者権限でDBに接続後、下記を実行

接続ユーザー(ロール)作成

スキーマを作成して、スキーマのオーナーを設定

データベースを作成

ユーザーに権限を付与

p31

PostgresqlのデータベースをPostGISデータベースに拡張

p32

VisualStudio2013の製品版からcommunity版への入れ替え

VisualStudio2013の製品版をアンインストールして新たにcommunityをインストール。
同時に新規にマイクロソフトのアカントを作成してサインインしようとしたが以下のメッセージが表示されてサインインできない。
「We were unable to establish the connection because it is configured for・・・・」
どうやら古いアカウントが残っているらしい。

その場合はレジストリの「IdeUser」以下のエントリを削除するとOK。

スクリーンショット 2016-02-26 13.24.26

参考はstackoverflow様

SpatiaLite SQL関数の一覧

SpatiaLite [v.2.2] SQL functions reference list

shapeファイルをレイヤに読み込み

>>> arcpy.MakeFeatureLayer_management(“c:/work/work/tochi_poly.shp”,”tochi_poly”)
※ディレクトリの区切り文字に注意
clip_48

ポリゴンレイヤとMDB内のテーブルを外部リンク

>>> arcpy.AddJoin_management( “tochi_poly”, “LINKKEY”, “c:\work\work\Mst.mdb\Mst土地”, “LINKKEY”)

レイヤの属性項目、MDBの項目にIndexを作成

ポリゴンレイヤとMDB内のテーブルを外部リンクする前に外部リンクの対象項目にインデックスを作成すると外部リンクの作成が早い。

ポリゴンレイヤの項目LINKKEYにインデックス作成
>>> arcpy.AddIndex_management(“tochi_poly”, “LINKKEY”, “idx_toxhi_poly”, “NON_UNIQUE”, “ASCENDING”);

MDB内のテーブル「MST土地」の項目LINKKEYにインデックス作成
>>> arcpy.AddIndex_management(“c:\work\work\Mst.mdb\Mst土地”, “LINKKEY”, “idx_mst_tochi”,”NON_UNIQUE”, “ASCENDING”)

ポイントがポリゴンに包含されるか?

>>> T2B = arcpy.Array([arcpy.Point(0,0),arcpy.Point(0,10),arcpy.Point(10,0)])
>>> Poly = arcpy.Polygon(T2B)
>>> p = arcpy.Point(3,3)
>>> g = Poly.contains(p)
>>> g
True

clip_43

参考サイト

ポリゴンの重心を求める

arcpy.FeatureToPoint_management(入力レイヤ,出力レイヤ,オプション)で入力レイヤの重心が求まる
clip_38
clip_42
参考サイト