.
QGIS は ESRI Shapefiles, MapInfo, Microstation ファイル形式AutoCAD DXF,PostGIS,SpatiaLite,Oracle Spatiale と MSSQL Spatialデータベースとその他の多くのが含まれるベクタデータ形式を読み書きするためにOGRライブラリを使っています. GRASS ベクタ, PostgreSQL は QGIS のネイティブデータプロバイダでサポートされています. ベクタデータは zip と gzip アーカイブから QGIS に読み込むこともできます. このドキュメントが書かれた時点で, 69 種類のベクタ形式が OGR ライブラリでサポートされています ( OGR-SOFTWARE-SUITE 文献とWeb参照 参照). OGR ライブラリによるベクタデータサポートの完全なリストは http://www.gdal.org/ogr/ogr_formats.html を参照して下さい.
ノート
様々な理由で QGIS ではすべてのリストされた形式が利用できるわけではありません. 例えばいくつかの外部商用ライブラリが必要だったり,あなたのOSのGDAL/OGRが利用したい形式用にビルドされていないというようなことが考えられます. よくテストされている形式のファイルタイプだけがベクタを QGIS にロードするところで表示されます. その他のあまりテストされていない形式は *.* で選択できます.
GRASS ベクタデータの利用方法はセクション GRASS GIS の統合 に記述されています.
このセクションでは多くの共通形式でどのように作業を行うかが記述されています.共通形式とはESRI Shapefiles,PostGISレイヤとSpatialiteレイヤ,OpenStreetMapベクタとコンマ区切りデータ(CSV)等です. QGIS の多くの機能はベクタデータソースが異なっても同じように動作します.このようにシステムが設計されているので地物情報表示,選択,ラベリングや属性操作等の動作が同じように動きます.
The standard vector file format used in QGIS is the ESRI shapefile. Support is provided by the OGR Simple Feature Library (http://www.gdal.org/ogr/).
ひとつのshapefileは実際多くのファイルで構成されています.以下の3個が必須のものです:
.shp ファイルは地物のジオメトリを持ちます.
.dbf ファイルはdBase形式で属性を保持します.
.shx はインデックスファイルです.
Shapefilesではさらに .prj という拡張子のファイルが含まれることがあります, このファイルには投影法の情報が保持されています. プロジェクションファイルがあると便利ですが,このファイルは必須のファイルではありません. shapefile データセットは追加のファイルを持つことができます. さらに詳細な情報は ESRI technical specification at: http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf を参照して下さい.
To load a shapefile, start QGIS and click on the Add Vector Layer toolbar button, or simply press Ctrl+Shift+V. This will bring up a new window (see figure_vector_1).
Figure Vector 1:
利用可能なオプションから File をチェックして下さい. それから [Browse] ボタンをクリックして下さい . そうすると標準ファイルダイアログ ( figure_vector_2 を参照)が表示されファイルシステム内をナビゲートしてshapefileまたはその他のサポートされているデータソースを開くことができます. Filter を使うといくつかのOGRでサポートされているファイル形式をプリセレクトできます.
必要ならばshapefileのエンコーディングを指定することができます.
Figure Vector 2:
リストからshapefileを選択して [Open] をクリックすると QGIS に選択したファイルがロードされます.Figure_vector_3 には QGIS に alaska.shp をロードした状態が表示されています.
Figure Vector 3:
ちなみに
レイヤ色
地図にレイヤを追加するとランダムな色が割り当てられます.複数のレイヤを一度に追加することができますが,その場合それぞれのレイヤには異なる色が割り当てられます.
一度ロードしてしまえば地図ナビゲーションツールを使ってshapefileをズームすることができます. レイヤのスタイルを変えたい場合はレイヤ名をダブルクリックするか凡例でマウス右ボタンで表示されるポップアップメニューから プロパティ を選択して表示される レイヤプロパティ ダイアログ を開いて下さい. See Section詳しい情報はベクタレイヤのシンボロジ設定の スタイルメニュー を参照して下さい.
ちなみに
OS Xで外部ドライブからレイヤとプロジェクトをロードする
OS Xでプライマリハードドライブ以外にマウントされるポータブルドライブは File ‣ Open Project に期待されているように表示されません.私たちはOSX-ネイティブopen/saveダイアログを作ることでこの問題を解決しました.ファイル名ボックスで作業するときに ‘/Volumes’ と打ち込んでから return を押してください. そうすると外部ドライブやネットワークマウントの中を見ることができます.
空間インデックスを作ることによってShapefileの描画パフォーマンスを改善することができます.空間インデックスはズームとパンの両方の速度を改善します. QGIS では .qix という拡張子のファイルを空間インデックスとして利用します.
これらの手順でインデックスを作成できます:
shapefile を .prj ファイルつきでロードする場合 QGIS はそのファイルの空間参照システムを読むことはできません, そこでそのレイヤの Layer Properties ダイアログの General タブで [Specify...] ボタンをクリックして投影法を設定する必要があります. これは .prj ファイルはしばしば QGIS で利用され CRS ダイアログでリストされている完全な投影法パラメータを提供していないからです.
この理由により QGIS で新しいshapefileを作成すると2個の異なるプロジェクションファイルが作成されます. ひとつは .prj というファイルでESRIのソフトウェア互換の限られたパラメータで構成されます, そしてもうひとつは .qpj というファイルで利用されているCRSの全てのパラメータを提供しています. QGIS が .qpj ファイルを見つけた場合は .prj ファイルの代わりに利用されます
MapInfo レイヤをロードする場合は, ツールバーボタンの ベクタレイヤの追加 をクリックするかキーボードで Ctrl+Shift+V とタイプして下さい, ファイルタイプフィルター Filter : to ‘Mapinfo File [OGR](*.mif *.tab *.MIF *.TAB)’ に変更してロードしたい MapInfo レイヤを選択して下さい.
ArcInfo binary coverageをロードする場合, ツールバーボタン ベクタレイヤの追加 をクリックするかキーボードで Ctrl+Shift+V をタイプして ベクタレイヤの追加 ダイアログを開いて下さい. Directory を選択して下さい. Filter を ‘Arc/Info Binary Coverage’ に変えて下さい. カバレッジファイルが存在するディレクトリにナビゲートして選択して下さい.
UK National Transfer Format をUS Census BureauのTIGER形式と同じように直接ベクタファイルで読むことができます.
表形式のデータは読みやすくシンプルなので広く共通に利用される形式です – データはプレインテキストエディタで閲覧や編集もできます. デリミテッドテキストファイルはそれぞれのカラムが指定された文字で区切られ各行がラインブレークで構成されている属性テーブルです. 通常最初の行にはカラム名が格納されます. 一般的なデリミテッドテキストファイルはそれぞれのカラムがコンマで区切られたCSVです (Comma Separated Values).
そのようなデータファイルは位置情報を2種類の形式で持つことができます:
点の座標を区切られたカラムとして持ちます
ウェルノウンテキスト(WKT)としてジオメトリをあらわします
QGIS ではデリミテッドテキストファイルをレイヤまたは普通のテーブルとしてロードすることができます. しかしそのファイルには以下の必要条件があることを最初にチェックして下さい:
ファイルは区切り文字で区切られたフィールド名が記述されたヘッダ行が必要です. これはテキストファイルの先頭の行になければいけません.
ヘッダ行はジオメトリが定義されたカラムを持たなければいけません. これらのフィールドは任意の名前をつけられます.
x座標とy座標は(ジオメトリが座標で定義されている場合)数値である必要があります.座標系は重要ではありません.
elevp.csv は標高ポイントデータをインポートする正しい型式のデリミテッドテキストファイルの例で QGIS サンプルデータセットに付属しています.( サンプルデータ のセクションを参照):
X;Y;ELEV
-300120;7689960;13
-654360;7562040;52
1640;7512840;3
[...]
このサンプルテキストファイルについての解説:
例のテキストファイルでは ; (セミコロン) を区切り文字として使っています.どんな文字でもフィールドの区切り文字として使うことができます.
最初の行はヘッダーです.それには X, Y および``ELEV``のフィールドが含まれています.
引用符(")はテキストフィールドを区切るのに使われません
X座標は``X`` フィールドに含まれています.
y座標は``Y``フィールドに含まれています.
Manage layers ツールバーにあるアイコン デリミテッドテキストレイヤの追加 をクリックすると Create a Layer from a Delimited Text File ダイアログを figure_delimited_text_1 のように開きます.
Figure Delimited Text 1:
最初にインポートするファイル(例., qgis_sample_data/csv/elevp.csv) を [Browse] ボタンをクリックして選択して下さい. ファイルが一度選択されると, QGIS はもっとも最近に利用した区切り文字を使ってファイルを解析しようとします. QGIS でファイル解析を可能にするためには正しい区切り文字を選択することが重要です. Custom delimiters をアクティブにするか Regular expression delimiter をアクティブにして Expression フィールドにテキストを入力することで区切り文字を指定することができます. たとえば区切り文字をタブにしたい場合 \t を入力して下さい (これはタブ文字の正規表現です).
ファイルの解析が行われると Geometry definition Point coordinates が作成され X と Y フィールドをドロップダウンリストから選択する必要があります. もし座標が度/分/秒で定義されている場合は DMS coordinates チェックボックスをアクティブにして下さい.
Finally, enter a layer name (e.g., elevp), as shown in figure_delimited_text_1. To add the layer to the map, click [OK]. The delimited text file now behaves as any other map layer in QGIS.
フィールドの前と後の空白を除去するヘルパーオプションがあります — 前後の空白削除. またこのオプションも使えますAlso 空フィールドを削除. 必要ならばコンマを数字の桁区切り文字にすることができます コンマを小数点区切りに利用.
もし空間情報がWKTで記述されている場合 Well Known Text オプションを有効にして点、線またはポリゴンオブジェクトを定義しているWKTが格納されているフィールドを選択して下さい. もしファイルが空間情報を持っていない場合は No geometry (attribute only table) を有効にして下さい,このデータは通常のテーブルとしてロードされます.
その他に次のことが可能です:
近年, オープンストリートマップ(OpenStreetMap: OSM)プロジェクトが人気を集めています. 多くの国では, 自由に利用できる地図データが無いからです. OSMプロジェクトの目的は, GPSデータ, 航空写真, そして編集者自身が持つ知識を利用して, 自由に編集可能な世界地図を作成することです. これをサポートするために, QGIS ではOSMデータと連携するプラグインを提供しています.
QGIS ではOpenStreetMapデータのインポート機能をコア機能として統合しています.
OSM サーバに接続してデータをダウンロードするためにはメニューの ベクタ ‣ Openstreetmap ‣ Load data を選択して下さい. もし JOSMやOverpass APIや他のソースを使って .osm XMLファイルをすでに取得している場合はこのステップをスキップできます.
メニュー ベクタ‣ Openstreetmap ‣ XML からトポロジーインポート を使うと .osm ファイルを spatialite データベースに変換してdb接続を作成します.
menu ベクタ ‣ Openstreetmap ‣ Spatialiteへのトポロジーエキスポート を利用するとデータベース接続を開くことができます, 必要なデータのタイプ (points, lines, または polygons) を選びインポートするタグを選択して下さい. これによってspatialiteのジオメトリレイヤができツールバーボタンの SpatiaLite レイヤの追加 をクリックするか レイヤ メニューの SpatiaLite レイヤの追加... を選択するとプロジェクトに追加をすることができます( セクション SpatiaLite レイヤ を参照して下さい).
PostGIS レイヤは PostgreSQL データベースに格納されます. PostGISの利点は空間インデックス,フィルタリングとクエリー機能が提供されていることです. PostGISを使うと選択や地物情報表示等のベクター機能を QGIS のOGRレイヤより正確に利用することができます.
PostGIS データソースを最初に使う時に, データを保持しているPostgreSQLデータベースへのコネクションを作成する必要があります. ツールバーボタン :sup:` PostGIS レイヤの追加` のクリック, レイヤ メニューの PostGIS レイヤの追加... オプションの選択または Ctrl+Shift+D のタイプで処理を開始できます. また ベクタレイヤの追加 ダイアログを開いて データベース を選択しても処理を行えます. PostGIS テーブル(s)を追加 ダイアログが表示されます. コネクションマネージャを利用する場合は [新規] ボタンをクリックして 新規 PostGIS 接続を作成 ダイアログを表示して下さい. 接続を作成するためには次のパラメータが必要です:
Name: このコネクションの名前. Database と同じにすることも可能.
Service: hostname/port (それと利用可能データベース)の代わりに利用するサービスパラメータ. これはファイル pg_service.conf にも定義できます
Host: データベースホストの名前. この名前はtelnet接続やホストへのpingを行うときと同じようにシステムから理解される名前でなければいけません. もしデータベースが QGIS と同じコンピュータにある場合は単純に ‘localhost’ とここに記述して下さい.
Port: PostgreSQL データベースサーバが接続待ちをしているポート番号. デフォルトポートは5432 です.
データベース: データベースの名称
SSL モード: SSL接続がどのようにサーバとネゴシエーションするかの指定. 注 PostGIS レイヤレンダリングの速度は接続エディタでSSLを禁止するととても早くなります. 以下のオプションが利用可能です:
Disable: 暗号化されていないSSL接続の場合のみ試みる
allow: SSLコネクションの試行に失敗した場合非SSLコネクションの試行をする.
prefer (デフォルトです): SSLコネクションを試行します.もし失敗したら非SSLコネクションを試行します.
require: SSLコネクションのみを試行します.
Username: データベースにログインするユーザー名.
Password: データベースに接続するために Username と一緒に利用するパスワード.
オプションで以下のチェックボックスをアクティブにできます:
すべてのパラメータとオプションを設定した後で [接続テスト] ボタンをクリックして接続テストを行うことができます.
1本以上の接続を定義した後はPostgreSQL データベースからレイヤをロードできます. もちろんPostgreSQLにデータが格納されている必要があります. セクション PostgreSQLへのデータインポート を参照するとデータベースへのデータインポート方法について記述されています.
PostGISからレイヤをロードするには、以下のステップを実行します:
ドロップダウンリストから接続を選択して [Connect] をクリックして下さい.
オプションで Search Options 使うとレイヤからどの地物をロードするか定義できます,また [Build query] ボタンを使うと Query builder ダイアログを開始できます.
有効なレイヤリストからあなたが利用したいレイヤを探してください.
クリックすると選択できます. Shift キーを押しながらクリックすると複数のレイヤを選択することができます. PostgreSQLクエリビルダを使ってレイヤを高度に利用する方法についてはセクション クエリビルダー を参照して下さい.
[追加] ボタンをクリックし、マップにレイヤを追加します。
ちなみに
PostGIS レイヤ
通常の PostGIS レイヤは geometry_columns テーブルのエントリで定義されます. バージョン 0.9.0 から, QGIS では geometry_columns テーブルエントリを持たないレイヤをロードすることができます. この機能はテーブルとビュー両方に適用できます. 空間ビューを定義することによってあなたのデータをパワフルに可視化することができます. ビューの作成については PostgreSQL マニュアルを参照して下さい.
このセクションでは QGIS がどのようにPostgreSQLレイヤにアクセスするかのいくつかの詳細が含まれています. ほとんどの場合 QGIS は単純にロード可能なデータベーステーブルのリストを提供してそれらに対して要求してロードを行います. それにもかかわらず もしPostgreSQL テーブルを QGIS にロード失敗した場合, 以下の情報が QGIS メッセージを理解するための助けになり PostgreSQLテーブルやビューの定義を QGIS にロードできるように変更する方法を見つける手助けになります.
QGIS では PostgreSQL レイヤにレイヤユニークキーとなるカラムを持つことを必須としています. テーブルの場合通常テーブルはプライマリキーが必要であるかユニーク制約を持つカラムがあるといいです. In QGIS ではこのカラムの型は int4タイプ (4バイト整数)である必要があります. 別の方法として ctid カラムをプライマリキーとして使うことができます. もしテーブルがそれらのアイテムを持っていない場合 oid カラムが代わりに利用されるでしょう. カラムにインデックスが作成されているとパフォーマンスが向上します (注 プライマリキーはPostgreSQLでは自動的にインデックスが作成されます).
もしPostgreSQL レイヤがviewの場合同じ制約が必要です, しかしviewsはプライマリキーを持たなかったりユニーク制約のカラムがなかったりします. viewをロードする前に QGIS ダイアログでプライマリキーフィールド ( integerでなければいけません) を定義する必要があります. viewに適切なカラムが無い場合, QGIS ではそのviewをレイヤとしてロードできません. この問題が発生した場合適切なカラムがふくまれるようにviewを作り直すやりかたが解決方法です ( integer 型でプライマリキーであるかユニーク制約があること,インデックスされているとパフォーマンスが向上します).
QGIS では Select at id チェックボックスを提供していてデフォルトではアクティブです. このオプションを使うと属性を使わずにidを取得することができ,多くの場合最も高速です. 複雑なビューを使う場合このオプションを無効にするといい場合があります.
PostgreSQL/PostGISへのデータインポートはSPITプラグインまたはshp2pgsqlやogr2ogrのようなコマンドラインツールのような様々なツールで実行できます.
QGIS では DB Manager という名前のコアプラグインが使えるようになりました. これを使うとshapefileをロードして他のデータ形式やスキーマサポートに利用できます. 詳しい情報はセクション DB マネージャプラグイン を参照して下さい.
PostGISはshapefileをPostGISにインポートする shp2pgsql というユーティリティを持っています. 例えば lakes.shp というshapefileを gis_data というPostgreSQLデータベースにインポートする場合以下のコマンドを使って下さい:
shp2pgsql -s 2964 lakes.shp lakes_new | psql gis_data
ここで gis_data データベースに lakes_new という名前の新しいレイヤが作成されます. 新しいレイヤは2964という空間参照識別子 (SRID) を持ちます. 空間参照システムと投影についてはセクション 投影法の利用方法 を参照して下さい.
ちなみに
PostGISからデータセットをエキスポートする
インポートツール shp2pgsql と同じように PostGIS-データセットをshapefileとしてエキスポートするツールがあります: pgsql2shp. これはあなたのPostGISディストリビューションと一緒に出荷されています.
Besides shp2pgsql and DB Manager, there is another tool for feeding geodata in PostGIS: ogr2ogr. This is part of your GDAL installation.
shapefileをPostGISにインポートする手順は以下のとおりです:
ogr2ogr -f "PostgreSQL" PG:"dbname=postgis host=myhost.de user=postgres
password=topsecret" alaska.shp
これによって shapefile alaska.shp を サーバ myhost.de. の PostGISデータベース postgis にユーザ postgres パスワード topsecret でインポートします.
注 PostGISをサポートする場合はOGRがPostgreSQLを組み込んでビルドされていなければなりません.次のようにタイプすると確認できます( の場合)
ogrinfo --formats | grep -i post
もしデフォルトの INSERT INTO メソッドの代わりに PostgreSQLの COPY -command を使いたい場合は以下の環境変数をエキスポートすることができます(少なくても と の場合は可能です):
export PG_USE_COPY=YES
ogr2ogr は shp2pgsl のように空間インデックスを作成しません. 空間インデックスを作るためには特別ステップとして手動で通常のSQLコマンド CREATE INDEX を発行する必要があります (次のセクション パフォーマンスの改善 で説明しています).
PostgreSQLデータベースから地物を取得する場合時間がかかります, とりわけネットワークごしの場合は時間がかかります.PostgreSQLレイヤの描画パフォーマンスを向上させる場合データベースのそれぞれのレイヤに PostGIS 空間インデックス を作成することが確実です. PostGIS は GiST (Generalized Search Tree) インデックス を作成することでデータの空間検索速度を向上させることをサポートしています (GiST インデックスの情報はPostGIS ドキュメンテーション http://postgis.refractions.net から参照することができます).
GISTインデックス作成シンタックスは次のとおりです
CREATE INDEX [indexname] ON [tablename]
USING GIST ( [geometryfield] GIST_GEOMETRY_OPS );
注 巨大テーブルでインデックスを作ると長い時間がかかります.一度インデックスを作成したら VACUUM ANALYZE を実行する必要があります. 詳しくは PostGIS ドキュメンテーション (POSTGIS-PROJECT 文献とWeb参照) を見て下さい.
以下はGISTインデックス作成の例です
gsherman@madison:~/current$ psql gis_data
Welcome to psql 8.3.0, the PostgreSQL interactive terminal.
Type: \copyright for distribution terms
\h for help with SQL commands
\? for help with psql commands
\g or terminate with semicolon to execute query
\q to quit
gis_data=# CREATE INDEX sidx_alaska_lakes ON alaska_lakes
gis_data-# USING GIST (the_geom GIST_GEOMETRY_OPS);
CREATE INDEX
gis_data=# VACUUM ANALYZE alaska_lakes;
VACUUM
gis_data=# \q
gsherman@madison:~/current$
多くのGISパッケージではジオグラフィックリファランスシステム(緯度/経度)で 経度180度をまたぐライン のベクタマップを含んでいません (http://postgis.refractions.net/documentation/manual-2.0/ST_Shift_Longitude.htm). ですからそのような地図を QGIS で開くと隣接しなければいけない場所が2個の離れた異なる領域で表示されます. Figure_vector_4 で地図キャンバスの左側の小さい点 (Chatham Islands)はニュージーランドの本島の右側にグリッドにあるべきです.
Figure Vector 4:
この問題の回避方法は経度の値を PostGIS の ST_Shift_Longitude 関数を使って変換することです この関数はジオメトリのそれぞれの地物のコンポーネント中の点/頂点を読んで,それの経度が < 0° の場合 360° を加算します. その結果は 0° - 360° の間になり 180° が中心の地図にプロットできます.
Figure Vector 5:
DBマネージャプラグインを利用したPostGIS (PostgreSQLへのデータインポート) へのデータインポート例.
PostGISコマンドラインインターフェースを利用して以下のコマンドを発行して下さい (これは例で “TABLE” のところはあなたのPostGISテーブルの実際の名前にして下さい): gis_data=# update TABLE set the_geom=ST_Shift_Longitude(the_geom);
すべてがうまくいけば更新された地物の数についての確認を求められます,それから地図をロードして違いを見ることができるでしょう (Figure_vector_5).
SpatiaLite データベースから最初にデータをロードする場合ツールバーの SpatiaLite レイヤの追加 ボタンをクリックするか レイヤ メニューの SpatiaLite レイヤの追加... を選択するか Ctrl+Shift+L をタイプして下さい. これによりウィンドウを開いて QGIS ですでに設定されているSpatiaLite データベースにドロップダウンメニューから選択して接続するか あたらしいデータベース接続定義を作ることができます. 新しい接続定義を作成する場合 [新規] をクリックしてファイルブラウザであなたのSpatialiteデータベースの .sqlite というエクステンションのファイルを指定して下さい.
ベクタレイヤをSpatiaLite形式で保存したい場合凡例でそのレイヤを右クリックして下さい. それから 名前をつけて保存.., を選択して出力ファイル名を指定して下さい, ‘SpatiaLite’ を形式として選択して CRSを指定して下さい. ‘SQLite’ を形式として選択することもできます, その場合 SPATIALITE=YES を OGR データソース作成オプションフィールドに指定して下さい. この指定で OGR に SpatiaLite データベースを作成することを伝えます. http://www.gdal.org/ogr/drv_sqlite.html も参照して下さい.
QGIS はまた、 SpatiaLiteでの編集可能なビューをサポートしています。
新しいSpatiaLiteレイヤを作成したい場合は 新規Spatialiteレイヤの作成. を参照して下さい.
ちなみに
SpatiaLite データ管理プラグイン
SpatiaLiteのデータ管理には多くのPython plugins: QSpatiaLite, SpatiaLite Manager または DB Manager (コアプラグイン, 推奨)を利用できます. これらはプラグインインストーラでダウンロード,インストールできます.
QGIS はネイティブでMS SQL 2008 をサポートしています. 初めて MSSQL 空間データをロードする時は ツールバーの Add MSSQL Spatial Layer ボタンをクリックするか Layer メニューの Add MSSQL Spatial Layer... オプションを選択するかキーボードで Ctrl+Shift+M とタイプしてください.
Oracle Spatial の空間機能はユーザがOracleデータベースのネイティブ型を使って地理情報や位置情報を管理することを助けます. QGIS は現在そのようなレイヤをサポートします.
ORACLE Spatial データソースを最初に利用する場合, 利用したいデータが含まれているデータベースへのコネクションを作成しなければなりません. ツールバーボタンの Add ORACLE Spatial Layer をクリックするか Layer メニューの Add ORACLE Spatial Layer... オプションを選択するかキーボードで Ctrl+Shift+O とタイプしてください. コネクションマネージャを利用する場合は [新規] ボタンをクリックして Create a New ORACLE Spatial Connection ダイアログを表示して下さい. コネクション作成には次のパラメータが必要です:
Name: このコネクションの名前. Database と同じにすることも可能.
Database OracleインスタンスのSID または SERVICE_NAME.
Host: データベースホストの名前. この名前はtelnet接続やホストへのpingを行うときと同じようにシステムから理解される名前でなければいけません. もしデータベースが QGIS と同じコンピュータにある場合は単純に ‘localhost’ とここに記述して下さい.
Port: PostgreSQLデータベースサーバがリスンするポート番号.デフォルトポートは1521です.
Username: データベースにログインするユーザー名.
Password: データベースに接続するために Username と一緒に利用するパスワード.
オプションで以下のチェックボックスをアクティブにできます:
Only look in meta data table は all_sdo_geom_metadata ビューに存在するテーブルのみ表示するように制限を行います. これをチェックすると空間情報テーブルの初期表示を高速化します.
Only look for user’s tables 空間テーブルを検索する場合に指定ユーザが所有するテーブルのみを検索する制約.
Also list tables with no geometry デフォルトでジオメトリを持たないテーブルもリストすることを示します.
Use estimated table statistics for the layer metadata Oracleテーブルのレイヤ設定するときに様々なメタデータが必要です.ここにはテーブルの行数,ジオメトリタイプ,空間の領域等のデータが含まれます .テーブルの行数がとても多い場合このメタデータ作成に時間がかかります. このオプションを有効にすると以下の高速メタデータ操作が実行されます: 行数はall_tables.num_rows から取得されます. テーブルの領域はフィルターが適用されていても常に SDO_TUNE.EXTENTS_OF 関数で取得されます. テーブルのジオメトリは先頭のNULLでない100行のデータで判定されます.
Only existing geometry types 存在しているジオメトリタイプのみリストを行い他の型の追加は行いません.
すべてのパラメータとオプションを設定した後で [接続テスト] ボタンをクリックして接続テストを行うことができます.
1本以上の接続を定義した後はORACLE データベースからレイヤをロードできます. もちろんORACLEにデータが格納されている必要があります.
ORACLE Spatialからレイヤをロードするには、以下のステップを実行してください:
ドロップダウンリストから接続を選択して [Connect] をクリックして下さい.
オプションで Search Options 使うとレイヤからどの地物をロードするか定義できます,また [Build query] ボタンを使うと Query builder ダイアログを開始できます.
有効なレイヤリストからあなたが利用したいレイヤを探してください.
クリックするとそれを選択できます. Shift キーを押しながらクリックすると複数のレイヤを選択することができます. PostgreSQLクエリビルダを使ってレイヤを高度に利用する方法についてはセクション クエリビルダー を参照して下さい.
[追加] ボタンをクリックし、マップにレイヤを追加します。
ちなみに
Oracle Spatial レイヤ
通常 ORACLE Spatial レイヤは USER_SDO_METADATA テーブルのエントリで定義されています.