9-2 GeoServer Getting Started
Documentation ページ
http://docs.geoserver.org/
の 「User Manual」の 「Getting Started」 の「stable」リンクをクリック。
Getting Started ページ
http://docs.geoserver.org/stable/en/user/gettingstarted/index.html
の「Using the web administration interface」をクリックします。
Using the web administration interface ページ
http://docs.geoserver.org/stable/en/user/gettingstarted/web-admin-quickstart/index.html
には、「Web Administration interface」の操作方法が記述されています。
これに沿って GeoServer を使ってみます。
「Logging In」
サーバの設定は、ログインして行います。
初期値のユーザ名とパスワードは、「admin」と「geoserver」です。
ユーザ名とパスワードの変更は、「Security」の「Passwods」をクリックして表示される「Passwods」ページ一番上の master password を変更します。
今回は変更しないで使いました。
ログインすると次のように表示されます。
データの下に注意事項が表示されます。
9-3 PostGIS Table の追加
Getting Started ページ
http://docs.geoserver.org/stable/en/user/gettingstarted/index.html
の「Publishing a PostGIS Table」
をクリックします。
Publishing a PostGIS Table ページ
http://docs.geoserver.org/stable/en/user/gettingstarted/postgis-quickstart/index.html
9-3-1 Data preparation
データの準備
このブログの「Debian 10 - 8 PostGIS」で準備した nippon データベースの tokyo_kuiki テーブルを使用するので省略します。
9-3-2 Creating a new workspace
新しい Workspaces の作成
a 左側の欄の「データ」の「ワークスペース」をクリックします。
b 「ワークスペース」画面の「新規ワークスペース追加」をクリックします。
c 「新しいワークスペース」で次のように入力します。
Name: npn (10文字以内)
ネームスペースURI: http://www.myhome.net/npn
(インターネット上の唯一(unique)の空間。実際に存在しなくてもいい。
公開予定がないなら上記のように適当に。)
「既定のワークスペース」にチェックをつけて、「送信」ボタンをクリックします。
9-3-3 Creating a Store
ストアの作成
最初のステップは、PostGIS データベース "nippon" の データストア を作成します。
データストア は GeoServer にデータベースの接続の方法を教えます。
a 左側の欄の「データ」の「ストア」をクリックします。
b 「ストア」画面の「ストア新規追加」をクリックします。
c 「新規データソース」画面の「ベクターデータソース」の「PostGIS」をクリックします。
d 「ワークスペース」の初期設定は変えずに、「ストア基本情報」の「データソース名」と「解説」を入力します。
ワークスペース: npn (変更なし)
データソース名: nlni
解説: National Land Numerical Info. (任意)
有効化: チェックする(変更なし)
e 「パラメーターの接続」を指定します。
host: localhost (変更なし)
port: 5432 (変更なし)
database: nippon
schema: public (変更なし)
user: user(tokyo_kuiki テーブルに接続できるユーザ)
password: ●●●●●●● (user がテーブルに接続するときのパスワード)
Namespace: http://www.myhome.net/npn(固定)
Expose primary keys:(transactional WFS を使用するときに必要 チェックなしのとき読み取り専用)
max connections: 10 (変更なし、任意です)
min connections: 1 (変更なし、任意です)
fetch size: 1000 (変更なし、任意です)
Batch insert size: 1 (変更なし、任意です)
Connection timeout: 20 (変更なし、任意です)
validate connections: チェックする(変更なし)
Test while idle: チェックする(変更なし)
Evictor run periodicity: 300(変更なし、任意です)
Max connection idle time: 300(変更なし、任意です)
Evictor tests per run: 3(変更なし、任意です)
Primary key metadata table: (空、変更なし、任意です)
Session startup SQL:(空、変更なし、任意です)
Session close-up SQL:(空、変更なし、任意です)
Callback factory:(空、変更なし、任意です)
Loose bbox: チェックする(変更なし)
Estimated extends: チェックする(変更なし)
SSL mode: DISABLE(変更なし)
preparedStatements: チェックしない(変更なし)
Max open prepared statements: 50 (変更なし、任意です)
encode functions: チェックしない(変更なし)
Support on the fly geometry simplification: チェックする(変更なし)
create database: チェックしない(変更なし)
create database params:(空、変更なし、任意です)
d 「保存」ボタンをクリックします。
追加されたレイヤ一覧が表示されます。
9-3-3 レイヤの追加
「ストア新規追加」から続けて操作しても OK です。
b 左側の欄の「データ」の「レイヤ」をクリックします。
c 「リソース新規追加」をクリックします。
d 「新規レイヤ」の「新規レイヤを追加」の「レイヤ追加元」ドロップダウンから「npn:nlni」を選択します。
e nlni store のレイヤのリストが表示されます。
「tokyo_kuiki」の「公開」をクリックします。
d 選択したレイヤのリソースと編集したい情報の設定をします。
「リソース基本情報」を入力します。
ユーザ名: tokyo_kuiki (変更なし)
有効化 : チェック(変更なし)
詳細: チェック(変更なし)
タイトル: Tokyo Kuiki (任意)
抜粋: National Land Numerical Info. Tokyo Kuiki (任意)
「キーワード」を入力します。
(「キーワード」に属性が追加できます。「キーワード」と「語彙集」です。)
現在のキーワード: (追加したキーワードが表示されます)
新しいキーワード: 東京, 区域(右欄のリストから「日本語」を選択 任意)
語彙集: area, category(任意)(1つずつ入力して「キーワード追加」ボタンをクリック)
「メタデータ・リンク」と「Data links」は変更しません。
「座標参照系(CRS)」を入力します。
元ファイルSRS: 空(変更なし)
指定中のSRS: EPSG:4326 (「Find」ボタンをクリックして「4326」を検索して表示された「4326」をクリック)
SRSのハンドリング: 上書き適用 (変更しない)
「範囲矩形」を入力します。
ネイティブの範囲矩形: (「データを元に算出」をクリック -以下の値が入力されました)
Min X: 138.798095703125
Min Y: 24.1661624908447
Max X: 142.269729614258
Max Y: 35.9567947387695
緯度経度範囲矩形: (「ネイティブの範囲を元に算出」をクリック -以下の値が入力されました)
Min X: 138.798095703125
Min Y: 24.1661624908447
Max X: 142.269729614258
Max Y: 35.9567947387695
「Curved geometries control」は変更しません。
e ページ上部の「公開」タブをクリックします。
「WMS設定」の「Layer Settings」の「デフォルトスタイル」が「polygon」になっていることを確認します。
(他は変更しません。)
ページ下部の「保存」ボタンをクリックします。
「レイヤ」ページの一番下に「tokyo_kuiki」が追加されます。
「Previewing the Layer」
a 左側の欄の「データ」の「レイヤプレビュー」をクリックし、「tokyo_kuiki」を検索します。
b 「共通フォーマット 」列の「OpenLayers」をクリックします。
c 成功すれば、OpenLayers Map がポリゴンで表示されます。
範囲が諸島部まで入っていました。
2019年10月16日水曜日
Debian 10 - 9 GeoServer の設定1
9-1 GeoServer のインストール
Web achive をインストールします。
Stable(2.16.x)をインストールしますが、
Debian
http://docs.geoserver.org/2.6.x/en/user/installation/linux/debian.html
も参考にします。
GeoServer のホームページ
http://geoserver.org/
の Documentation リンクをクリック。
Documentation ページ
http://docs.geoserver.org/
の 「User Manual」の 「User Manual」 の「stable」リンクをクリック。
GeoServer User Manual ページ
http://docs.geoserver.org/stable/en/user/
の「Introduction」をクリック。
Introduction ページ
http://docs.geoserver.org/stable/en/user/introduction/index.html#introduction
の「Overwiew」をクリックします。
そこに、GeoServer の概要があります。
GeoServer は、Java でかかれたオープンソースソフトウェアサーバです。
主要な地理空間データを OGC に準拠した WFS、WCS、WMS を実装しています。
ライセンスは、GeoServer ホームページ(http://geoserver.org)メニューの「Community」をクリックして表示される GitHub LICENSE.txt にあるように、GeoServerは、以下に説明するように、GNU General Public License の下で配布されています。詳しくはこのページを参照してください。
インストールは、
GeoServer User Manual ページ
http://docs.geoserver.org/stable/en/user/
の「Installation」をクリック。
Installation ページ
http://docs.geoserver.org/stable/en/user/installation/index.html
の「Web archive」をクリックします。
Web archive ページ
http://docs.geoserver.org/stable/en/user/installation/war.html
a Java が動作しているか確認します。
Java 8 環境(Oracle JRE)または OpenJDK。
GeoServer の Web archive は、現在、Java 9 をサポートしていません。
「How to Install Java on Debian 10 Linux(https://linuxize.com/post/install-java-on-debian-10/)」を参考に OpenJDK 8 をインストールします。
1 最初に、パッケージリストを更新し、HTTPS 経由で新しいリポジトリを追加するために必要な依存関係をインストールします。
2 次の wget コマンドを使ってリポジトリの GPG キーをインポートします。
3 システムに AdoptOpenJDK APT リポジトリを追加します。
4 一度、リポジトリを有効して次のコマンドを使い apt sources を更新し、Java 8 をインストールします。
5 Debian システムに複数の Java version がインストールされている場合、次のコマンドでデフォルトのバージョンが確認できます。
6 デフォルトのバージョンを変更するために update-alternatives コマンドを使います。
7 デフォルトに adoptopenjdk-8-hotspot-amd64 を使うなら「1」を入力して「Enter」キーを押します。
b Web archive をダウンロードします。
「Download(http://geoserver.org/download/)」ページの「Stable(2019.10.15 現在 バージョン 2.16.0)」をクリックします。
「Stable(http://geoserver.org/release/stable/)」ページの「Packages」の「Web Archive」をクリックしてダウンロードします。
次のようなダイアログが表示されたら「ファイルを保存する」を選択して「OK」ボタンをクリックします。
c Tomcat9 をインストールします。
Synaptic パッケージマネージャで tomcat9 をインストールします。
d ダウンロードしたファイルを解凍します。
(フォルダを作成して解凍すると作業がしやすいです。)
f GeoServer の動作確認をします。
ブラウザのアドレスバーに http://localhost:8080/geoserver と入力し、Enter キーを押します。
エラーメッセージが表示されたら Apache を再起動します。
Web achive をインストールします。
Stable(2.16.x)をインストールしますが、
Debian
http://docs.geoserver.org/2.6.x/en/user/installation/linux/debian.html
も参考にします。
GeoServer のホームページ
http://geoserver.org/
の Documentation リンクをクリック。
Documentation ページ
http://docs.geoserver.org/
の 「User Manual」の 「User Manual」 の「stable」リンクをクリック。
GeoServer User Manual ページ
http://docs.geoserver.org/stable/en/user/
の「Introduction」をクリック。
Introduction ページ
http://docs.geoserver.org/stable/en/user/introduction/index.html#introduction
の「Overwiew」をクリックします。
そこに、GeoServer の概要があります。
GeoServer は、Java でかかれたオープンソースソフトウェアサーバです。
主要な地理空間データを OGC に準拠した WFS、WCS、WMS を実装しています。
ライセンスは、GeoServer ホームページ(http://geoserver.org)メニューの「Community」をクリックして表示される GitHub LICENSE.txt にあるように、GeoServerは、以下に説明するように、GNU General Public License の下で配布されています。詳しくはこのページを参照してください。
インストールは、
GeoServer User Manual ページ
http://docs.geoserver.org/stable/en/user/
の「Installation」をクリック。
Installation ページ
http://docs.geoserver.org/stable/en/user/installation/index.html
の「Web archive」をクリックします。
Web archive ページ
http://docs.geoserver.org/stable/en/user/installation/war.html
a Java が動作しているか確認します。
Java 8 環境(Oracle JRE)または OpenJDK。
user@deb10-vmw:~$ java -version
openjdk version "11.0.4" 2019-07-16
OpenJDK Runtime Environment (build 11.0.4+11-post-Debian-1deb10u1)
OpenJDK 64-Bit Server VM (build 11.0.4+11-post-Debian-1deb10u1, mixed mode, sharing)
openjdk version "11.0.4" 2019-07-16
OpenJDK Runtime Environment (build 11.0.4+11-post-Debian-1deb10u1)
OpenJDK 64-Bit Server VM (build 11.0.4+11-post-Debian-1deb10u1, mixed mode, sharing)
GeoServer の Web archive は、現在、Java 9 をサポートしていません。
「How to Install Java on Debian 10 Linux(https://linuxize.com/post/install-java-on-debian-10/)」を参考に OpenJDK 8 をインストールします。
1 最初に、パッケージリストを更新し、HTTPS 経由で新しいリポジトリを追加するために必要な依存関係をインストールします。
user@deb10-vmw:~$ su -
パスワード:
root@deb10-vmw:~# apt update
root@deb10-vmw:~# apt install apt-transport-https ca-certificates wget dirmngr gnupg software-properties-common
パスワード:
root@deb10-vmw:~# apt update
root@deb10-vmw:~# apt install apt-transport-https ca-certificates wget dirmngr gnupg software-properties-common
2 次の wget コマンドを使ってリポジトリの GPG キーをインポートします。
root@deb10-vmw:~# wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | sudo apt-key add -
3 システムに AdoptOpenJDK APT リポジトリを追加します。
root@deb10-vmw:~# add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/
4 一度、リポジトリを有効して次のコマンドを使い apt sources を更新し、Java 8 をインストールします。
root@deb10-vmw:~# add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/
root@deb10-vmw:~# apt update
root@deb10-vmw:~# apt update
5 Debian システムに複数の Java version がインストールされている場合、次のコマンドでデフォルトのバージョンが確認できます。
root@deb10-vmw:~# java -version
openjdk version "11.0.4" 2019-07-16
OpenJDK Runtime Environment (build 11.0.4+11-post-Debian-1deb10u1)
OpenJDK 64-Bit Server VM (build 11.0.4+11-post-Debian-1deb10u1, mixed mode, sharing)
openjdk version "11.0.4" 2019-07-16
OpenJDK Runtime Environment (build 11.0.4+11-post-Debian-1deb10u1)
OpenJDK 64-Bit Server VM (build 11.0.4+11-post-Debian-1deb10u1, mixed mode, sharing)
6 デフォルトのバージョンを変更するために update-alternatives コマンドを使います。
root@deb10-vmw:~# update-alternatives --config java
、さもなければ選択肢の番号のキーを押してください: 1
update-alternatives: /usr/bin/java (java) を提供するためにマニュアルモードで /usr/lib/jvm/adoptopenjdk-8-hotspot-amd64/bin/java を使います
root@deb10-vmw:~# java -version
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.222-b10, mixed mode)
alternative java (/usr/bin/java を提供) には 2 個の選択肢があります。 選択肢 パス 優先度 状態 ------------------------------------------------------------ * 0 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 自動モード 1 /usr/lib/jvm/adoptopenjdk-8-hotspot-amd64/bin/java 1081 手動モード 2 /usr/lib/jvm/java-11-openjdk-amd64/bin/java 1111 手動モード現在の選択 [*] を保持するには
update-alternatives: /usr/bin/java (java) を提供するためにマニュアルモードで /usr/lib/jvm/adoptopenjdk-8-hotspot-amd64/bin/java を使います
root@deb10-vmw:~# java -version
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.222-b10, mixed mode)
7 デフォルトに adoptopenjdk-8-hotspot-amd64 を使うなら「1」を入力して「Enter」キーを押します。
b Web archive をダウンロードします。
「Download(http://geoserver.org/download/)」ページの「Stable(2019.10.15 現在 バージョン 2.16.0)」をクリックします。
「Stable(http://geoserver.org/release/stable/)」ページの「Packages」の「Web Archive」をクリックしてダウンロードします。
次のようなダイアログが表示されたら「ファイルを保存する」を選択して「OK」ボタンをクリックします。
c Tomcat9 をインストールします。
Synaptic パッケージマネージャで tomcat9 をインストールします。
d ダウンロードしたファイルを解凍します。
(フォルダを作成して解凍すると作業がしやすいです。)
root@deb10-vmw:~# exit
user@deb10-vmw:~$ cd ダウンロード
user@deb10-vmw:~/ダウンロード$ ls
---
geoserver-2.16.0-war.zip
---
user@deb10-vmw:~/ダウンロード$ mkdir geoserver
user@deb10-vmw:~/ダウンロード$ mv geoserver-2.16.0-war.zip geoserver
user@deb10-vmw:~/ダウンロード$ cd geoserver/
user@deb10-vmw:~/ダウンロード/geoserver$ unzip geoserver-2.11.1-war.zip
e root で geoserver.war を /var/lib/tomcat9/webapps にコピーします。user@deb10-vmw:~$ cd ダウンロード
user@deb10-vmw:~/ダウンロード$ ls
---
geoserver-2.16.0-war.zip
---
user@deb10-vmw:~/ダウンロード$ mkdir geoserver
user@deb10-vmw:~/ダウンロード$ mv geoserver-2.16.0-war.zip geoserver
user@deb10-vmw:~/ダウンロード$ cd geoserver/
user@deb10-vmw:~/ダウンロード/geoserver$ unzip geoserver-2.11.1-war.zip
Archive: geoserver-2.16.0-war.zip inflating: geoserver.war inflating: GPL.txt inflating: LICENSE.txt creating: target/ inflating: target/VERSION.txt
user@deb10-vmw:~/ダウンロード/geoserver$ su
パスワード:
root@deb10-vmw:/home/user/ダウンロード/geoserver# cp geoserver.war /var/lib/tomcat9/webapps/
パスワード:
root@deb10-vmw:/home/user/ダウンロード/geoserver# cp geoserver.war /var/lib/tomcat9/webapps/
f GeoServer の動作確認をします。
ブラウザのアドレスバーに http://localhost:8080/geoserver と入力し、Enter キーを押します。
エラーメッセージが表示されたら Apache を再起動します。
root@deb10-vmw:/home/user/ダウンロード/geoserver# systemctl restart apache2
2019年10月9日水曜日
Debian 10 - 8 PostGIS の設定
8-1 PostGIS のインストール
PostGIS は、リレーショナルデータベース管理ソフトPostgreSQLに格納されているデータを空間データとして利用するための拡張機能です。PostGIS を使って地図を表示します。
操作の前に PostgreSQL について調べておくといいでしょう。
Synaptic パッケージマネージャで PostGIS を検索して postgresql-11-postgis-2.5 をインストールすれば、必要なパッケージがすべてインストールされます。
PostgreSQL は postgres ユーザ(PostgreSQL の管理者)で操作します。
Debian は PostgreSQL をインストールすると自動的に postgres ユーザが作成されます。
postgresユーザにパスワードを設定します。
PostgreSQL が動作しているテストしてみます。
端末でpostgres ユーザで次のように実行してください。
ユーザはテストですのでセキュリティをあまり考えず、 Debian のユーザと同じにしました。
(user は Debianの一般ユーザと同じ)
8-2 データベースの作成
データベースを作成し、一般ユーザを登録します。
PostGIS ホームページ
http://postgis.net/
の Documentation ボタンをクリックします。
PostGIS - Documentation
http://postgis.net/documentation
の PostGIS 2.5(HTML)をクリックします。
PostGIS 2.5.4dev Manual
http://postgis.net/docs/manual-2.5/
の
Chapter 2. PostGIS Installation
http://postgis.net/docs/manual-2.5/postgis_installation.html
の 2.5. Creating a spatial database using EXTENSIONS を参考に東京都のデータのデータベースを作成します。
nippon というデータベースを作成します。
ジオグラフィ型のカラム。「緯度/経度」を角度の単位(度)で表す地理座標「WGS 84経度緯度(SRID:4326)」だけサポートします。地球規模の2点間の距離を円弧で計算します。(4.2. PostGIS Geography Type 参照)
geometry_columns
ベクタデータで使用するジオメトリ型のカラム。
raster_columns
ラスタデータ型のカラム。
raster_overviews
基本ラスタテーブルの低解像度版カラム。
spatial_ref_sys
変換/再投影するために必要な空間参照系に関するOGC準拠のデータベーステーブル。
これらのオーナーを user に変更します。
(shp2pgsql オプション -W カラムの属性の文字列を UTF-8 にエンコードします。
もし、「bash: shp2pgsql: コマンドが見つかりません」と表示されたら、Synaptic パッケージマネージャで「postgis」をインストールします。)
マップファイル tokyo_pgis.map を作成します。
8-3 属性カラム内の検索
データベースの属性カラム内の検索を実行して、地図を表示してみます。
国土数値情報の「4. 交通」の「空港間流通量」をデータベース nippon に登録します。
a 「JPGIS2.1」の「空港間流通量」をクリックします。
b 「データのダウンロード(2.各データ詳細)」で、「全国」のチェックボックスをクリックしてチェックし、「次へ」ボタンをクリックします。
c 「データのダウンロード(3.ファイルの選択)」で、最新のデータのチェックボックスをクリックしてチェックします。(2019-10-7現在 平成26年度)
「次へ」ボタンをクリックします。
d アンケートに回答します。
e データのダウンロード(4.国土数値情報利用約款)の内容を読み、「上記のことを理解しました。」で「はい」ボタンをクリックします。
f データのダウンロード(5.ダウンロード)で「ダウンロード」ボタンをクリックします。
ダイアログボックス---ダウンロードしますか?の「OK」ボタンをクリックします。
8-4 pgAdminIII
pgAdminIII を使ってデータベースに接続します。
Introduction to PostGIS
http://workshops.boundlessgeo.com/postgis-intro/
の「4. Creating a Spatial Database(http://workshops.boundlessgeo.com/postgis-intro/creating_db.html)」を参考にします。
(次のように開きます。
PostGIS ホームページ
http://postgis.net/
の Documentation ボタンをクリックします。
PostGIS - Documentation
http://postgis.net/documentation
「Tutorial: Introduction to PostGIS」をクリックします。
Introduction to PostGIS
https://postgis.net/workshops/postgis-intro/
の「Workshop Modules」の「4. Creating a Spatial Database」をクリックします。)
Synaptic パッケージマネージャで pgAdminIII(pgadmin3)をインストールします。
a アクティビティ -> アプリケーションを表示する(左側の一番下のアイコン) -> pgAdminIII
をクリックして起動します。
b 「サーバに接続の追加ボタン」
をクリックします。
c 「新しいサーバ登録」の「プロパティ」タブに次のように入力して「OK」ボタンをクリックします。
名前: PostGIS(任意)
ホスト: localhost
Port: 5432
サービス: (空欄)
DBメンテナンス: postgres
ユーザ名: user(postgres ユーザ)
パスワード: ●●●●●●●●(postgres ユーザのパスワード)
(その他はそのままで)
「指導的ヒント・パスワード保存」ウィンドウが表示されたら「OK」ボタンをクリックします。
d ツリーを開いていくと次のようになります。
次のようなエラーが表示されたら「OK」ボタンをクリックします。
e テーブルtokyo_kuiki をクリックして選択し、「選択オブジェクトでデータをビュー」ボタン
をクリックすると属性が表示されます。
PostGIS は、リレーショナルデータベース管理ソフトPostgreSQLに格納されているデータを空間データとして利用するための拡張機能です。PostGIS を使って地図を表示します。
操作の前に PostgreSQL について調べておくといいでしょう。
Synaptic パッケージマネージャで PostGIS を検索して postgresql-11-postgis-2.5 をインストールすれば、必要なパッケージがすべてインストールされます。
PostgreSQL は postgres ユーザ(PostgreSQL の管理者)で操作します。
Debian は PostgreSQL をインストールすると自動的に postgres ユーザが作成されます。
user@deb10-vmw:~$ cut -d: -f1 /etc/passwd
---
user
---
postgres
---
user
---
postgres
postgresユーザにパスワードを設定します。
user@deb10-vmw:~$ su -
パスワード:
root@deb10-vmw:~# passwd postgres
新しいパスワード:
新しいパスワードを再入力してください:
passwd: パスワードは正しく更新されました
パスワード:
root@deb10-vmw:~# passwd postgres
新しいパスワード:
新しいパスワードを再入力してください:
passwd: パスワードは正しく更新されました
PostgreSQL が動作しているテストしてみます。
端末でpostgres ユーザで次のように実行してください。
root@deb10-vmw:~# exit
ログアウト
user@deb10-vmw:~$ su - postgres
パスワード:
postgres@deb10-vmw:~$ psql -l
PostgreSQL にユーザを追加します。ログアウト
user@deb10-vmw:~$ su - postgres
パスワード:
postgres@deb10-vmw:~$ psql -l
データベース一覧 名前 | 所有者 | エンコーディング | 照合順序 | Ctype(変換演算子) | アクセス権限 -----------+----------+------------------+-------------+-------------------+----------------------- postgres | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | template0 | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres (3 行) (END)
ユーザはテストですのでセキュリティをあまり考えず、 Debian のユーザと同じにしました。
postgres@deb10-vmw:~$ createuser user
(user は Debianの一般ユーザと同じ)
8-2 データベースの作成
データベースを作成し、一般ユーザを登録します。
PostGIS ホームページ
http://postgis.net/
の Documentation ボタンをクリックします。
PostGIS - Documentation
http://postgis.net/documentation
の PostGIS 2.5(HTML)をクリックします。
PostGIS 2.5.4dev Manual
http://postgis.net/docs/manual-2.5/
の
Chapter 2. PostGIS Installation
http://postgis.net/docs/manual-2.5/postgis_installation.html
の 2.5. Creating a spatial database using EXTENSIONS を参考に東京都のデータのデータベースを作成します。
nippon というデータベースを作成します。
postgres@deb10-vmw:~$ createdb nippon
postgres@deb10-vmw:~$ psql -d nippon -c "CREATE EXTENSION postgis;"
CREATE EXTENSION
postgres@deb10-vmw:~$ psql -l
postgres@deb10-vmw:~$ psql nippon
psql (11.5 (Debian 11.5-1+deb10u1))
"help" でヘルプを表示します.
nippon=# \d
geography_columnspostgres@deb10-vmw:~$ psql -d nippon -c "CREATE EXTENSION postgis;"
CREATE EXTENSION
postgres@deb10-vmw:~$ psql -l
データベース一覧 名前 | 所有者 | エンコーディング | 照合順序 | Ctype(変換演算子) | アクセス権限 -----------+----------+------------------+-------------+-------------------+----------------------- nippon | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | postgres | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | template0 | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres template1 | postgres | UTF8 | ja_JP.UTF-8 | ja_JP.UTF-8 | =c/postgres + | | | | | postgres=CTc/postgres (4 行) (END)
postgres@deb10-vmw:~$ psql nippon
psql (11.5 (Debian 11.5-1+deb10u1))
"help" でヘルプを表示します.
nippon=# \d
リレーション一覧 スキーマ | 名前 | 型 | 所有者 ----------+-------------------+----------+---------- public | geography_columns | ビュー | postgres public | geometry_columns | ビュー | postgres public | raster_columns | ビュー | postgres public | raster_overviews | ビュー | postgres public | spatial_ref_sys | テーブル | postgres (5 行)
ジオグラフィ型のカラム。「緯度/経度」を角度の単位(度)で表す地理座標「WGS 84経度緯度(SRID:4326)」だけサポートします。地球規模の2点間の距離を円弧で計算します。(4.2. PostGIS Geography Type 参照)
geometry_columns
ベクタデータで使用するジオメトリ型のカラム。
raster_columns
ラスタデータ型のカラム。
raster_overviews
基本ラスタテーブルの低解像度版カラム。
spatial_ref_sys
変換/再投影するために必要な空間参照系に関するOGC準拠のデータベーステーブル。
これらのオーナーを user に変更します。
nippon=# ALTER VIEW geography_columns OWNER TO user;
ALTER VIEW
nippon=# ALTER VIEW geometry_columns OWNER TO user;
ALTER VIEW
nippon=# ALTER VIEW raster_columns OWNER TO user;
ALTER VIEW
nippon=# ALTER VIEW raster_overviews OWNER TO user;
ALTER VIEW
nippon=# ALTER TABLE spatial_ref_sys OWNER TO user;
ALTER TABLE
nippon=# \d
続けて東京都のデータを登録します。ALTER VIEW
nippon=# ALTER VIEW geometry_columns OWNER TO user;
ALTER VIEW
nippon=# ALTER VIEW raster_columns OWNER TO user;
ALTER VIEW
nippon=# ALTER VIEW raster_overviews OWNER TO user;
ALTER VIEW
nippon=# ALTER TABLE spatial_ref_sys OWNER TO user;
ALTER TABLE
nippon=# \d
リレーション一覧 スキーマ | 名前 | 型 | 所有者 ----------+-------------------+----------+-------- public | geography_columns | ビュー | user public | geometry_columns | ビュー | user public | raster_columns | ビュー | user public | raster_overviews | ビュー | user public | spatial_ref_sys | テーブル | user (5 行)
nippon=# \q
postgres@deb10-vmw:~$ exit
ログアウト
user@deb10-vmw:~$ cd mapdata/nlni/tokyo/
user@deb10-vmw:~/mapdata/nlni/tokyo$ ls
user@deb10-vmw:~/mapdata/nlni/tokyo$ shp2pgsql -W sjis N03-19_13_190101.shp tokyo_kuiki > tokyo_kuiki.sql
Shapefile type: Polygon
Postgis type: MULTIPOLYGON[2]
postgres@deb10-vmw:~$ exit
ログアウト
user@deb10-vmw:~$ cd mapdata/nlni/tokyo/
user@deb10-vmw:~/mapdata/nlni/tokyo$ ls
KS-META-N03-19_13_190101.xml N03-19_13_190101.geojson N03-19_13_190101.shx N03-190101_13_GML.zip N03-19_13_190101.prj N03-19_13_190101.xml N03-19_13_190101.dbf N03-19_13_190101.shp
user@deb10-vmw:~/mapdata/nlni/tokyo$ shp2pgsql -W sjis N03-19_13_190101.shp tokyo_kuiki > tokyo_kuiki.sql
Shapefile type: Polygon
Postgis type: MULTIPOLYGON[2]
(shp2pgsql オプション -W カラムの属性の文字列を UTF-8 にエンコードします。
もし、「bash: shp2pgsql: コマンドが見つかりません」と表示されたら、Synaptic パッケージマネージャで「postgis」をインストールします。)
user@deb10-vmw:~/mapdata/nlni/tokyo$ psql -d nippon -f tokyo_kuiki.sql
user@deb10-vmw:~/mapdata/nlni/tokyo$ psql nippon
psql (11.5 (Debian 11.5-1+deb10u1))
"help" でヘルプを表示します.
nippon=> \d
nippon=> \d tokyo_kuiki
一般ユーザ user のパスワードを設定します。user@deb10-vmw:~/mapdata/nlni/tokyo$ psql nippon
psql (11.5 (Debian 11.5-1+deb10u1))
"help" でヘルプを表示します.
nippon=> \d
リレーション一覧 スキーマ | 名前 | 型 | 所有者 ----------+---------------------+------------+-------- public | geography_columns | ビュー | user public | geometry_columns | ビュー | user public | raster_columns | ビュー | user public | raster_overviews | ビュー | user public | spatial_ref_sys | テーブル | user public | tokyo_kuiki | テーブル | user public | tokyo_kuiki_gid_seq | シーケンス | user (7 行)
nippon=> \d tokyo_kuiki
テーブル "public.tokyo_kuiki" 列 | 型 | 照合順序 | Null 値を許容 | デフォルト ---------+------------------------+----------+---------------+------------------------------------------ gid | integer | | not null | nextval('tokyo_kuiki_gid_seq'::regclass) n03_001 | character varying(10) | | | n03_002 | character varying(20) | | | n03_003 | character varying(20) | | | n03_004 | character varying(20) | | | n03_007 | character varying(5) | | | geom | geometry(MultiPolygon) | | | インデックス: "tokyo_kuiki_pkey" PRIMARY KEY, btree (gid) (END)
nippon=> ALTER USER user with password 'password(任意)';
ALTER ROLE
nippon=> \q
ALTER ROLE
nippon=> \q
マップファイル tokyo_pgis.map を作成します。
user@deb10-vmw:~/mapdata/nlni/tokyo$ cd ../../../mapfile/
user@deb10-vmw:~/mapfile$ cp tokyo_shp.map tokyo_pgis.map
user@deb10-vmw:~/mapfile$ vim tokyo_pgis.map
user@deb10-vmw:~/mapfile$ cp tokyo_shp.map tokyo_pgis.map
user@deb10-vmw:~/mapfile$ vim tokyo_pgis.map
MAP NAME tokyo_pgis_map STATUS ON SIZE 600 300 # EXTENT 136.069482 20.425119 153.986898 35.898424 EXTENT 138.85 35.4 140 35.975 UNITS DD # SHAPEPATH "../mapdata/nlni/tokyo" IMAGECOLOR 255 255 255 FONTSET "fonts.txt"
WEB IMAGEPATH "/home/user/public_html/ms_tmp/" IMAGEURL "/~user/ms_tmp/" END
LAYER NAME gyoseikuiki TYPE POLYGON STATUS ON
# DATA "N03-19_13_190101.shp" CONNECTIONTYPE POSTGIS CONNECTION "dbname=nippon host=localhost user=user password='password'" DATA "geom from tokyo_kuiki"
LABELITEM "n03_004" #「n」が小文字であることに注意してください CLASS NAME "City Boundaries" STYLE OUTLINECOLOR 153 153 153 END LABEL MINFEATURESIZE 40 TYPE TRUETYPE FONT vl-gothic ENCODING UTF-8 SIZE 8 END END END END #MAP END
http://localhost/cgi-bin/mapserv?mode=browse&template=openlayers&layer=gyoseikuiki&map=/home/user/mapfile/tokyo_pgis.map
8-3 属性カラム内の検索
データベースの属性カラム内の検索を実行して、地図を表示してみます。
国土数値情報の「4. 交通」の「空港間流通量」をデータベース nippon に登録します。
a 「JPGIS2.1」の「空港間流通量」をクリックします。
b 「データのダウンロード(2.各データ詳細)」で、「全国」のチェックボックスをクリックしてチェックし、「次へ」ボタンをクリックします。
c 「データのダウンロード(3.ファイルの選択)」で、最新のデータのチェックボックスをクリックしてチェックします。(2019-10-7現在 平成26年度)
「次へ」ボタンをクリックします。
d アンケートに回答します。
e データのダウンロード(4.国土数値情報利用約款)の内容を読み、「上記のことを理解しました。」で「はい」ボタンをクリックします。
f データのダウンロード(5.ダウンロード)で「ダウンロード」ボタンをクリックします。
ダイアログボックス---ダウンロードしますか?の「OK」ボタンをクリックします。
user@deb10-vmw:~/mapfile$ cd ../ダウンロード
user@deb10-vmw:~/ダウンロード$ ls
---
S10b-14_GML.zip
---
user@deb10-vmw:~/ダウンロード$ mkdir kotsu
user@deb10-vmw:~/ダウンロード$ mv S10b-14_GML.zip kotsu/
user@deb10-vmw:~/ダウンロード$ cd kotsu/
user@deb10-vmw:~/ダウンロード/kotsu$ ls
S10b-14_GML.zip
user@deb10-vmw:~/ダウンロード/kotsu$ unzip -j S10b-14_GML.zip
user@deb10-vmw:~/ダウンロード$ mv kotsu/ ../mapdata/nlni/
user@deb10-vmw:~/ダウンロード$ cd ../mapdata/nlni/kotsu/
user@deb10-vmw:~/mapdata/nlni/kotsu$ shp2pgsql -W sjis S10b-14_BetAport.shp logi_amt_bw_airport > logi_amt_bw_airport.sql
Field s10b_005 is an FTDouble with width 16 and precision 0
Field s10b_006 is an FTDouble with width 16 and precision 0
Field s10b_007 is an FTDouble with width 16 and precision 0
Field s10b_008 is an FTDouble with width 16 and precision 0
Field s10b_009 is an FTDouble with width 16 and precision 0
Shapefile type: Arc
Postgis type: MULTILINESTRING[2]
user@deb10-vmw:~/mapdata/nlni/kotsu$ psql -d nippon -f logi_amt_bw_airport.sql
user@deb10-vmw:~/mapdata/nlni/kotsu$ cd
user@deb10-vmw:~$ psql nippon
psql (11.5 (Debian 11.5-1+deb10u1))
"help" でヘルプを表示します.
nippon=> \dt
nippon=> \d logi_amt_bw_airport
nippon=> \q
user@deb10-vmw:~$ cd mapfile/
user@deb10-vmw:~/mapfile$ vim tokyo_pgis.map
user@deb10-vmw:~/ダウンロード$ ls
---
S10b-14_GML.zip
---
user@deb10-vmw:~/ダウンロード$ mkdir kotsu
user@deb10-vmw:~/ダウンロード$ mv S10b-14_GML.zip kotsu/
user@deb10-vmw:~/ダウンロード$ cd kotsu/
user@deb10-vmw:~/ダウンロード/kotsu$ ls
S10b-14_GML.zip
user@deb10-vmw:~/ダウンロード/kotsu$ unzip -j S10b-14_GML.zip
Archive: S10b-14_GML.zip inflating: KS-META-S10b-14.xml inflating: KsjAppSchema-S10b-v1_1.xsd inflating: S10b-14.xml inflating: S10b-14_BetAport.dbf inflating: S10b-14_BetAport.shp inflating: S10b-14_BetAport.shxuser@deb10-vmw:~/ダウンロード/kotsu$ ls
KS-META-S10b-14.xml S10b-14_BetAport.dbf S10b-14_GML.zip KsjAppSchema-S10b-v1_1.xsd S10b-14_BetAport.shp S10b-14.xml S10b-14_BetAport.shxuser@deb10-vmw:~/ダウンロード/kotsu$ cd ../
user@deb10-vmw:~/ダウンロード$ mv kotsu/ ../mapdata/nlni/
user@deb10-vmw:~/ダウンロード$ cd ../mapdata/nlni/kotsu/
user@deb10-vmw:~/mapdata/nlni/kotsu$ shp2pgsql -W sjis S10b-14_BetAport.shp logi_amt_bw_airport > logi_amt_bw_airport.sql
Field s10b_005 is an FTDouble with width 16 and precision 0
Field s10b_006 is an FTDouble with width 16 and precision 0
Field s10b_007 is an FTDouble with width 16 and precision 0
Field s10b_008 is an FTDouble with width 16 and precision 0
Field s10b_009 is an FTDouble with width 16 and precision 0
Shapefile type: Arc
Postgis type: MULTILINESTRING[2]
user@deb10-vmw:~/mapdata/nlni/kotsu$ psql -d nippon -f logi_amt_bw_airport.sql
user@deb10-vmw:~/mapdata/nlni/kotsu$ cd
user@deb10-vmw:~$ psql nippon
psql (11.5 (Debian 11.5-1+deb10u1))
"help" でヘルプを表示します.
nippon=> \dt
リレーション一覧 スキーマ | 名前 | 型 | 所有者 ----------+---------------------+----------+-------- public | logi_amt_bw_airport | テーブル | user public | spatial_ref_sys | テーブル | user public | tokyo_kuiki | テーブル | user (3 行)
nippon=> \d logi_amt_bw_airport
テーブル "public.logi_amt_bw_airport" 列 | 型 | 照合順序 | Null 値を許容 | デフォルト ----------+---------------------------+----------+---------------+-------------------------------------------------- gid | integer | | not null | nextval('logi_amt_bw_airport_gid_seq'::regclass) s10b_001 | character varying(36) | | | s10b_002 | character varying(36) | | | s10b_003 | character varying(36) | | | s10b_004 | character varying(36) | | | s10b_005 | double precision | | | s10b_006 | double precision | | | s10b_007 | double precision | | | s10b_008 | double precision | | | s10b_009 | double precision | | | geom | geometry(MultiLineString) | | | インデックス: "logi_amt_bw_airport_pkey" PRIMARY KEY, btree (gid) (END)
nippon=> \q
user@deb10-vmw:~$ cd mapfile/
user@deb10-vmw:~/mapfile$ vim tokyo_pgis.map
--- LAYER NAME kukokanryutsuryo TYPE LINE STATUS ON
# DATA "S10b-14_BetAport.shp" CONNECTIONTYPE POSTGIS CONNECTION "dbname=nippon host=localhost user=user password='password'"
# DATA "geom from logi_amt_bw_airport" DATA "geom from (select * from logi_amt_bw_airport where s10b_001 = '東京') as myquery using unique geom using srid = -1"
OPACITY 80 LABELITEM "s10b_004" CLASS NAME "Kuko Ryutsu" STYLE COLOR 0 255 0 END LABEL MINFEATURESIZE 5 POSITION lc TYPE TRUETYPE FONT vl-gothic ENCODING UTF-8 SIZE 8 END END END ---
http://localhost/cgi-bin/mapserv?mode=browse&template=openlayers&layer=gyoseikuiki&layer=kukokanryutsuryo&map=/home/user/mapfile/tokyo_pgis.map
8-4 pgAdminIII
pgAdminIII を使ってデータベースに接続します。
Introduction to PostGIS
http://workshops.boundlessgeo.com/postgis-intro/
の「4. Creating a Spatial Database(http://workshops.boundlessgeo.com/postgis-intro/creating_db.html)」を参考にします。
(次のように開きます。
PostGIS ホームページ
http://postgis.net/
の Documentation ボタンをクリックします。
PostGIS - Documentation
http://postgis.net/documentation
「Tutorial: Introduction to PostGIS」をクリックします。
Introduction to PostGIS
https://postgis.net/workshops/postgis-intro/
の「Workshop Modules」の「4. Creating a Spatial Database」をクリックします。)
Synaptic パッケージマネージャで pgAdminIII(pgadmin3)をインストールします。
a アクティビティ -> アプリケーションを表示する(左側の一番下のアイコン) -> pgAdminIII
をクリックして起動します。
b 「サーバに接続の追加ボタン」
をクリックします。
c 「新しいサーバ登録」の「プロパティ」タブに次のように入力して「OK」ボタンをクリックします。
名前: PostGIS(任意)
ホスト: localhost
Port: 5432
サービス: (空欄)
DBメンテナンス: postgres
ユーザ名: user(postgres ユーザ)
パスワード: ●●●●●●●●(postgres ユーザのパスワード)
(その他はそのままで)
「指導的ヒント・パスワード保存」ウィンドウが表示されたら「OK」ボタンをクリックします。
d ツリーを開いていくと次のようになります。
次のようなエラーが表示されたら「OK」ボタンをクリックします。
e テーブルtokyo_kuiki をクリックして選択し、「選択オブジェクトでデータをビュー」ボタン
をクリックすると属性が表示されます。
2019年10月7日月曜日
Debian 10 - 7 MapServer でマップファイルのテスト2
7-4 東京都の地図を表示7-4-1 ダウンロード
国土交通相は地理空間情報を推進するための一貫として、国土数値情報のダウンロードサービスをしてます。
このうちのJPGIS準拠データのダウンロードサービスから東京のデータをダウンロードして地図を表示してみます。「4. 交通」の「空港間流通量」もダウンロードします。
国土交通省
http://www.mlit.go.jp/index.html
の「政策情報・分野別一覧」の「国土政策」をクリックします。
国土政策
http://www.mlit.go.jp/kokudoseisaku/index.html
の「データ・情報コーナー」の「国土数値情報ダウンロードサービス」をクリックします。
国土数値情報ダウンロードサービス
http://nlftp.mlit.go.jp/ksj/index.html
で、東京の行政区域のデータをダウンロードします。
a 「JPGIS2.1」の「行政区域」をクリックします。
b 「データのダウンロード(2.各データ詳細)」で、「東京」のチェックボックスをクリックしてチェックし、「次へ」ボタンをクリックします。
c 「データのダウンロード(3.ファイルの選択)」で、最新のデータのチェックボックスをクリックしてチェックします。(2019-9-30現在 平成31年度)
「次へ」ボタンをクリックします。
d アンケートに回答します。
e データのダウンロード(4.国土数値情報利用約款)の内容を読み、「上記のことを理解しました。」で「はい」ボタンをクリックします。
f データのダウンロード(5.ダウンロード)で「ダウンロード」ボタンをクリックします。
ダイアログボックス---ダウンロードしますか?の「OK」ボタンをクリックします。
7-4-2 データの確認
ダウンロードしたファイルを解凍します。
nlni/tokyo というフォルダを作成し、そこにファイルを移動して解凍します。
(データ量が多いと開かない場合があります。)
アクティビティ -> アプリケーションを表示する(左側の一番下のアイコン) -> LibreOffice Calc
「開く」ボタン
をクリックします。
文字列は日本語(Shift-JIS)にします。
「一般的な I/O エラー。」と表示されました。
エラーの理由はわかりませんでした。
Windows の LibreOffice で開いてみました。
確かめたら LibreOffice を閉じます。
7-4-3 地図の表示
最初に、マップデータ N03-19_13_190101 の情報を知るために管理ツール gdal-bin を使います。
ないときは、Synaptic パッケージマネージャでインストールします。
nlni/tokyo フォルダを mapdata フォルダへ移動し、利用可能なレイヤ名を表示します。
データのダウンロード(2.各データの詳細)国土数値情報 行政区域データ
http://nlftp.mlit.go.jp/ksj/gml/datalist/KsjTmplt-N03.html
にあります。
このレイヤは、Geometry: Polygon からポリゴンデータであることが分かります。
また、Extent: (136.065309, 20.422746) - (153.986844, 35.898424)は座標で緯度経度を表し、レイヤの範囲が分かります。
これをもとに、マップファイルを作成します。
画像ビューワで確認すると、範囲が広すぎるのが分かります。
今回は、諸島部分を除いた範囲にします。
全体は次の様になります。
Web ブラウザのアドレスバーに次のように入力して Enter キーを押します。
7-4-4 LABELの日本語表示
地図に市区町村名を表示します。
地図に市区町村名(ラベル)を表示するには、マップファイルに次のように追加します。
次のようにエラーが表示されました。
エラーログを見てみます。
「End of script output before headers: mapserv」でネット検索すると cgi で文字コードが違うことでエラーが表示されることがあるとありました。属性 N03_004 の文字コードが shift-jis のためと思われます。
日本語を表示できるように次のようにします。
次の内容の fonts.txt というファイルを作成します。
マップファイルと同じフォルダに保存します。
(それぞれパッケージ名は、fonts-vlgothic、 fonts-ipafont-gothicです。)
どれか1行でOKです。
[フォント名] [フォントがある場所の絶対パス] という内容になっています。
フォント名は任意のわかりやすい名前をつけてください。
パスは Synaptic パッケージマネージャで、例えば gothic で検索するとパッケージ一覧が表示されます。
インストールされているパッケージを選択し、プロパティをクリックしてインストール済みファイルタブをクリックすると、パスが表示されます。
インストールされていないときは、Synaptic パッケージマネージャでインストールしてください。(上記以外にも日本語フォントがあります。)
マップファイル全体は次のようになります。
Web ブラウザのアドレスバーに次のように入力して Enter キーを押します。
国土交通相は地理空間情報を推進するための一貫として、国土数値情報のダウンロードサービスをしてます。
このうちのJPGIS準拠データのダウンロードサービスから東京のデータをダウンロードして地図を表示してみます。「4. 交通」の「空港間流通量」もダウンロードします。
国土交通省
http://www.mlit.go.jp/index.html
の「政策情報・分野別一覧」の「国土政策」をクリックします。
国土政策
http://www.mlit.go.jp/kokudoseisaku/index.html
の「データ・情報コーナー」の「国土数値情報ダウンロードサービス」をクリックします。
国土数値情報ダウンロードサービス
http://nlftp.mlit.go.jp/ksj/index.html
で、東京の行政区域のデータをダウンロードします。
a 「JPGIS2.1」の「行政区域」をクリックします。
b 「データのダウンロード(2.各データ詳細)」で、「東京」のチェックボックスをクリックしてチェックし、「次へ」ボタンをクリックします。
c 「データのダウンロード(3.ファイルの選択)」で、最新のデータのチェックボックスをクリックしてチェックします。(2019-9-30現在 平成31年度)
「次へ」ボタンをクリックします。
d アンケートに回答します。
e データのダウンロード(4.国土数値情報利用約款)の内容を読み、「上記のことを理解しました。」で「はい」ボタンをクリックします。
f データのダウンロード(5.ダウンロード)で「ダウンロード」ボタンをクリックします。
ダイアログボックス---ダウンロードしますか?の「OK」ボタンをクリックします。
7-4-2 データの確認
ダウンロードしたファイルを解凍します。
nlni/tokyo というフォルダを作成し、そこにファイルを移動して解凍します。
user@deb10-vmw:~$ cd ダウンロード
user@deb10-vmw:~/ダウンロード$ ls
---
N03-190101_13_GML.zip
---
user@deb10-vmw:~/ダウンロード$ mkdir nlni
user@deb10-vmw:~/ダウンロード$ mkdir nlni/tokyo
user@deb10-vmw:~/ダウンロード$ mv N03-190101_13_GML.zip nlni/tokyo/
user@deb10-vmw:~/ダウンロード$ cd nlni/tokyo/
user@deb10-vmw:~/ダウンロード/nlni/tokyo$ ls
N03-190101_13_GML.zip
user@deb10-vmw:~/ダウンロード/nlni/tokyo$ unzip -j N03-190101_13_GML.zip
user@deb10-vmw:~/ダウンロード/nlni/tokyo$ ls
データがどのようになっているか、N03-19_13_190101.dbf を LibreOffice Calc で開きます。user@deb10-vmw:~/ダウンロード$ ls
---
N03-190101_13_GML.zip
---
user@deb10-vmw:~/ダウンロード$ mkdir nlni
user@deb10-vmw:~/ダウンロード$ mkdir nlni/tokyo
user@deb10-vmw:~/ダウンロード$ mv N03-190101_13_GML.zip nlni/tokyo/
user@deb10-vmw:~/ダウンロード$ cd nlni/tokyo/
user@deb10-vmw:~/ダウンロード/nlni/tokyo$ ls
N03-190101_13_GML.zip
user@deb10-vmw:~/ダウンロード/nlni/tokyo$ unzip -j N03-190101_13_GML.zip
Archive: N03-190101_13_GML.zip inflating: KS-META-N03-19_13_170101.xml inflating: N03-19_13_190101.dbf inflating: N03-19_13_190101.geojson inflating: N03-19_13_190101.prj inflating: N03-19_13_190101.shp inflating: N03-19_13_190101.shx inflating: N03-19_13_190101.xml
user@deb10-vmw:~/ダウンロード/nlni/tokyo$ ls
KS-META-N03-19_13_190101.xml N03-19_13_190101.geojson N03-19_13_190101.shx N03-190101_13_GML.zip N03-19_13_190101.prj N03-19_13_190101.xml N03-19_13_190101.dbf N03-19_13_190101.shp
(データ量が多いと開かない場合があります。)
アクティビティ -> アプリケーションを表示する(左側の一番下のアイコン) -> LibreOffice Calc
「開く」ボタン
をクリックします。
文字列は日本語(Shift-JIS)にします。
「一般的な I/O エラー。」と表示されました。
エラーの理由はわかりませんでした。
Windows の LibreOffice で開いてみました。
確かめたら LibreOffice を閉じます。
7-4-3 地図の表示
最初に、マップデータ N03-19_13_190101 の情報を知るために管理ツール gdal-bin を使います。
ないときは、Synaptic パッケージマネージャでインストールします。
nlni/tokyo フォルダを mapdata フォルダへ移動し、利用可能なレイヤ名を表示します。
user@deb10-vmw:~/ダウンロード/nlni/tokyo$ cd ../../
user@deb10-vmw:~/ダウンロード$ ls
---
nlni
---
user@deb10-vmw:~/ダウンロード$ mv nlni/ ../mapdata/
user@deb10-vmw:~/ダウンロード$ cd ../mapdata/
user@deb10-vmw:~/mapdata$ ls
110m_cultural land_ocean_ice_2048.jpg land_ocean_ice_2048.jpgw nlni
user@deb10-vmw:~/mapdata$ cd nlni/
user@deb10-vmw:~/mapdata/nlni$
user@deb10-vmw:~/mapdata/nlni$ ls
tokyo
user@deb10-vmw:~/mapdata/nlni$ ogrinfo tokyo
次に、N03-19_13_190101 レイヤのデータを表示します。user@deb10-vmw:~/ダウンロード$ ls
---
nlni
---
user@deb10-vmw:~/ダウンロード$ mv nlni/ ../mapdata/
user@deb10-vmw:~/ダウンロード$ cd ../mapdata/
user@deb10-vmw:~/mapdata$ ls
110m_cultural land_ocean_ice_2048.jpg land_ocean_ice_2048.jpgw nlni
user@deb10-vmw:~/mapdata$ cd nlni/
user@deb10-vmw:~/mapdata/nlni$
user@deb10-vmw:~/mapdata/nlni$ ls
tokyo
user@deb10-vmw:~/mapdata/nlni$ ogrinfo tokyo
INFO: Open of `tokyo' using driver `ESRI Shapefile' successful. 1: N03-19_13_190101 (Polygon)
user@deb10-vmw:~/mapdata/nlni$ ogrinfo -summary tokyo N03-19_13_190101
属性名は、INFO: Open of `tokyo' using driver `ESRI Shapefile' successful. Layer name: N03-19_13_190101 Metadata: DBF_DATE_LAST_UPDATE=2019-02-08 Geometry: Polygon Feature Count: 6187 Extent: (136.065309, 20.422746) - (153.986844, 35.898424) Layer SRS WKT: GEOGCS["GCS_JGD_2011", DATUM["JGD_2011", SPHEROID["GRS_1980",6378137.0,298.257222101]], PRIMEM["Greenwich",0.0], UNIT["Degree",0.0174532925199433], AUTHORITY["Esri","6668"]] N03_001: String (10.0) -> 都道府県名 N03_002: String (20.0) -> 支庁・振興局名 N03_003: String (20.0) -> 郡・政令市名 N03_004: String (20.0) -> 市区町村名 N03_007: String (5.0) -> 行政区域コード
データのダウンロード(2.各データの詳細)国土数値情報 行政区域データ
http://nlftp.mlit.go.jp/ksj/gml/datalist/KsjTmplt-N03.html
にあります。
このレイヤは、Geometry: Polygon からポリゴンデータであることが分かります。
また、Extent: (136.065309, 20.422746) - (153.986844, 35.898424)は座標で緯度経度を表し、レイヤの範囲が分かります。
これをもとに、マップファイルを作成します。
user@deb10-vmw:~/mapdata/nlni$ cd ../../mapfile/
user@deb10-vmw:~/mapfile$ vim tokyo_shp.map
shp2imgで地図を確認します。user@deb10-vmw:~/mapfile$ vim tokyo_shp.map
MAP NAME tokyo_shp_map #任意の名前 STATUS ON SIZE 600 300 EXTENT 136.065309 20.422746 153.986844 35.898424 #ogrinfoで得た情報から UNITS DD SHAPEPATH "../mapdata/nlni/tokyo" #シェイプファイルの相対位置 IMAGECOLOR 255 255 255
WEB IMAGEPATH "/home/user/public_html/ms_tmp/" IMAGEURL "/~user/ms_tmp/" END
LAYER NAME gyoseikuiki #任意の名前 TYPE POLYGON #ogrinfoで得た情報から STATUS ON DATA "N03-19_13_190101.shp" CLASS NAME "City Boundaries" #任意の名前 STYLE OUTLINECOLOR 153 153 153 #面の外周の色(灰色) END END END END #MAP END
user@deb10-vmw:~/mapfile$ shp2img -m tokyo_shp.map -o tokyo_shp.png
画像ビューワで確認すると、範囲が広すぎるのが分かります。
今回は、諸島部分を除いた範囲にします。
---
EXTENT 138.85 35.4 140 35.975
---
EXTENT 138.85 35.4 140 35.975
---
全体は次の様になります。
user@deb10-vmw:~/mapfile$ vim tokyo_shp.map
shp2imgで地図を確認します。MAP NAME tokyo_shp_map STATUS ON SIZE 600 300 EXTENT 138.85 35.4 140 35.975 #修正 UNITS DD SHAPEPATH "../mapdata/nlni/tokyo" IMAGECOLOR 255 255 255
WEB IMAGEPATH "/home/user/public_html/ms_tmp/" IMAGEURL "/~user/ms_tmp/" END
LAYER NAME gyoseikuiki TYPE POLYGON STATUS ON DATA "N03-19_13_190401.shp" CLASS NAME "City Boundaries" STYLE OUTLINECOLOR 153 153 153 END END END END #MAP END
user@deb10-vmw:~/mapfile$ shp2img -m tokyo_shp.map -o tokyo_shp.png
Web ブラウザのアドレスバーに次のように入力して Enter キーを押します。
http://localhost/cgi-bin/mapserv?mode=browse&template=openlayers&layer=gyoseikuiki&map=/home/user/mapfile/tokyo_shp.map
7-4-4 LABELの日本語表示
地図に市区町村名を表示します。
地図に市区町村名(ラベル)を表示するには、マップファイルに次のように追加します。
user@deb10-vmw:~/mapfile$ vim tokyo_shp.map
Web ブラウザのアドレスバーに次のように入力して Enter キーを押します。--- LAYER NAME gyoseikuiki TYPE POLYGON STATUS ON DATA "N03-19_13_190101.shp" LABELITEM "N03_004" #LABELを使うときのフィールドの属性値の指定 CLASS NAME "City Boundaries" STYLE OUTLINECOLOR 153 153 153 END LABEL #追加 MINFEATURESIZE 40 #フィーチャがラベルを表示する最小サイズ END #LABEL END END ---
http://localhost/cgi-bin/mapserv?mode=browse&template=openlayers&layer=gyoseikuiki&map=/home/user/mapfile/tokyo_shp.map
次のようにエラーが表示されました。
エラーログを見てみます。
user@deb10-vmw:~/mapfile$ su -
パスワード:
root@deb10-vmw:~# vim /var/log/apache2/error.log
---
[Wed Oct 02 11:23:35.141330 2019] [cgid:error] [pid 1173:tid 140487826528000] [client ::1:55018] End of script output before headers: mapserv
パスワード:
root@deb10-vmw:~# vim /var/log/apache2/error.log
---
[Wed Oct 02 11:23:35.141330 2019] [cgid:error] [pid 1173:tid 140487826528000] [client ::1:55018] End of script output before headers: mapserv
「End of script output before headers: mapserv」でネット検索すると cgi で文字コードが違うことでエラーが表示されることがあるとありました。属性 N03_004 の文字コードが shift-jis のためと思われます。
日本語を表示できるように次のようにします。
次の内容の fonts.txt というファイルを作成します。
マップファイルと同じフォルダに保存します。
root@deb10-vmw:~# exit
user@deb10-vmw:~/mapfile$ vim fonts.txt
vl-gothic /usr/share/fonts/truetype/vlgothic/VL-Gothic-Regular.ttf
vl-pgothic /usr/share/fonts/truetype/vlgothic/VL-PGothic-Regular.ttf
ipafont-gothic /usr/share/fonts/opentype/ipafont-gothic/ipag.ttf
ipafont-pgothic /usr/share/fonts/opentype/ipafont-gothic/ipagp.ttf
user@deb10-vmw:~/mapfile$ vim fonts.txt
vl-gothic /usr/share/fonts/truetype/vlgothic/VL-Gothic-Regular.ttf
vl-pgothic /usr/share/fonts/truetype/vlgothic/VL-PGothic-Regular.ttf
ipafont-gothic /usr/share/fonts/opentype/ipafont-gothic/ipag.ttf
ipafont-pgothic /usr/share/fonts/opentype/ipafont-gothic/ipagp.ttf
(それぞれパッケージ名は、fonts-vlgothic、 fonts-ipafont-gothicです。)
どれか1行でOKです。
[フォント名] [フォントがある場所の絶対パス] という内容になっています。
フォント名は任意のわかりやすい名前をつけてください。
パスは Synaptic パッケージマネージャで、例えば gothic で検索するとパッケージ一覧が表示されます。
インストールされているパッケージを選択し、プロパティをクリックしてインストール済みファイルタブをクリックすると、パスが表示されます。
インストールされていないときは、Synaptic パッケージマネージャでインストールしてください。(上記以外にも日本語フォントがあります。)
マップファイル全体は次のようになります。
user@deb10-vmw:~/mapfile$ vim tokyo_shp.map
MAP NAME tokyo_shp_map STATUS ON SIZE 600 300 EXTENT 138.85 35.4 140 35.975 UNITS DD SHAPEPATH "../mapdata/nlni/tokyo" IMAGECOLOR 255 255 255 FONTSET "fonts.txt" #追加
WEB IMAGEPATH "/home/user/public_html/ms_tmp/" IMAGEURL "/~user/ms_tmp/" END
LAYER NAME gyoseikuiki TYPE POLYGON STATUS ON DATA "N03-17_13_170101.shp" LABELITEM "N03_004" CLASS NAME "City Boundaries" STYLE OUTLINECOLOR 153 153 153 END
LABEL MINFEATURESIZE 40 TYPE TRUETYPE #フォントのタイプ FONT vl-gothic #fonts.txt で指定したフォント名 ENCODING SJIS #マップデータのエンコード SIZE 8 #フォントサイズ END END END END #MAP END
Web ブラウザのアドレスバーに次のように入力して Enter キーを押します。
http://localhost/cgi-bin/mapserv?mode=browse&template=openlayers&layer=gyoseikuiki&map=/home/user/mapfile/tokyo_shp.map
登録:
投稿 (Atom)