TOPシステム開発> データの用意
PHPプロ!マガジン
MapServerマスターへの道

第1回:MapServerとは

著者:アシアル  森川 穣   2007/1/15
前のページ  1  2  3
データの用意

   これで、MapServerを使用する準備が整ったので、次はデータを用意しましょう。今回使用するデータは国土数値情報ダウンロードサービスからダウンロードします。

   まずは、下記のページから2つのファイルをダウンロードします。
データのダウンロード先
http://nlftp.mlit.go.jp/ksj2/index.html

   最初は都道府県のポリゴン情報をダウンロードします。ダウンロードページから、国土骨格の行政区域(面)を選択し、次のページでは、東京都を選択します(なおこの都道府県の選択は他のものでもかまいません)。最新のファイルをチェックして、約款の同意、ダウンロードと続きます。ダウンロードしたファイルは解凍しておきましょう。解凍すると中に2つのXMLファイルが見つかると思います。

   次にダウンロードしたXMLファイルをシェープファイルといわれるデータ形式に変換するソフトウェアをインストールします。トップページから「国土数値情報変換ツールを試作しました」というリンクが見つかると思うので、そちらからダウンロードして、インストールします。

   インストールしたら、変換ツールを実行し、先ほど解凍したフォルダを変換元に、変換後フォルダは任意に適当にsample_dataのように選択して実行します。そうすると、shp、dbf、shxという拡張子の3つのファイルができるでしょう。この3つのファイルをサーバにアップロードしておきます。

   これがシェープファイルです。以下のPostGISへの変換を行わなくてもそのままシェープファイルを使用することもできます。ただ、PostGISを使用した方がある範囲内での検索などが簡単にできるので、今回はPostGISへ変換することをおすすめします。


PostGISへの変換

   PostGISへの変換は非常に簡単で、PostGISをインストールすると、shp2pgsqlというプログラムがインストールされるので、以下のように実行します。

shp2pgsql sample_data/N03-06_13_EC01 gyosei > gyosei.sql

   このコマンドの第1引数はsample_dataディレクトリ内にN03-06_13_EC01.[shp,dbf,shx]という3つのファイルがある場合に指定するシェープファイルのファイル名になります。第2引数は変換する際に作成するテーブル名です。そして、標準出力をファイルにリダイレクトします。

   今回のシェープファイルは日本語がSJISですが、データベースはUTF-8もしくはEUC-JPで作成します。そのままSJISのSQL文を実行するとエラーとなってしまうので、gyosei.sqlの2行目に「SET client_encoding='SJIS';」の1行を追加しましょう。

   これでSQLができたわけですが、これをそのまま既存のデータベースに入れることはまだできません。なぜかというと、PostGISで使用するSQL関数群はPL/pgSQLとして実装されており、その関数群をまだデータベースに設定していないからです。ここでは新規にデータベースを作成していますが、既存のデータベースでもcreatedbコマンドの実行を省くだけで、特に問題はないはずです。

createdb -U postgres -E utf8 hppro_sample
createlang -U postgres plpgsql phppro_sample
psql -U postgres -f /usr/local/pgsql/share/⇒
contrib/lwpostgis.sql phppro_sample psql -U postgres -f gyosei.sql
phppro_sample

前のページ  1  2  3

アシアル株式会社 森川 穣
著者プロフィール
アシアル株式会社
森川 穣

高校まではPC・プログラミングとは無縁の生活を送っていたが、大学時代にプログラミングに目覚める。当時、主にC言語でのプログラミングを行っていた。大学4年時にアシアル株式会社にアルバイトとして入社。そこで初めてPHP言語でのプログラミングを覚え、会社に深く参画していく。「極める!PHP」や「超極める!PHP」、「WEB+DB PRESS」等、多数執筆。現在はオープンソースWeb地図作成ソフトMapServerを使った開発に力を入れている。


INDEX
第1回:MapServerとは
  はじめに
  MapServerのインストール
データの用意