Daily Archives: 06/13/2013

GeoServerでPostGISを使ってみる。[Chapter 3]

GeoServerでPostGISを使ってみる。[Chapter 3]

今回は、GeoServerにShapefileを読み込んで表示してみます。
GeoServerのinstallは、GeoServerを使ってみる。[Chapter 1] でGeoServer Serviceが設定済みであることが前提です。

PostgreSQLにShapefileをImport

PostGISを使ってみる。[Chapter 1] でShapefileをimportしたように、今回使用するのは、神奈川県の鉄道のshapefileデータであるc14_railroadを使いました。

属性値のdbfは、Shift_JIS形式となっています。

まずは、スタート→プログラム→PostgrSQL 9.1 → pgAdmin III を起動します。

データベースkanagawaを作成します。
pgAdmin IIIからkanagawaをclickすると、
blog.godo-tys.jp_wp-content_gallery_geoserver_03_image02.jpg

な感じで表示されます。

次に、Plugin iconもしくはメニューから、Shapefile Import/Export Managerを起動してShapefileをimportします。

最終的に取り込んだShapefileはPostgreSQLのkanagawaデータベースにc14_railroadテーブルとして登録されます。
テーブルの中身は、
blog.godo-tys.jp_wp-content_gallery_geoserver_03_image01.jpg

となっています。

GeoServerにPostGISを取り込む

まずは、WindowsのServiceとしてGeoServerを動かさなければなりません。
Start GeoServerを選択すると、

blog.godo-tys.jp_wp-content_gallery_geoserver_01_image13.jpg
で表示が止まります。この状態でGeoServerがサービスを開始した状態になります。
ここで、cmd terminal windowをcloseしないようにしてください。
closeすると、GeoServerのServiceは終了します。したがって、cmd terminal windowは開いたままの状態にしておきます。

次に、GeoServer Web admin pageを選択して、loginします。
Install時に設定したUsername,Passwordを入力します。
blog.godo-tys.jp_wp-content_gallery_geoserver_01_image15.jpg
Admin画面が表示されます。

Data Storeを作成する。

次にGeoServer Web admin pageから新規にData Storeを作成します。
GeoServer Web admin pageの左側のメニューからDataStoresをclickすると
blog.godo-tys.jp_wp-content_gallery_geoserver_02_image05.jpg

が表示されます。

次に、Add new Storeをclickすると、Data Storeの登録画面が開くので、
blog.godo-tys.jp_wp-content_gallery_geoserver_02_image06.jpg

Vector Data Storeの PostGIS – PostGIS Databaseを選択します。

Workspace前回作成したkanagawaをcomboboxより選択します。
blog.godo-tys.jp_wp-content_gallery_geoserver_03_image08.jpg

そして、Connection Parameterは、
blog.godo-tys.jp_wp-content_gallery_geoserver_03_image09.jpg

入力すべき項目は、
host: localhost
port: 5432 → (PostgreSQLのinstall時のdefaultのport番号)
databse: kanagawa → (PostgreSQLで作成したDatabase)
schema: public
user: postgres → (PostgreSQLのinstall時のdefaultのuser)
password: ●●●●●●●● → (PostgreSQLのinstall時のdefaultのuserのpassword)

を入力します。

後は、defaultのままで構いません。
blog.godo-tys.jp_wp-content_gallery_geoserver_03_image10.jpg
Saveをclickして保存します。

Layerを作成する。

data storesのsaveが終わると、
blog.godo-tys.jp_wp-content_gallery_geoserver_03_image11.jpg

のようにNew Layerの設定画面が開きます。
選択したPostgreSQLから使用できるテーブル名が表示されているはずです。
ここでは、c14_railroadがLayer nameに表示されています。

次に、c14_railroadのActionのPublishをclickすると、
blog.godo-tys.jp_wp-content_gallery_geoserver_03_image12.jpg

が表示されます。Nameやtitle、Abstractなどを入力します。

次に、Coordinate Reference Systemsの、Declared SRSBounding Boxesを設定します。
SRS(EPSG)が不明の場合は、Find buttonのClickで
blog.godo-tys.jp_wp-content_gallery_geoserver_02_image17.jpg

のように探すことができます。

次に、Bounding Boxesを設定します。これは、Compute from dataCompute from native boundsをclickすることで自動的に最大表示範囲を設定してくれます。
その結果、
blog.godo-tys.jp_wp-content_gallery_geoserver_03_image13.jpg

のように計算した値が自動的に入力されます。
parameterの入力が終わったら、
blog.godo-tys.jp_wp-content_gallery_geoserver_03_image14.jpg

最後にSaveをclickして保存します。

保存後、
blog.godo-tys.jp_wp-content_gallery_geoserver_03_image15.jpg

のようにLayerが登録されています。

Layerを表示する。

次にGeoServer Web admin pageからLayer Previewをclickして、作成したLayerを表示します。
GeoServer Web admin pageの左側のメニューからDataLayer Previewをclickすると
blog.godo-tys.jp_wp-content_gallery_geoserver_03_image16.jpg

がようにLayer一覧が表示されます。(Nameで並び替えて、一部抜粋しています。)

次に、kanagawa:c14_railroadのOpenLayersをclickすると、
blog.godo-tys.jp_wp-content_gallery_geoserver_03_image17.jpg

のように神奈川県の鉄道網のpolylineが表示されます。

適当に、polylineをclickすると
blog.godo-tys.jp_wp-content_gallery_geoserver_03_image18.jpg

のようにdbfのattributeが表示されます。

そして、OpenLayerのNavigate controlの一番上のiconをclickするとWMSの基本情報が表示されて、変更することもできます。

Browserのデバッグ機能から、どのようにWMSを呼び出しているかもわかりますので、sourceのcheckしておくと良いでしょう。

今回のまとめ

とりあえず、GeoServerにPostGISからデータを取得して、OpenLayersで描画しました。
GeoServerとPostgreSQL+PostGISの組み合わせは手順さえ覚えてしまえば、非常に簡単にできます。
手順は、

  1. PostgreSQLにデータを取り込む
  2. Workspaceの作成(Workspaceが作成済みも場合は省略可能)
  3. Data Storeの作成
  4. Layerの作成

です。

次回は、Layer Group化して表示する設定してみましょう。

GeoServer Tutorialの目次に戻る。

1 / 11

Social Widgets powered by AB-WebLog.com.