稼動環境構築手順書
1 本書について
本書では、エリアマネジメント・ダッシュボード(以下本システム)の稼働環境を構築する手順について記載します。
2 システム構成
本システム稼働環境の構成は以下になります。

Web/APサーバとDBサーバ、データサーバは同一のサーバでも稼働可能ですが、パフォーマンスの観点から別途構築することを推奨します。
以下では、上記稼働環境の前提で稼働環境構築手順を記載します。
以下、本システムで利用するSW,MWの一覧です。
# | サーバ | 大機能 | ライセンス | 説明 |
---|---|---|---|---|
1 | Web/APサーバ | apache | Apache License 2.0 | Webアプリで配信を行うためのWebサーバソフトウェア |
2 | ag-grid | ag-Grid Community | グルーピング・集計・フィルタリング等をするためのライブラリ | |
3 | Chart.js | MIT License | グラフ・チャートを描画するライブラリ | |
4 | react-grid-layout | MIT License | グリッドレイアウトを実現するためのライブラリ | |
5 | React | MIT License | JavaScriptのフレームワーク内で機能するUIを構築するためのライブラリ | |
6 | Terria | Apache License 2.0 | UI(ユーザーインターフェイス)の提供及びUIを介してCesium の描画機能を制御するためのライブラリ |
|
7 | Cesium | Apache License 2.0 | 3Dビューワ上にデータを描画するためのライブラリ | |
8 | Node.js | MIT License | 3Dビューワの実行環境 | |
9 | GeoServer | GNU GENERAL PUBLIC LICENSE Version 2 | 各種データをWMS及びWFSなどで配信するためのGISサーバ | |
10 | Tomcat | Apache License 2.0 | GeoServer、カスタムアプリを起動するJ2EEのSDK | |
11 | Spring boot | Apache License 2.0 | Javaで利用可能なWebアプリのフレームワーク | |
12 | DBサーバ | PostgresSQL | PostgreSQL License | 各種配信するデータを格納するデータベース |
13 | PostGIS | GNU General Public License | PostgreSQLで位置情報を扱うことを可能とするextention | |
14 | pgRouting | GNU General Public License version 2 | PostgreSQLでルート検索を可能とするextention | |
15 | データサーバ | 3DTile等配信データ | データベース以外で配信する3Dデータ等 |
稼働環境は以下になります。
【クライアント環境】
ブラウザ要件:Chrome、Safari、Edge(最新のDesktop版)
システム要件:CPU: 2 GHz 4コア以上、システムメモリ(RAM): 4GB
【WEB/APサーバ環境】
動作環境:ubuntu
必要なソフトウェア:
Apache Version 2.4
Java Version 1.8.0_312 (OpenJDK 64-Bit Server VM)
Apache Tomcat Version 9.0.85
GeoServer Version 2.20.4
Node.js Version 16
【DBサーバ環境】
PostgreSQL Version 14
PostGIS Version 3
3 準備物一覧
初めに、本システムを構築する際に必要となるresourceはgithub上からダウンロードしてください。
本リポジトリ(erimane-dashboard-tool)
手動又はgitコマンドを使用して作業PCにダウンロードしてください。
git clone 本リポジトリURL erimane-dashboard-tool
本書ではerimane-dashboard-tool一式がダウンロードされている前提で説明を行います。
以下、本システムを構築する際に必要となる準備物一覧になります。
【稼働環境】
Ubuntu
【セットアップ環境】
稼働環境と80,8080,5432ポートでTCP通信可能であること
Windows10
【アプリケーション】
3D都市モデルビューワソースコード
対象プロジェクトフォルダ: erimane-dashboard-tool/SRC/3dview/
API(Springboot)ソースコード
対象プロジェクトフォルダ: erimane-dashboard-tool/SRC/api/
【DDL、設定ファイル等】
投入ツール一式
対象フォルダ: erimane-dashboard-tool/SRC/util/
設定ファイル一式
対象フォルダ: erimane-dashboard-tool/Settings/area_management_sample_data/
対象フォルダ: erimane-dashboard-tool/Settings/geoserver_settings/
対象フォルダ: erimane-dashboard-tool/Settings/postgres_settings/
【セットアップ用SW】
GISソフト(本書ではQGISを利用)
SQLクライアントソフト(本書ではA5:SQL Mk-2を利用)
※ そのほか構築の際に必須となるSWのインストールは手順の中に含めています。
4 稼働環境構築(事前準備)
構築対象:Web/APサーバ
検証済みサーバ環境:Ubuntu 22.04 LTS
※ セキュリティ関係の設定は必要に応じて自身で設定してください。
※ 基本管理者アカウントで操作を行います。
管理者アカウントに切り替えます。
sudo -i
4-1.npm v6.0 以降、yarn、Node.js v10.0 以降をインストール
npm、yarn、Nodejsのインストールを行います。
apt update
apt install npm
npm install -g n
npm install -g yarn
n 16
apt purge nodejs npm -y
有効になっているnodejsのバージョンを確認します。
node -v
5 稼働環境構築(MW,SW)
検証済みサーバ環境:Ubuntu 22.04.1 LTS
構築対象:Web/APサーバ(DBサーバ)
※ セキュリティ関係の設定は必要に応じて自身で設定してください。
※ 基本管理者アカウントで操作を行います。
管理者アカウントは下記のコマンドで切り替えます。
sudo -i
5-1.Apache2.4のインストール
Apache2.4をインストールします。
apt update apt install apache2
mod_proxyの設定
mod_proxyの設定を行います。
vi /etc/apache2/conf-available/revers_proxy.conf
下記を追加します。
LimitRequestLine 2097152 # PLATEAU VIEW ProxyRequests Off ProxyPass /plateau http://localhost:3001 ProxyPassReverse /plateau http://localhost:3001 # API ProxyRequests Off ProxyPass /api http://localhost:8080/3dviewapi ProxyPassReverse /api http://localhost:8080/3dviewapi # GeoServer <Location /geoserver> # For CSRF RequestHeader set Origin "http://localhost:8080" # For 502 SetEnv proxy-initial-not-pooled 1 # SetEnv force-proxy-request-1.0 1 # SetEnv proxy-nokeepalive 1 # For proxies ProxyPreserveHost On ProxyPass http://localhost:8080/geoserver ProxyPassReverse http://localhost:8080/geoserver </Location>
必要となるモジュールの有効化を行い再起動します。
a2enconf revers_proxy a2enmod proxy proxy_http a2enmod headers systemctl restart apache2
※ 起動
「http://<サーバマシンのIPアドレス>/」でアクセスできることを確認してください。
systemctl start apache2
※ 再起動
systemctl restart apache2
※ 停止
systemctl stop apache2
5-2.OpenJDK 8 のインストール
openjdk8をインストールします。
add-apt-repository ppa:openjdk-r/ppa apt update apt install openjdk-8-jdk
インストール後バージョンを確認します。
java -version
Java Pathの確認を行います。
dirname $(readlink $(readlink $(which java)))
環境変数を設定します。
vi ~/.bashrc
最終行に以下の内容を追記し保存します。(/usr/lib/jvm以降は適宜バージョンを確認)
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre export PATH=/usr/lib/jvm/java-8-openjdk-amd64/jre/bin:$PATH export CLASSPATH=.:/usr/lib/jvm/java-8-openjdk-amd64/lib
環境変数の設定を反映します。
source ~/.bashrc
環境変数の値を出力します。
echo $JAVA_HOME
5-3.Tomcat 9のインストール
ユーザーを作成します。
useradd -m -U -d /opt/tomcat -s /bin/false tomcat
作業フォルダなどに移動し、tomcatのダウンロードを行います。
適宜tomcatのversionを確認してください。
「/home/work/」などは作業ディレクトリの為適宜置き換えてください。
cd /home/work/ wget http://ftp.yz.yamagata-u.ac.jp/pub/network/apache/tomcat/tomcat-9/v9.0.85/bin/apache-tomcat-9.0.85.tar.gz
展開及びファイル移動を行います。
tar zxf apache-tomcat-9.0.85.tar.gz mv apache-tomcat-9.0.85/ /opt/tomcat
権限の設定を行います。
chown -R tomcat: /opt/tomcat chmod +x /opt/tomcat/bin/*.sh
サービス定義ファイルを作成します。
vi /etc/systemd/system/tomcat.service
以下全て入力して保存します。
パス等は適宜環境に合っているか確認してください。
[Unit] Description=Tomcat 9 servlet container After=network.target [Service] Type=forking User=tomcat Group=tomcat Environment="JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64" Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headless=true" Environment="CATALINA_BASE=/opt/tomcat" Environment="CATALINA_HOME=/opt/tomcat" Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid" Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC" ExecStart=/opt/tomcat/bin/startup.sh ExecStop=/opt/tomcat/bin/shutdown.sh [Install] WantedBy=multi-user.target
設定ファイルの読み込みを行いサービスの起動設定を行います。
systemctl daemon-reload systemctl enable --now tomcat
タイムゾーンの設定を行います。
環境設定ファイルを新規で作成してください。
vi /opt/tomcat/bin/setenv.sh
下記を入力後、保存してください。
CATALINA_OPTS="-Duser.timezone=Asia/Tokyo"
設定を反映させるため、再起動します。
systemctl restart tomcat
※ 起動
「http://<サーバマシンのIPアドレス>:8080/」でアクセスできることを確認してください。
systemctl start tomcat
※ 再起動
systemctl restart tomcat
※ 停止
systemctl stop tomcat
※ 必要な場合、ファイアーウォールの設定を行います。
ufw allow 8080/tcp
5-4.GeoServer2.20.4のインストール
SOURCE FORGEからダウンロード
ブラウザから「 https://geoserver.org/release/2.20.4/ 」にアクセス後、Web Archiveからwarのダウンロード及び解凍を行います。
解凍したwarをtomcatに配備します。
cd "warが置いてある場所" mv geoserver.war /opt/tomcat/webapps/
5-5.PostgreSQL14とPostGIS3のインストール
※ 本書では、Web/APサーバとDBサーバを同一のサーバ上に構築する手順で記載しております。両サーバを別環境で構築する場合、本章の以下手順はDBサーバ上で実施してください。
PostgreSQLのインストールを行います。
sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' apt install curl ca-certificates gnupg wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - apt update apt install postgresql-14-postgis-3
※ 起動
service postgresql start
※ 停止
service postgresql stop
※ postgresユーザーへ切り替え
su - postgres
※ 終了
exit
※ PostgreSQL の接続
psql
※ 終了
exit
※ 必要な場合、ファイアーウォールの設定を行います。
ufw allow 5432/tcp
※ 外部からPostgreSQL14への接続を許可する際は下記の設定を変更してください。
postgresql.confの修正
vi /etc/postgresql/14/main/postgresql.conf
listen_addressesとportのコメントアウトを外す。(セキュリティに留意して見直してください。あくまでローカル環境時の確認時の設定方法を記載しています。)
listen_addresses = '*'
port = 5432
pg_hba.confの修正
vi /etc/postgresql/14/main/pg_hba.conf
IPv4の「METHOD」を「password」にし、「ADDRESS」を「all」に変更します。(セキュリティに留意して見直してください。あくまでローカル環境時の確認時の設定方法を記載しています。)
設定の反映の為再起動を行います。
service postgresql restart
5-6.データベースの作成
ロールの作成は必要に応じて行ってください。
postgresユーザへ切り替え後、PostgreSQL に接続します。
su - postgres psql
ロールを作成します。
CREATE ROLE devps WITH SUPERUSER
CREATEDB
CREATEROLE
INHERIT
LOGIN
REPLICATION
BYPASSRLS
ENCRYPTED PASSWORD 'password';
その他オプション
CREATE ROLE name [ [ WITH ] option [ ... ] ] option:
SUPERUSER | NOSUPERUSER
| CREATEDB | NOCREATEDB
| CREATEROLE | NOCREATEROLE
| INHERIT | NOINHERIT
| LOGIN | NOLOGIN
| REPLICATION | NOREPLICATION
| BYPASSRLS | NOBYPASSRLS
| CONNECTION LIMIT connlimit
| [ ENCRYPTED ] PASSWORD 'password'
| VALID UNTIL 'timestamp'
| IN ROLE role_name [, ...]
| IN GROUP role_name [, ...]
| ROLE role_name [, ...]
| ADMIN role_name [, ...]
| USER role_name [, ...]
| SYSID uid
PostgreSQLを切断
\q
postgresユーザをログアウト
exit
テーブルスペースとデータベースの作成
PostgreSQL に接続します。
su - postgres psql
データベースを作成します。(queryは必要に応じて変更してください)
作成したデータベースが一覧に表示されていることを確認してください。CREATE DATABASE devps_db WITH
OWNER = devps;
\l
PostgreSQLを切断
\q
postgresユーザをログアウト
exit
5-7.PostGISの有効化
postgresユーザへ切り替え後、DB に接続します。
su - postgres psql -h localhost -p 5432 -U devps -d devps_db
PostGISの有効化を行います。
CREATE EXTENSION postgis;
正常に有効化されているかバージョン確認を行います。
SELECT PostGIS_version();
PostgreSQLを切断
\q
postgresユーザをログアウト
exit
5-8.pgRoutingの有効化
pgRoutingのインストールを行います。
apt install postgresql-14-pgrouting
postgresユーザへ切り替え後、DB に接続します。
su - postgres psql -h localhost -p 5432 -U devps -d devps_db
pgRoutingの有効化を行います。
CREATE EXTENSION pgrouting;
正常に有効化されているかバージョン確認を行います。
SELECT * FROM pgr_full_version();
PostgreSQLを切断
\q
postgresユーザをログアウト
exit
6 データ取込(データベース)
必要リソース①:erimane-dashboard-tool/Settings/postgres_settings/
必要リソース②:erimane-dashboard-tool/Settings/area_management_sample_data/
本システムでは、以下のER図に示すテーブルの登録が必須となります。
①テーマ設定系テーブル

②投稿系テーブル

③地域統計情報・回遊性・歩行者空間データテーブル

④各テーブルの項目定義と取込方式について
各テーブルの項目定義と取込方法について確認し、データの取り込みを行ってください。
カテゴリ | テーブル名 | 空間データ | 取込方式 | 説明 |
---|---|---|---|---|
テーマ設定 | login_user | DDL | ログインユーザ | |
theme | DDL | テーマ情報 | ||
layer | DDL | レイヤ情報 | ||
layer_source | DDL | レイヤ参照元テーブル情報 | ||
layer_source_field | DDL | レイヤ参照元フィールド情報 | ||
post_layer_icon_path | DDL | 投稿レイヤアイコンパス設定情報 | ||
graph_list | DDL | グラフ・リスト情報 | ||
graph_list_type | DDL | グラフ・リストタイプ情報 | ||
graph_list_template_settings | DDL | グラフ・リストテンプレート設定項目 | ||
graph_list_template_val | DDL | グラフ・リストテンプレート設定項目値 | ||
theme_layer | DDL | テーマ_レイヤ関連情報 | ||
theme_graph_list | DDL | テーマ_グラフ・リスト関連情報 | ||
layer_graph_cooporation | DDL | レイヤ_グラフ・リスト連携情報 | ||
エリアマネジメント・イベント活動 | activity | ○ | DDL | エリアマネジメント・イベント活動情報 |
activity_type | DDL | エリアマネジメント・イベント活動種別 | ||
attachments | DDL | エリアマネジメント・イベント活動ファイル | ||
group_type | DDL | エリアマネジメント・イベント活動グループ種別 | ||
投稿レイヤ | post_layer_feature | ○ | DDL | 投稿レイヤフィーチャ情報 |
post_layer_attribute | DDL | 投稿レイヤ属性情報 | ||
歩行空間ネットワークデータ | node_3d | ○ | GIS | 歩行空間ネットワークデータ(ノード) |
link_3d | ○ | GIS | 歩行空間ネットワークデータ(リンク) | |
地域統計情報 | chochomokukai_erimane | ○ | GIS | 町丁目界データ |
chika2 | DDL/CSV | 地価公示価格 | ||
gis_joint2 | DDL/CSV | 町丁目別統計情報 | ||
erimane_ninchido | DDL/CSV | エリアマネジメント団体の認知度 | ||
station_users | DDL/CSV | 駅利用者数 | ||
syokencyosa_shijiritsu | DDL/CSV | 商圏調査の支持率 | ||
syogyoshisetsu | DDL/CSV | 商業施設 | ||
region_summary | DDL/CSV | 自治体全体の統計値 | ||
sougou_hyouka_result | DDL/CSV | 総合評価 | ||
回遊性 | kaiyu_jinryu_nenrei_1 | DDL/CSV | 回遊分析結果(年齢) | |
kaiyu_jinryu_seibetsu_1 | DDL/CSV | 回遊分析結果(性別) | ||
kaiyu_jinryu_ninzuu_1 | DDL/CSV | 回遊分析結果(人数) | ||
kaiyu_jinryu_chiiki_1 | DDL/CSV | 回遊分析結果(地域) | ||
kaiyu_jinryu_hosuu_1 | DDL/CSV | 回遊分析結果(歩数) | ||
kaiyuusei_{number} | ○ | GIS | 回遊性情報(移動データ) number には分析回数を指定(1,2,3,…) |
|
accessspot_{number} | ○ | GIS | 人気スポット(点データ) number には分析回数を指定(1,2,3,…) |
postgres_settingsフォルダ及びarea_management_sample_dataフォルダには表に記載の取込方式「DDL」「CSV」「GIS」の必須データ及びサンプルデータが含まれており、 手順通り進める事でサンプルテーマを作成することができます。
サンプルデータで作成されるテーマを以下に示します。
テーマ名 | 説明 |
---|---|
エリアマネジメント活動サンプル | エリアマネジメント活動の登録、管理及び簡易的なダッシュボード画面 |
イベント活動サンプル | イベント活動の登録、管理及び簡易的なダッシュボード画面 |
投稿レイヤサンプル | 投稿レイヤの登録、管理及び簡易的なダッシュボード画面 |
また共通機能で必要となる地域統計情報、町丁目検索、経路探索のサンプルデータも含まれております。
実際に本システムを活用される際は、ユースケースに合わせて構築及びデータ整備が必要となりますのでご注意ください。
DDL、CSVデータの取込方式については6-1,6-2を参照してください。
QGISの取込方式については、6-3を参照してください。
取込順序は 6-1.取込手順(DDL) → 6-2.取込手順(CSV) → 6-3.取込手順(GIS) の順で行います。
地域統計情報・回遊性・歩行者空間データテーブルの項目定義は、6-4以降の記載を参照してください。
テーマ設定系テーブルの項目定義は、6-7の記載を参照してください。
投稿系テーブルの項目定義は、6-8の記載を参照してください。
6-1.取込手順(DDL)
psqlで対象DBに接続を行います。
psql -h サーバマシンのIPアドレス -p 5432 -U devps -d devps_db
一括実行で取込を行います。
\cd /{プロジェクトフォルダへのパス}/erimane-dashboard-tool/Settings/postgres_settings/ \i 1.all_ddl_setup.sql \i 2.all_view_setup.sql \i 3.all_dml_setup.sql \i 4.sample_data_copy.sql
実行後、以下のテーブルが作成されていることを確認します。
\dt
login_userテーブルにログインユーザ情報を投入します。
以下のカラム定義でCSVファイルを作成し、取込を行ってください。
※ パスワードはSpringBootのソースを使ってハッシュ化する必要があるため、第13章のセットアップ完了後に手順7以降の手順を実施し、取込を行ってください。
カラム名 カラム論理名 型 必須 主キー 備考 user_id ユーザID integer ○ ○ 一意のID login_id ログインID varchar(50) ログイン時に使用するID password パスワード varchar(1024) ハッシュ化したパスワード role ロール varchar(10) 以下のいずれかで設定すること.
admin : エリアマネジメント団体管理者、システム管理者
erimane : エリアマネジメント団体ユーザ
user : 地域住民ユーザ
user_name ユーザ名 varchar(100) 表示名 mail_address メールアドレス varchar(255) メールアドレス Spring Tool Suite 4を開き、プロジェクトを開きます。
view3d.util.AuthUtil.javaを開きます。
AuthUtil.javaの末尾、public class AuthUtil { }を閉じている中括弧の直前に以下のコードを追記します。
/** ハッシュ生成確認用
@param args 引数(使用しない)
*/
public static void main(String[] args) {
System.out.println(AuthUtil.createHash("superStrongP@ssword"));
}
「superStrongP@ssword」の部分をパスワードにしたい文字列に置換します。
「3dviewapi」を右クリックし、「実行」>「Spring Bot アプリケーション」を押下します。
「Javaアプリケーションを選択」で「AuthUtil」を選択し、「OK」を押下します。
「Javaアプリケーションを選択」で「AuthUtil」を選択し、「OK」を押下します。
「コンソール」に実行結果のハッシュ文字列が出力されるので、コピーして、取込用CSVファイルの「password」列のパスワードを設定したいユーザの行に貼り付けます。
10でパスワード文字列を入力した部分を変更して、初回に作成するログインユーザ分のパスワードを作成します。 ※admin権限のアカウントを作成しておくことで、管理者画面からユーザの追加を行えます。
すべてのパスワードを作成し終えたら、9で追記したコードを削除します。
6-2.取込手順(CSV)
※サンプルデータを反映する場合は下記の様な手順で一括取込が行えます。
psqlで対象DBに接続を行います。
psql -h サーバマシンのIPアドレス -p 5432 -U devps -d devps_db
一括実行で取込を行います。
\cd /{プロジェクトフォルダへのパス}/erimane-dashboard-tool/Settings/area_management_sample_data/
\i sample_data_copy.sql
GUIからの取込手順は下記を参照してください。一括実行で取込みを行っている場合は不要です。
A5m2を開きます。「データベース」を右クリックし、「データベースの追加と削除」を選択します。
「追加」を押下します。
「PostgreSQL(直接接続)」を選択します。
第5章で設定したデータベースの接続情報を入力し、「OK」を押下してください。
サーバー名
ポート番号
データベース名
ユーザーID
パスワード
以下の通りツリーが表示されます。作成したDB名をダブルクリックします。
ユーザIDとパスワードを入力し「OK」を押下します。
以下の通りツリーが展開されます。データベースを右クリックしメニューを開きます。
「CSV/TSVファイルからテーブル作成(インポート)」を押下します。
インポートするCSVファイルを選択し、「開く」を押下します。
テーブル項目定義に従って、テーブル名と列名、データ型、必須、主キーを設定します。設定後「テーブル作成&インポート」を押下します。
取込後、テーブルが作成され、テーブルをダブルクリックでデータが表示されるので、内容に相違ないことを確認します。
6-3.取込手順(GIS)
※QGISからlink_3dテーブルの取込後、コスト算出用カラム追加DDLを実行すること
/postgres_settings/ddl/add_cost_column.sql
※QGISからchochomokukai_erimaneテーブルの取込後、町丁目検索カラム追加DDLを実行すること
/postgres_settings/ddl/add_chochomoku_erimane_column.sql
項目定義に合わせたデータ(Shapeファイル)を用意します。フィールド名の文字数制約のため項目定義の内容が反映できない場合、データベースに取込後に変更します。
QGISを立ち上げ、「新規プロジェクト」を開きます。
1で用意したデータをドラッグアンドドロップで開きます。
以下のように、取り込んだシェープファイルがレイヤに追加され、地図上に表示されます。
テーブル定義に合わせて属性フィールドを編集します。レイヤを右クリックし、メニューから「属性テーブルを開く」をクリックします。
以下の通り属性テーブルが表示されますので、ヘッダ左端のボタンで編集モードへの切り替えを行ってください。
フィールドを追加する場合、「フィールドを追加」をクリックし、開いた画面で追加するフィールド名とデータ型を設定します。
フィールドにデータを一括で格納する場合、フィールド演算機能を利用します。
データベースにデータを取り込みます。
まずはデータベースの接続情報をQGISに登録します。
「ブラウザ」ウィンドウから「PostgreSQL」を右クリックし、「新規接続」を押下します。
データベースへの接続情報を入力します。
名前:任意
ホスト:DBサーバのIPアドレス
ポート番号:DBのポート番号(デフォルト:5432)
データベース:データベース名
「接続テスト」を押下すると、以下のダイアログが開くので、DBに接続するユーザ名とパスワードを入力し、「OK」を押下します。
元の画面に戻り、接続に成功すると「接続に成功しました」のダイアログが表示されるので、「OK」を押下して接続情報を登録します。
ヘッダーメニューから「プラグイン」>「プラグイン」の管理とインストールを押下します。
「DB」で検索し、DB Managerが未インストールの場合インストールして有効化します。
有効化されると、「データベース」> 「DBマネージャ」を開くことができるので開きます。
以下の通りウィンドウが開くので、「PostGIS」を展開します。
先ほど追加した接続が表示されるので、右クリックします。
ユーザ名とパスワードを入力し、OKを押下します。
DBマネージャーから「レイヤ/ファイルのインポート」を押下します。
以下のダイアログが表示されます。
「入力」で入力するレイヤを指定します。
テーブルに、取り込み先となるテーブル名を入力します。
主キー、ジオメトリのカラムに指定がなければ、チェックを入れデフォルト(id, geom)のままとしておきます。
上書き更新する場合、「出力先テーブルを置き換える」にチェックを入れます。
「空間インデックスを作成」にチェックを入れます。
「OK」を押下すると、インポートが開始します。
インポートが完了すると、「インポートは成功しました」のダイアログが表示されます。
6-4.テーブル項目定義(歩行空間ネットワークデータ)
- 歩行空間ネットワークデータ(ノード)
■ テーブル定義
テーブル名 | node_3d |
---|
■ カラム定義
※ 経路探索機能で使用する最低限のカラムのみ記載。用途に応じてカラムは追加可能。
カラム名 | カラム論理名 | 型 | 必須 | 主キー | 備考 |
---|---|---|---|---|---|
id | ID | integer | ○ | ○ | 一意のID QGISから取り込んだ際に採番するため、元データには設定不要 |
geom | ジオメトリ | geometry | ポイント(3D) 座標系は平面直角座標系とすること |
||
node_id | ノードID | varchar(40) | ノードを識別する一意のID.リンクの開始・終了ノードIDとの対応が必要. Integer型に型変換可能な値とすること |
- 歩行空間ネットワークデータ(リンク)
■ テーブル定義
テーブル名 | link_3d |
---|
■ カラム定義
※ 経路探索機能で使用する最低限のカラムのみ記載。用途に応じてカラムは追加可能。
カラム名 | カラム論理名 | 型 | 必須 | 主キー | 備考 |
---|---|---|---|---|---|
id | ID | integer | ○ | ○ | 一意のID QGISから取り込んだ際に採番するため、元データには設定不要 |
geom | ジオメトリ | geometry | ポリライン(3D) 座標系は平面直角座標系とすること |
||
link_id | リンクID | varchar(40) | リンクを識別する一意のID. Integer型に型変換可能な値とすること |
||
start_id | 開始ID | varchar(40) | リンクの開始点のノードID. Integer型に型変換可能な値とすること |
||
end_id | 終了ID | varchar(40) | リンクの終了点のノードID. Integer型に型変換可能な値とすること |
||
distance | 距離 | double precision | リンクの距離. 経路探索(健常者向け)で使用. |
||
rt_struct | 経路の構造 | bigint | 1: 車道と歩道の物理的な分離あり 2: 車道と歩道の物理的な分離なし 3: 横断歩道 4: 横断歩道の路面標示の無い道路の横断部 5: 地下通路 6: 歩道橋 (ペデストリアンデッキ含む) 7: 施設内通路 8: その他の経路の構造 99: 不明 |
||
route_type | 経路の種別 | bigint | 1: 対応する属性情報なし 2: 動く歩道 3: 踏切 4: エレベーター 5: エスカレーター 6: 階段 7: スロープ 99: 不明 |
||
direction | 方向性 | bigint | 1: 両方向 2: 起点より終点方向 3: 終点より起点方向 99: 不明 |
||
width | 幅員 | bigint | 1: 1.0m 未満 2: 1.0m 以上~2.0m 未満 3: 2.0m以上~3.0m 未満 4: 3.0m 以上 99: 不明 |
||
vtcl_slope | 縦断勾配 | bigint | 1: 5%以下 2: 5%より大きい(起点より終点が高い) 3: 5%より大きい(起点より終点が低い) 99: 不明 |
||
lev_diff | 段差 | bigint | 1: 2 ㎝以下 2: 2 ㎝より大きい 99: 不明 |
||
tfc_signal | 歩行者用信号機の有無 | bigint | 1: 歩行者用信号機なし 2: 歩車分離式信号機あり 3: 押しボタン式信号機あり 4: これら以外の信号機 99: 不明 |
||
tfc_s_type | 歩行者用信号機の種別 | bigint | 1: 音響設備なし 2: 音響設備あり(音響用押しボタンなし) 3: 音響設備あり(音響用押しボタンあり) 4: これら以外の信号機 99: 不明 |
||
brail_tile | 視覚障害者誘導用ブロック等の有無 | bigint | 1: 視覚障害者誘導用ブロック等なし 2: 視覚障害者誘導用ブロック等あり 99: 不明 |
||
elevator | エレベーターの種別 | bigint | 1: エレベーターなし 2: エレベーターあり(バリアフリー対応なし) 3: エレベーターあり(車いす使用者対応) 4: エレベーターあり(視覚障害者対応) 5: エレベーターあり(車いす使用者、視覚障害者対応) 99: 不明 |
||
roof | 屋根の有無 | bigint | 1: なし 2: あり 99: 不明 |
||
cost_wheelchair | 車いす利用者向けコスト | double precision | 車いす利用者向け経路探索用コスト. 値はデータベース取込後、第10章の手順でセットすること. |
||
cost_elderly | 高齢者向けコスト | double precision | 高齢者・乳幼児向け経路探索用コスト. 値はデータベース取込後、第10章の手順でセットすること. |
||
cost_brail | 視覚障害者向けコスト | double precision | 視覚障害者向け経路探索用コスト. 値はデータベース取込後、第10章の手順でセットすること. |
6-5.テーブル項目定義(地域統計情報)
- 町丁目界データ
■ テーブル定義
テーブル名 | chochomokukai_erimane |
---|
■ カラム定義
※ 用途に応じてカラムは追加可能。
カラム名 | カラム論理名 | 型 | 必須 | 主キー | 備考 |
---|---|---|---|---|---|
id | ID | integer | ○ | ○ | 一意のID QGISから取り込んだ際に採番するため、元データには設定不要 |
geom | ジオメトリ | geometry | マルチポリゴン型 | ||
s_name | 町丁目名 | varchar(100) | 一意の町丁目名. ダッシュボード表示時にgis_joint2テーブルと結合利用. |
||
area_management_type | エリアマネジメント団体種別名 | varchar(100) | |||
3dview_url | 3D都市モデルビューワ連携URL | text | 使用しない | ||
town_name | 町名 | text | 検索用の町名を追加すること | ||
block_name | 丁名 | text | 検索用の丁名を追加すること |
- 地価公示価格
■ テーブル定義
テーブル名 | chika2 |
---|
■ カラム定義
※ カラム内容は固定。
カラム名 | カラム論理名 | 型 | 必須 | 主キー | 備考 |
---|---|---|---|---|---|
id | ID | integer | ○ | ○ | 一意のID |
地点名 | 地点名 | varchar(50) | |||
和暦 | 和暦 | varchar(20) | |||
西暦 | 西暦 | integer | |||
地価 | 地価 | integer | |||
区分 | 区分 | varchar(20) | |||
エリア | エリア | varchar(20) | group_typeテーブルの区分と対応 |
■ データサンプル
id | 地点名 | 和暦 | 西暦 | 地価 | 区分 | エリア |
---|---|---|---|---|---|---|
1 | ○○東5-1 | 平成30年 | 2018 | 473000 | 商業地 | キタ |
2 | ○○東5-1 | 令和元年 | 2019 | 506000 | 商業地 | キタ |
3 | ○○南5-9 | 平成30年 | 2018 | 2080000 | 商業地 | ミナミ |
4 | ○○南5-9 | 令和元年 | 2019 | 2160000 | 商業地 | ミナミ |
- 町丁目別統計項目
■ テーブル定義
テーブル名 | gis_joint2 |
---|
■ カラム定義
※ カラム内容は固定。
カラム名 | カラム論理名 | 型 | 必須 | 主キー | 備考 |
---|---|---|---|---|---|
id | ID | integer | ○ | ○ | 一意のID |
地点名 | 地点名 | varchar(50) | 町丁目名. chochomokukai_erimaneのs_nameと対応. |
||
エリアマネジメント | エリアマネジメント | varchar(50) | group_typeテーブルの区分と対応 | ||
カテゴリ | カテゴリ | varchar(50) | 統計項目 | ||
和暦 | 和暦 | varchar(10) | 統計年度(和暦) | ||
西暦 | 西暦 | integer | 統計年度(西暦) | ||
数 | 数 | integer | 統計値 |
■ データサンプル
id | 地点名 | エリアマネジメント | カテゴリ | 和暦 | 西暦 | 数 |
---|---|---|---|---|---|---|
1 | 東町 | ヒガシ | 人口 | R4 | 2022 | 1780 |
2 | 東町 | ヒガシ | 人口 | R3 | 2021 | 1801 |
3 | 東町 | ヒガシ | 世帯 | R4 | 2022 | 904 |
4 | 東町 | ヒガシ | 世帯 | R3 | 2021 | 900 |
5 | 東町 | ヒガシ | 事業所 | H28 | 2016 | 99 |
6 | 東町 | ヒガシ | 事業所 | H26 | 2014 | 99 |
7 | 東町 | ヒガシ | 単身世帯 | R4 | 2022 | 421 |
8 | 西町 | ニシ | 人口 | R4 | 2022 | 1860 |
9 | 西町 | ニシ | 人口 | R3 | 2021 | 1879 |
10 | 西町 | ニシ | 世帯 | R4 | 2022 | 1271 |
11 | 西町 | ニシ | 世帯 | R3 | 2021 | 1280 |
12 | 西町 | ニシ | 事業所 | H28 | 2016 | 218 |
13 | 西町 | ニシ | 事業所 | H26 | 2014 | 223 |
14 | 西町 | ニシ | 単身世帯 | R4 | 2022 | 865 |
- エリアマネジメント団体の認知度
■ テーブル定義
テーブル名 | erimane_ninchido |
---|
■ カラム定義
※ カラム内容は固定。
カラム名 | カラム論理名 | 型 | 必須 | 主キー | 備考 |
---|---|---|---|---|---|
id | ID | integer | ○ | ○ | 一意のID |
エリア | エリア | varchar(50) | |||
和暦 | 和暦 | varchar(10) | |||
西暦 | 西暦 | integer | |||
認知度 | 認知度 | numeric |
■ データサンプル
id | エリア | 和暦 | 西暦 | 認知度 |
---|---|---|---|---|
1 | キタ | R4 | 2022 | 0.3 |
2 | キタ | R5 | 2023 | 0.35 |
3 | ミナミ | R4 | 2022 | 0.3 |
4 | ミナミ | R5 | 2023 | 0.35 |
5 | ナカ | R4 | 2022 | 0.3 |
6 | ナカ | R5 | 2023 | 0.35 |
- 駅利用者数
■ テーブル定義
テーブル名 | station_users |
---|
■ カラム定義
※ カラム内容は固定。
カラム名 | カラム論理名 | 型 | 必須 | 主キー | 備考 |
---|---|---|---|---|---|
id | ID | integer | ○ | ○ | 一意のID |
会社名 | 会社名 | varchar(50) | |||
年 | 年 | varchar(5) | |||
利用者数 | 利用者数 | integer |
■ データサンプル
id | 会社名 | 年 | 利用者数 |
---|---|---|---|
1 | ○○電鉄 | 2017 | 29097 |
2 | ○○電鉄 | 2018 | 30122 |
3 | ○○電鉄 | 2019 | 32791 |
4 | ○○電鉄 | 2020 | 16550 |
5 | ××鉄道 | 2017 | 154338 |
6 | ××鉄道 | 2018 | 154238 |
7 | ××鉄道 | 2019 | 154184 |
8 | ××鉄道 | 2020 | 101090 |
- 商圏調査の支持率
■ テーブル定義
テーブル名 | syokencyosa_shijiritsu |
---|
■ カラム定義
※ カラム内容は固定。
カラム名 | カラム論理名 | 型 | 必須 | 主キー | 備考 |
---|---|---|---|---|---|
id | ID | integer | ○ | ○ | 一意のID |
商圏エリア | 商圏エリア | varchar(50) | |||
割合 | 割合 | Double precision | % |
■ データサンプル
id | 商圏エリア | 割合 |
---|---|---|
1 | ●●町 | 44.4 |
2 | ■■町 | 32.2 |
3 | ×山 | 15.1 |
4 | ○○市役所周辺 | 4.1 |
5 | ○○駅前 | 4.2 |
- 商業施設
■ テーブル定義
テーブル名 | syogyoshisetsu |
---|
■ カラム定義
※ カラム内容は固定。
カラム名 | カラム論理名 | 型 | 必須 | 主キー | 備考 |
---|---|---|---|---|---|
id | ID | integer | ○ | ○ | 一意のID |
店舗名 | 店舗名 | varchar(100) | |||
住所 | 住所 | varchar(100) | |||
開設年 | 開設年 | integer | |||
店舗面積 | 店舗面積 | integer |
■ データサンプル
id | 店舗名 | 住所 | 開設年 | 店舗面積 |
---|---|---|---|---|
1 | ○○百貨店 | xx区○○町12-1 | 1999 | 40825 |
2 | ●●マート | xx区■■町1-4 | 2013 | 10357 |
3 | ××シティ | ○○区△△町4-2 | 2016 | 7788 |
- 自治体全体の統計値
■ テーブル定義
テーブル名 | region_summary |
---|
■ カラム定義
※ カラム内容は固定。
カラム名 | カラム論理名 | 型 | 必須 | 主キー | 備考 |
---|---|---|---|---|---|
id | ID | integer | ○ | ○ | 一意のID |
カテゴリ | カテゴリ | text | 以下のいずれかで設定すること. ・人口 ・世帯数 ・駅利用者数まとめ ・事業所数 ・従業者数 ・公示地価 総合評価の算出処理で使用するので、すべてのカテゴリを設定すること. |
||
和暦 | 和暦 | ||||
西暦 | 西暦 | integer | |||
値 | 値 | double precision | 統計値 |
■ データサンプル
id | カテゴリ | 和暦 | 西暦 | 値 |
---|---|---|---|---|
1 | 人口 | R3 | 2021 | 1189149 |
2 | 人口 | R4 | 2022 | 1187049 |
3 | 世帯数 | R3 | 2021 | 575232 |
4 | 世帯数 | R4 | 2022 | 578741 |
5 | 駅利用者数まとめ | R1 | 2019 | 363226 |
6 | 駅利用者数まとめ | R2 | 2020 | 269578 |
7 | 事業所数 | H26 | 2014 | 55733 |
8 | 事業所数 | H28 | 2016 | 53327 |
9 | 従業者数 | H26 | 2014 | 599407 |
10 | 従業者数 | H28 | 2016 | 581331 |
11 | 公示地価 | R3 | 2021 | 525312.5 |
12 | 公示地価 | R4 | 2022 | 541750 |
- 総合評価
■ テーブル定義
テーブル名 | sougou_hyouka_result |
---|
■ カラム定義
※ カラム内容は固定。
カラム名 | カラム論理名 | 型 | 必須 | 主キー | 備考 |
---|---|---|---|---|---|
id | ID | integer | ○ | ○ | 一意のID QGISから取り込んだ際に採番するため、元データには設定不要 |
カテゴリ | カテゴリ | text | 以下のいずれかで設定すること. ・人口 ・世帯数 ・駅利用者数まとめ ・事業所数 ・従業者数 ・公示地価 ・総合評価 すべてのカテゴリを設定すること. |
||
年度 | 年度 | integer | |||
全体比較 | 全体比較 | double precision | |||
過去比較 | 過去比較 | double precision |
■ データサンプル
id | カテゴリ | 年度 | 全体比較 | 過去比較 |
---|---|---|---|---|
1 | 人口 | 2022 | 3.022594 | 2.999128 |
2 | 世帯数 | 2022 | 2.997356 | 3.016077 |
3 | 駅利用者数まとめ | 2022 | 2.59621 | 1.895085 |
4 | 事業所数 | 2022 | 3.116334 | 3.000 |
5 | 従業者数 | 2022 | 3.303411 | 3.000 |
6 | 公示地価 | 2022 | 3.091724 | 3.122362 |
7 | 総合評価 | 2022 | 3.021272 | 2.838775 |
6-6.テーブル項目定義(回遊性)
- 回遊分析結果(年齢)
■ テーブル定義
テーブル名 | kaiyu_jinryu_nenrei_1 |
---|
■ カラム定義
※ カラム内容は固定。
カラム名 | カラム論理名 | 型 | 必須 | 主キー | 備考 |
---|---|---|---|---|---|
id | ID | integer | ○ | ○ | 一意のID |
項目 | 項目 | varchar(50) | |||
人数 | 人数 | double preciion | |||
割合 | 割合 | double preciion | 同じ回数で合計1.0となるように設定 | ||
回数 | 回数 | integer | 分析回数を設定すること. 1,2,3,… | ||
項目id | 項目id | integer | 項目に対応する一意のID |
■ データサンプル
id | 項目 | 人数 | 割合 | 回数 | 項目id |
---|---|---|---|---|---|
1 | 20歳未満 | 16 | 0.06015 | 1 | 1 |
2 | 20代 | 33 | 0.12406 | 1 | 2 |
6 | 20歳未満 | 10 | 0.045662 | 2 | 1 |
7 | 20代 | 30 | 0.136986 | 2 | 2 |
- 回遊分析結果(性別)
■ テーブル定義
テーブル名 | kaiyu_jinryu_seibetsu_1 |
---|
■ カラム定義
※ カラム内容は固定。
カラム名 | カラム論理名 | 型 | 必須 | 主キー | 備考 |
---|---|---|---|---|---|
id | ID | integer | ○ | ○ | 一意のID |
性別 | 性別 | varchar(20) | |||
人数 | 人数 | double preciion | |||
割合 | 割合 | double preciion | 同じ回数で合計1.0となるように設定 | ||
回数 | 回数 | integer | 分析回数を設定すること. 1,2,3,… |
■ データサンプル
id | 性別 | 人数 | 割合 | 回数 |
---|---|---|---|---|
1 | 男性 | 126 | 0.473684 | 1 |
2 | 女性 | 136 | 0.511278 | 1 |
3 | その他 | 4 | 0.015038 | 1 |
4 | 男性 | 96 | 0.438356 | 2 |
- 回遊分析結果(人数)
■ テーブル定義
テーブル名 | kaiyu_jinryu_ninzuu_1 |
---|
■ カラム定義
※ カラム内容は固定。
カラム名 | カラム論理名 | 型 | 必須 | 主キー | 備考 |
---|---|---|---|---|---|
id | ID | integer | ○ | ○ | 一意のID |
日付 | 日付 | Date | |||
利用者数 | 利用者数 | integer | |||
回数 | 回数 | integer | 分析回数を設定すること. 1,2,3,… |
■ データサンプル
id | 日付 | 利用者数 | 回数 |
---|---|---|---|
1 | 2022/2/21 | 63 | 1 |
2 | 2022/2/22 | 87 | 1 |
・・・ | |||
15 | 2022/3/7 | 98 | 2 |
16 | 2022/3/8 | 95 | 2 |
- 回遊分析結果(地域)
■ テーブル定義
テーブル名 | kaiyu_jinryu_chiiki_1 |
---|
■ カラム定義
※ カラム内容は固定。
カラム名 | カラム論理名 | 型 | 必須 | 主キー | 備考 |
---|---|---|---|---|---|
id | ID | integer | ○ | ○ | 一意のID |
住所 | 住所 | varchar(50) | |||
人数 | 人数 | double preciion | |||
割合 | 割合 | double preciion | 同じ回数で合計1.0となるように設定 | ||
回数 | 回数 | integer | 分析回数を設定すること. 1,2,3,… |
■ データサンプル
id | 住所 | 人数 | 割合 | 回数 |
---|---|---|---|---|
1 | ○○市中区 | 25 | 0.093985 | 1 |
2 | ○○市西区 | 28 | 0.105263 | 1 |
・・・ | ||||
11 | ○○市中区 | 25 | 0.114155 | 2 |
- 回遊分析結果(歩数)
■ テーブル定義
テーブル名 | kaiyu_jinryu_hosuu_1 |
---|
■ カラム定義
※ カラム内容は固定。
カラム名 | カラム論理名 | 型 | 必須 | 主キー | 備考 |
---|---|---|---|---|---|
id | ID | integer | ○ | ○ | 一意のID |
日付 | 日付 | date | |||
歩数 | 歩数 | integer | |||
天気 | 天気 | varchar(20) | |||
最低気温 | 最低気温 | double precision | |||
最高気温 | 最高気温 | double precision | |||
回数 | 回数 | integer | 分析回数を設定すること. 1,2,3,… |
■ データサンプル
id | 日付 | 歩数 | 天気 | 最低気温 | 最高気温 | 回数 |
---|---|---|---|---|---|---|
1 | 2022/2/21 | 456150 | 晴雪 | -0.8 | 7.3 | 1 |
2 | 2022/2/22 | 630695 | 晴雪 | -0.8 | 7.6 | 1 |
15 | 2022/3/7 | 608957 | 曇り | 1 | 11 | 2 |
16 | 2022/3/8 | 644313 | 晴れ | 2 | 14 | 2 |
- 回遊性情報(移動データ)
■ テーブル定義
※ numberには分析回数が入る。
※ 分析回数が追加されるごとにテーブルを新規登録すること。
テーブル名 | kaiyuusei_{number} |
---|
■ カラム定義
※ カラム内容は固定。
カラム名 | カラム論理名 | 型 | 必須 | 主キー | 備考 |
---|---|---|---|---|---|
id | ID | integer | ○ | ○ | 一意のID QGISから取り込んだ際に採番するため、元データには設定不要 |
geom | ジオメトリ | Geometry (MultiLineString) |
|||
移動経路 | 移動経路 | varchar(254) | |||
合計 | 合計 | double precision | |||
orig_fid | orig_fid | integer | |||
shape_leng | shape_leng | double precision | |||
距離 | 距離 | double precision |
- 人気スポット(点データ)
■ テーブル定義
※ numberには分析回数が入る。
※ 分析回数が追加されるごとにテーブルを新規登録すること。
テーブル名 | accessspot_{number} |
---|
■ カラム定義
※ カラム内容は固定。
カラム名 | カラム論理名 | 型 | 必須 | 主キー | 備考 |
---|---|---|---|---|---|
id | ID | integer | ○ | ○ | 一意のID QGISから取り込んだ際に採番するため、元データには設定不要 |
スポット名 | スポット名 | varchar(254) | |||
合計 | 合計 | double precision | |||
latitiude | 緯度 | double precision | WGS84(EPSG:4326) | ||
longitute | 経度 | double precision | WGS84(EPSG:4326) |
6-7.テーブル項目定義(テーマ設定系テーブル)
- ログインユーザ
ユーザ管理用のマスタテーブル。
■テーブル定義
テーブル名 | login_user |
---|
■カラム定義
No. | カラム論理名 | カラム名 | 型 | NotNull | 備考 |
---|---|---|---|---|---|
1 | ユーザID | user_id | serial | Yes(PK) | |
2 | ログインID | login_id | charactervarying(50) | Yes | |
3 | パスワード | password | charactervarying(1024) | Yes | |
4 | 権限 | role | charactervarying(10) | Yes | user : 地域住民ユーザ,erimane : エリアマネジメント団体ユーザ,admin : エリアマネジメント団体管理者、システム管理者 |
5 | ユーザ名 | user_name | charactervarying(100) | ||
6 | メールアドレス | mail_address | charactervarying(255) |
- テーマ情報
テーマ管理用のマスタテーブル。テーマ_グラフ・リスト関連テーブルの設定も合わせて必須となります。
■テーブル定義
テーブル名 | theme |
---|
■カラム定義
No. | カラム論理名 | カラム名 | 型 | NotNull | 備考 |
---|---|---|---|---|---|
1 | テーマID | theme_id | integer | Yes(PK) | |
2 | テーマ名称 | theme_name | charactervarying(100) | ||
3 | テーマグループ名称 | theme_group_name | charactervarying(100) | ||
4 | 表示順 | disp_order | integer | ||
5 | 公開フラグ | publish_flag | character(1) | 1:公開,0:非公開 | |
6 | 投稿機能有効フラグ | post_flag | character(1) | 1:有効,0:無効 | |
7 | 案内文言 | information_text | text | ||
8 | テーマ内切替フラグ | switch_flag | character(1) | 1:有効,0:無効 非対応の為0固定 |
|
9 | テーマ内切替項目取得SQL | switch_query | text | Null固定 | |
10 | 切替項目名カラム名 | switch_item_name_column_name | charactervarying(256) | Null固定 | |
11 | 切替項目値カラム名 | switch_item_value_column_name | charactervarying(256) | Null固定 | |
12 | 切替項目プレースホルダ名 | switch_placeholder_name | charactervarying(256) | Null固定 | |
13 | 切替項目プレースホルダデフォルト値 | switch_placeholder_default_value | charactervarying(256) | Null固定 |
- レイヤ情報
レイヤ管理用のマスタテーブル。
■テーブル定義
テーブル名 | layer |
---|
■カラム定義
No. | カラム論理名 | カラム名 | 型 | NotNull | 備考 |
---|---|---|---|---|---|
1 | レイヤID | layer_id | integer | Yes(PK) | |
2 | レイヤ種別 | layer_type | integer | 0:一般レイヤ,1:投稿レイヤ,2:エリアマネジメント・イベント活動レイヤ | |
3 | レイヤ名称 | layer_name | charactervarying(100) | ||
4 | レイヤ設定 | layer_settings | text | レイヤのカタログ定義をJSON形式で保持.フォーマットはterriaJSの仕様に従う. | |
5 | アイコン画像パス | icon_path | text | 投稿レイヤまたはエリアマネジメント・イベント活動レイヤのみ.アイコン画像の参照用パス. | |
6 | プレースホルダフラグ | placeholder_flag | character(1) | 0固定 |
- レイヤ参照元テーブル情報
レイヤソース管理用のマスタテーブル。 レイヤソースを定義することで管理者画面からグラフ・リストの作成が可能になります。合わせてレイヤソースフィールドテーブルの設定が必須です。
■テーブル定義
テーブル名 | layer_source |
---|
■カラム定義
No. | カラム論理名 | カラム名 | 型 | NotNull | 備考 |
---|---|---|---|---|---|
1 | ソースID | source_id | integer | Yes(PK) | |
2 | レイヤID | layer_id | integer | 対象のレイヤID | |
3 | テーブル名 | table_name | text | レイヤソースとなるテーブル名 |
- レイヤ参照元フィールド情報
レイヤソースフィールド管理用のマスタテーブル。 レイヤソースで定義したテーブルのフィールド定義を行います。
■テーブル定義
テーブル名 | layer_source_field |
---|
■カラム定義
No. | カラム論理名 | カラム名 | 型 | NotNull | 備考 |
---|---|---|---|---|---|
1 | フィールドID | field_id | integer | Yes(PK) | |
2 | ソースID | source_id | integer | ||
3 | フィールド名 | field_name | text | テーブルの物理エンティティ名 | |
4 | エイリアス | alias | text | テーブルの論理エンティティ名 |
- 投稿レイヤアイコンパス設定情報
投稿レイヤのアイコン関連テーブル。 項目値に応じたアイコン画像の出し分けが行えます。
■テーブル定義
テーブル名 | post_layer_icon_path |
---|
■カラム定義
No. | カラム論理名 | カラム名 | 型 | NotNull | 備考 |
---|---|---|---|---|---|
1 | ID | id | serial | Yes(PK) | |
2 | レイヤID | layer_id | integer | Yes | 投稿レイヤの対象のレイヤIDを指定. |
3 | アイコンパス | image_path | text | post-icon-1.png~post-icon-10.pngの指定が可能. 格納場所はapplication.propertiesで設定済みのapp.billboard.icons.rootpathを起点とする. |
|
4 | 判定値 | judgment_value | text | アイコンを表示する際の項目判定値.customconfig.jsonのpostLayerSelectOptionで固定選択項目と合わせて設定. |
- グラフ・リスト情報
グラフ・リストの設定管理テーブル。
高度な設定を要する為、レイヤソーステーブル及び、レイヤソースフィールドテーブルで設定を行うことで管理者画面からグラフ・リストの作成が行えます。 SE設定の場合、グラフ・リスト設定項目値テーブルと合わせて設定が必要です。
■テーブル定義
テーブル名 | graph_list |
---|
■カラム定義
No. | カラム論理名 | カラム名 | 型 | NotNull | 備考 |
---|---|---|---|---|---|
1 | グラフ・リストID | graph_id | integer | Yes(PK) | |
2 | グラフ・リストタイプID | graph_type_id | integer | Yes | 1:複合グラフ 2:円グラフ 3:棒グラフ 4:線グラフ 5:リスト(テーブル) 6:単一リスト |
3 | グラフ名称 | graph_name | charactervarying(100) | ||
4 | クエリテキスト | query_text | text | データ取得用のSQL文 | |
5 | 編集フラグ | edit_flag | character(1) | 1:編集可能,0:編集不可 DBから設定する場合0固定 |
|
6 | ソースID | source_id | integer | DBから設定する場合Null固定 | |
7 | プレースホルダフラグ | placeholder_flag | character(1) | DBから設定する場合0固定 |
- グラフ・リストタイプ情報
グラフ・リストのマスタテーブル。 変更不可のマスタテーブルです。
■テーブル定義
テーブル名 | graph_list_type |
---|
■カラム定義
No. | カラム論理名 | カラム名 | 型 | NotNull | 備考 |
---|---|---|---|---|---|
1 | グラフ・リストタイプID | graph_type_id | integer | Yes(PK) | 1:複合グラフ 2:円グラフ 3:棒グラフ 4:線グラフ 5:リスト(テーブル) 6:単一リスト |
2 | グラフ・リストタイプ名称 | graph_type_name | charactervarying(100) | ||
3 | 編集フラグ | edit_flag | character(1) | ||
4 | グラフ・リストタイプ毎の雛形SQL | default_query_text | text |
9.グラフ・リストテンプレート設定項目
グラフ・リストのマスタテーブル。 変更不可のマスタテーブルです。
■テーブル定義
テーブル名 | graph_list_template_settings |
---|
■カラム定義
No. | カラム論理名 | カラム名 | 型 | NotNull | 備考 |
---|---|---|---|---|---|
1 | グラフ・リストタイプID | graph_type_id | integer | Yes(PK) | 1:複合グラフ 2:円グラフ 3:棒グラフ 4:線グラフ 5:リスト(テーブル) 6:単一リスト |
2 | 項目ID | item_id | integer | Yes(PK) | |
3 | 属性名 | attribute_name | charactervarying(100) | ||
4 | 属性タイプ | attribute_type | integer | ||
5 | 設定項目の名称 | display_name | charactervarying(100) | ||
6 | 表示タイプ | display_type | integer | ||
7 | グループタイプ | group_type | integer | 未使用 | |
8 | プレースホルダフラグ | placeholder_flag | character(1) |
- グラフ・リストテンプレート設定項目値
グラフ・リストテーブルで追加したグラフ・リストの表示設定を管理します。
■テーブル定義
テーブル名 | graph_list_template_val |
---|
■カラム定義
No. | カラム論理名 | カラム名 | 型 | NotNull | 備考 |
---|---|---|---|---|---|
1 | グラフ・リストID | graph_id | integer | Yes(PK) | 対象のグラフ・リストIDを指定 |
2 | 項目ID | item_id | integer | Yes(PK) | 対象のグラフ・リスト設定項目の項目IDを指定 |
3 | 項目値 | item_value | text |
■高度な設定について
グラフ・リスト毎に表示設定が行えます。項目値の設定例を下記に示します。
item_idに「※」があるものは必須の設定値です。
■複合グラフ
item_id | graph_type_id | display_name | item_value(例) | 設定可能な形式 | 備考 |
---|---|---|---|---|---|
※1 | 1 | (複合)棒グラフ Y軸 カラム名 | y1_column_name | 文字列 | グラフ・リストテーブルのクエリテキストから対応するカラムを指定 |
※2 | 1 | (複合)X軸 カラム名 | x_column_name | 文字列 | グラフ・リストテーブルのクエリテキストから対応するカラムを指定 |
※3 | 1 | (複合)折れ線グラフ Y軸 カラム名 | y2_column_name | 文字列 | グラフ・リストテーブルのクエリテキストから対応するカラムを指定 |
4 | 1 | (複合)棒グラフ Y軸最大値 | 100 | 数値 | |
5 | 1 | (複合)棒グラフ Y軸最最小値 | 0 | 数値 | |
6 | 1 | (複合)折れ線グラフ Y軸最大値 | 100 | 数値 | |
7 | 1 | (複合)折れ線グラフ Y軸最小値 | 0 | 数値 | |
8 | 1 | (複合)棒グラフ Y軸ステップサイズ | 10 | 数値 | |
9 | 1 | (複合)折れ線グラフ Y軸ステップサイズ | 10 | 数値 | |
10 | 1 | (複合)棒グラフ Y軸単位 | 人 | 文字列 | |
11 | 1 | (複合)折れ線グラフ Y軸単位 | 円 | 文字列 | |
12 | 1 | (複合)棒グラフ 背景色 | #696969 | 文字列 | 16進数カラーコード文字列 |
13 | 1 | (複合)折れ線グラフ 背景色 | #696969 | 文字列 | 16進数カラーコード文字列 |
14 | 1 | (複合)棒グラフ 線色 | #696969 | 文字列 | 16進数カラーコード文字列 |
15 | 1 | (複合)折れ線グラフ 線色 | #696969 | 文字列 | 16進数カラーコード文字列 |
16 | 1 | (複合)折れ線グラフ Y軸ラベル | yラベル | 文字列 | |
17 | 1 | (複合)棒グラフ Y軸ラベル | yラベル | 文字列 | |
18 | 1 | (複合)X軸 ラベル | xラベル | 文字列 |
■円グラフ
item_id | graph_type_id | display_name | item_value(例) | 設定可能な形式 | 備考 |
---|---|---|---|---|---|
※1 | 2 | 円グラフ データ カラム名 | data_column_name | 文字列 | グラフ・リストテーブルのクエリテキストから対応するカラムを指定 |
※2 | 2 | 円グラフ ラベル カラム名 | label_column_name | 文字列 | グラフ・リストテーブルのクエリテキストから対応するカラムを指定 |
3 | 2 | 円グラフ データ 単位 | 人 | 文字列 | |
4 | 2 | 円グラフ 背景色一覧 | #696969,#696969 | 文字列 | 16進数カラーコード文字列(カンマ区切り) |
5 | 2 | 円グラフ ラベル背景色対応一覧 | {"飲食": "#02fafa"} | 指定のObject形式{"ラベル値":"カラーコード"} |
■棒グラフ
item_id | graph_type_id | display_name | item_value(例) | 設定可能な形式 | 備考 |
---|---|---|---|---|---|
※1 | 3 | 棒グラフ Y軸 カラム名 | y_column_name | 文字列 | グラフ・リストテーブルのクエリテキストから対応するカラムを指定 |
※2 | 3 | 棒グラフ X軸 カラム名 | x_column_name | 文字列 | グラフ・リストテーブルのクエリテキストから対応するカラムを指定 |
3 | 3 | 棒グラフ Y軸最大値 | 100 | 数値 | |
4 | 3 | 棒グラフ Y軸最最小値 | 0 | 数値 | |
5 | 3 | 棒グラフ Y軸ステップサイズ | 10 | 数値 | |
6 | 3 | 棒グラフ Y軸単位 | 人 | 文字列 | |
7 | 3 | 棒グラフ 背景色 | #696969 | 文字列 | 16進数カラーコード文字列 |
8 | 3 | 棒グラフ 線色 | #696969 | 文字列 | 16進数カラーコード文字列 |
9 | 3 | 棒グラフ Y軸ラベル | yラベル | 文字列 | |
10 | 3 | 棒グラフ X軸 ラベル | xラベル | 文字列 | |
11 | 3 | 棒グラフ 方向 | vertical | 文字列 | 「vertical」または「horizontal」 |
■線グラフ
item_id | graph_type_id | display_name | item_value(例) | 設定可能な形式 | 備考 |
---|---|---|---|---|---|
※1 | 4 | 線グラフ Y軸 カラム名 | y_column_name | 文字列 | グラフ・リストテーブルのクエリテキストから対応するカラムを指定 |
※2 | 4 | 線グラフ X軸 カラム名 | x_column_name | 文字列 | グラフ・リストテーブルのクエリテキストから対応するカラムを指定 |
3 | 4 | 線グラフ Y軸最大値 | 100 | 数値 | |
4 | 4 | 線グラフ Y軸最最小値 | 0 | 数値 | |
5 | 4 | 線グラフ Y軸ステップサイズ | 10 | 数値 | |
6 | 4 | 線グラフ Y軸単位 | 人 | 文字列 | |
7 | 4 | 線グラフ 背景色 | #696969 | 文字列 | 16進数カラーコード文字列 |
8 | 4 | 線グラフ 線色 | #696969 | 文字列 | 16進数カラーコード文字列 |
9 | 4 | 線グラフ Y軸 ラベル | yラベル | 文字列 | |
10 | 4 | 線グラフ X軸 ラベル | xラベル | 文字列 |
■リスト(表形式)
item_id | graph_type_id | display_name | item_value(例) | 設定可能な形式 | 備考 |
---|---|---|---|---|---|
1 | 5 | リスト選択オプション | single | 文字列 | 「single」または「multiple」 |
※2 | 5 | リスト対象カラム一覧 | {"list1_column_name":1} | 指定のObject形式{"カラム名":表示順} | グラフ・リストテーブルのクエリテキストから対応するカラムを指定 |
3 | 5 | リンク対象カラム一覧 | {"list3_column_name":"添付ファイル"} | 指定のObject形式{"リンクカラム名":"リンク表示名"} | グラフ・リストテーブルのクエリテキストから対応するカラムを指定 |
4 | 5 | 列幅の自動調整 | 0 | 数値 | 有効の場合「1」 、 無効の場合「0」 |
■単一リスト(集計値)
item_id | graph_type_id | display_name | item_value(例) | 設定可能な形式 | 備考 |
---|---|---|---|---|---|
※1 | 6 | 単一リスト表示カラム | single_list_column_name | 文字列 | グラフ・リストテーブルのクエリテキストから対応するカラムを指定 |
※画面から追加したグラフ・リストに対して高度な設定を加えた場合、グラフ・リストテーブルの編集フラグを「0」にする必要があります。
- テーマ_レイヤ関連情報
テーマに搭載するレイヤを管理します。
■テーブル定義
テーブル名 | theme_layer |
---|
■カラム定義
No. | カラム論理名 | カラム名 | 型 | NotNull | 備考 |
---|---|---|---|---|---|
1 | テーマID | theme_id | integer | Yes(PK) | |
2 | レイヤID | layer_id | integer | Yes(PK) | |
3 | 表示順 | disp_order | integer | ||
4 | 投稿フラグ | post_flag | character(1) | 1:有効0:無効 ※エリアマネジメント・イベント活動及び投稿レイヤは1テーマに対し1レイヤのみ投稿機能を有効にする事ができます。 |
- テーマ_グラフ・リスト関連情報
テーマに搭載するグラフ・リスト及びViewerを管理します。
■テーブル定義
テーブル名 | theme_graph_list |
---|
■カラム定義
No. | カラム論理名 | カラム名 | 型 | NotNull | 備考 |
---|---|---|---|---|---|
1 | テーマID | theme_id | integer | Yes(PK) | |
2 | グラフID | graph_id | integer | Yes(PK) | 対象グラフ・リストのgraph_idを指定. ※3DViewerの場合は「0」固定 |
3 | 左上座標(X) | top_left_x | integer | 画面上のグリッド座標. ※3DViewerの場合は「4」固定 ダッシュボード側:0~3 3DViewer側:4~11 |
|
4 | 左上座標(Y) | top_left_y | integer | 画面上のグリッド座標.※3DViewerの場合は「0」固定 | |
5 | パネル幅 | panel_width | integer | 画面上のグリッド数. ※3DViewerの場合は「8」固定 ダッシュボード側:1~4 3DViewer側:1~8 |
|
6 | パネル高さ | panel_height | integer | 画面上のグリッド数. ※3DViewerの場合は「22」固定 |
■SE設定時の注意事項
ダッシュボード画面では横12分割、縦22分割のグリッドを使用して3DViewer及びグラフ・リストの表示配置を行っています。 テーマを追加した際は必ず3DViewerの配置設定が必須の為、注意してください。その他の各種グラフ・リストについては管理者画面から搭載の設定が行えます。
- レイヤ_グラフ・リスト連携情報
レイヤ及びグラフ・リストの連携設定を管理します。
■テーブル定義
テーブル名 | layer_graph_cooporation |
---|
■カラム定義
No. | カラム論理名 | カラム名 | 型 | NotNull | 備考 |
---|---|---|---|---|---|
1 | 連携ID | cooperation_id | integer | Yes(PK) | |
2 | 連携種別 | cooperation_type | integer | 0:フォーカス 1:データ絞込 2:レイヤ切替 3:データ絞込(シングルリスト→リスト) 4:スタイル切替 |
|
3 | 連携オプション | cooperation_option | text | 連携オプションをJSON形式で定義 | |
4 | レイヤID | layer_id | integer | Yes | |
5 | グラフID | graph_id | integer | Yes |
・cooperation_type=0ではグラフ・リスト→3DVIEWERへ連携し地点のフォーカス及び属性表示が行えます。
・cooperation_type=1では3DVIEWER→グラフ・リストへ連携しグラフのハイライト表示、またはリストの外部フィルタリングが行えます。
・cooperation_type=2ではシングルリスト(集計値)→3DVIEWERへ連携しレイヤの切替が行えます。
・cooperation_type=3ではシングルリスト(集計値)→リスト(表)へ連携し外部フィルタリングが行えます。
※layer_idに連携対象のグラフ・リストIDを指定してください。
・cooperation_type=4では円グラフ→建物モデルへ連携しスタイル色の切替が行えます。
※建物モデルの連携はcompositeで表示している場合は対象外となります。
■SE設定時の注意事項
連携オプションは指定のJSON形式でのみ設定可能です。
設定例
{
"featureAttributeName":"parent_activity_id",
"featureAttributeColumnName":"parent_activity_id",
"longitudeColumnName":"lon",
"latitudeColumnName":"lat"
}
連携オプションとフィールドの対応について以下に示します。◎は必須の設定項目です。
cooperation_type=0 | cooperation_type=1 | cooperation_type=2 | cooperation_type=3 | cooperation_type=4 | |
---|---|---|---|---|---|
featureAttributeName | ◎ | ◎ | ◎ | ||
featureAttributeColumnName | ◎ | ◎ | ◎ | ||
longitudeColumnName | ◎ | ||||
latitudeColumnName | ◎ | ||||
heightColumnName | 〇 | ||||
queryParameterName | ◎ | ||||
queryString | 〇 ※queryStringかqueryStringColumnName何れか必須 |
||||
queryStringColumnName | 〇 ※queryStringかqueryStringColumnName何れか必須 |
||||
columnName | ◎ | ||||
searchColumnName | ◎ |
各フィールドの詳細を以下に示します。
名称 | フィールド名 | 型 | 詳細 |
---|---|---|---|
フィーチャ属性名 | featureAttributeName | string | レイヤ側の連携判定時に使用する属性名を指定する. |
フィーチャ属性カラム名 | featureAttributeColumnName | string | グラフ・リスト側の連携判定時に使用する属性と対応するカラム名を指定する. |
経度カラム名 | longitudeColumnName | string | グラフ・リスト側の連携時に使用する経度のカラム名を指定する. |
緯度カラム名 | latitudeColumnName | string | グラフ・リスト側の連携時に使用する緯度のカラム名を指定する. |
高さカラム名 | heightColumnName | string | グラフ・リスト側の連携時に使用する高さのカラム名を指定する. |
クエリ文字列パラメータ名 | queryParameterName | string | グラフ・リスト側の連携時に使用するパラメータ名を指定する. |
クエリ文字列 | queryString | string | グラフ・リスト側の連携時に使用するパラメータ値を指定する. |
クエリ文字列カラム名 | queryStringColumnName | string | グラフ・リスト側の連携時に使用するパラメータ値のカラム名を指定する. |
検索元カラム名 | columnName | string | グラフ・リスト側の連携時に使用する検索元のカラム名を指定する. |
検索先カラム名 | searchColumnName | string | グラフ・リスト側の連携時に使用する検索先のカラム名を指定する. |
6-8.テーブル項目定義(投稿系テーブル)
- エリアマネジメント・イベント活動情報
■テーブル定義
テーブル名 | activity |
---|
■カラム定義
No. | カラム論理名 | カラム名 | 型 | NotNull | 備考 |
---|---|---|---|---|---|
1 | 活動ID | activity_id | integer | Yes(PK) | |
2 | ジオメトリ | geom | geometry(POINT,3857) | Yes | |
3 | 地域活動種別ID | activity_type | integer | Yes | |
4 | エリアマネジメント団体種別ID | group_type | integer | Yes | |
5 | 開始日時 | start_date_and_time | timestamp | ||
6 | 終了日時 | end_date_and_time | timestamp | ||
7 | 活動名 | activity_name | text | ||
8 | 活動場所 | activity_place | text | ||
9 | 活動内容 | activity_content | text | ||
10 | 参加者数 | participants_count | integer | ||
11 | 備考 | remarks | text | ||
12 | 親活動ID | parent_activity_id | integer | ||
13 | 投稿ユーザID | post_user_id | integer | ||
14 | 公開フラグ | publish_flag | character(1) | 1:公開0:非公開 | |
15 | 作成日時 | insert_time | timestamp | ||
16 | 更新日時 | update_time | timestamp |
- エリアマネジメント・イベント活動種別
※変更不可のマスタテーブル
■テーブル定義
テーブル名 | activity_type |
---|
■カラム定義
No. | カラム論理名 | カラム名 | 型 | NotNull | 備考 |
---|---|---|---|---|---|
1 | id | id | serial | Yes(PK) | |
2 | 地域活動種別名 | type_name | text |
- エリアマネジメント・イベント活動ファイル
■テーブル定義
テーブル名 | attachements |
---|
■カラム定義
No. | カラム論理名 | カラム名 | 型 | NotNull | 備考 |
---|---|---|---|---|---|
1 | id | id | serial | Yes(PK) | |
2 | 活動ID | activity_id | integer | Yes | |
3 | 添付ファイル名 | attachment_file_name | text | ||
4 | 作成された日時 | created | timestamp |
- エリアマネジメント・イベント活動グループ種別
■テーブル定義
テーブル名 | group_type |
---|
■カラム定義
No. | カラム論理名 | カラム名 | 型 | NotNull | 備考 |
---|---|---|---|---|---|
1 | id | id | serial | Yes(PK) | |
2 | エリアマネジメント団体種別名 | type_name | text |
- 投稿レイヤフィーチャ情報
■テーブル定義
テーブル名 | post_layer_feature |
---|
■カラム定義
No. | カラム論理名 | カラム名 | 型 | NotNull | 備考 |
---|---|---|---|---|---|
1 | フィーチャID | feature_id | integer | Yes(PK) | |
2 | レイヤID | layer_id | integer | Yes | |
3 | 公開フラグ | publish_flag | character(1) | 1:公開0:非公開 | |
4 | ジオメトリ | geometry | geometry(POINT,3857) | データタイプ:ポイント | |
5 | 投稿ユーザID | post_user_id | integer | ||
6 | 投稿日時 | post_datetime | timestamp | ||
7 | 親フィーチャID | parent_feature_id | integer | ||
8 | 項目1 | item_1 | text | 項目ID=1の値 | |
9 | 項目2 | item_2 | text | 項目ID=2の値 | |
10 | 項目3 | item_3 | text | 項目ID=3の値 | |
11 | 項目4 | item_4 | text | 項目ID=4の値 | |
12 | 項目5 | item_5 | text | 項目ID=5の値 | |
13 | 項目6 | item_6 | text | 項目ID=6の値 | |
14 | 項目7 | item_7 | text | 項目ID=7の値 | |
15 | 項目8 | item_8 | text | 項目ID=8の値 | |
16 | 項目9 | item_9 | text | 項目ID=9の値 | |
17 | 項目10 | item_10 | text | 項目ID=10の値 |
- 投稿レイヤ属性情報
■テーブル定義
テーブル名 | post_layer_attribute |
---|
■カラム定義
No. | カラム論理名 | カラム名 | 型 | NotNull | 備考 |
---|---|---|---|---|---|
1 | レイヤID | layer_id | integer | Yes(PK) | |
2 | 項目ID | item_id | integer | Yes(PK) | |
3 | 項目名 | item_name | charactervarying(100) | ||
4 | 項目タイプ | item_type | integer | 1:テキスト(小)2:テキスト(大)3:数値4:写真 | |
5 | 表示順 | disp_order | integer | ||
6 | 必須フラグ | require_flag | character(1) | 1:必須0:任意 |
7 3D都市モデルビューワ設定(任意)
7-1.航空写真
航空写真のタイル化を行います。
作成後のデータは15-2.erimane_init.jsonで使用できます。
タイル化した航空写真をファイルサーバに格納します。
GeoTiff形式の航空写真データを予め用意します。
QGISを立ち上げます。
GeoTiffファイルが複数枚ある場合、結合を行います。プロセッシング > ツールボックス を選択してください。

- プロセッシングツールボックスウィンドウが開きます。「GDAL」>「ラスタその他」>「結合(gdal_merge)」を選択してください。

- 「入力レイヤ」の3点リーダを押下します。

- 「ファイルを追加」または「ディレクトリを追加」から航空写真のgeotiff一式を選択します。選択が終了したら「◁」で元の画面に戻ります。

- 「出力レイヤ」>「ファイルに保存」で保存先を選び、「実行」を押下します。

実行が完了すると、QGIS上に結合後の航空写真が表示されます。
続いて投影変換を実施します。プロセッシングツールボックスから「GDAL」>「ラスタ投影」>「再投影」を押下します。

入力レイヤで手順8で作成された航空写真を選択します。
変換元CRSで元のGeoTiffの座標系、ラスタのCRSでEPSG:3857を選択します。
「実行」を押下すると処理が開始されます。

- 続いてXYZタイルの作成を行います。プロセッシングツールボックスから、「ラスタツール」>「XYZタイルの生成(ディレクトリ形式)」を選択します。

- Extentで出力範囲を設定します。下記のボタン押下で出力する範囲を地図上から選択可能です。

- Minimum zoom と Maximum zoom(最大・最小ズームレベル)を設定します。
※ 複数の範囲に分割して設定・実行を繰り返すことを推奨します。

- 「出力フォルダ」から出力先を設定し、「実行」を押下してください。

実行が完了すると、ディレクトリ形式でタイル化されたファイルが出力されます。
出力されたファイルの内容を確認し、ファイルサーバに移動させます。
7-2.データ
GeoTiff形式のDEMデータを予め用意します。
以下URLからCesium ion にサインインします。
※ アカウントの作成が必要になります。
サインイン後、「My Assets」タブを開き、「Add data」を押下します。

- 「Add files」を選択し、用意したDEMデータをアップロードします。

- 「My Assets」 に追加したデータが表示されるので、「ID」(assetId)を控えておきます。
7-3.3D都市モデル
3DTiles形式のデータを用意し、データサーバに格納します。
データサーバは、静的webコンテンツの公開が可能な構成としてください。
例)データサーバ本体にwebサーバをインストールする。またはwebサーバからファイルマウントでデータサーバを物理的に、またアクセス権限の面でも参照可能とする。
3DTilesのデータにはhttp(s)アクセスを行うため、データサーバ上での配置場所はwebサーバのドキュメントルートなど、http(s)アクセス可能な場所とします。
データのフォルダ構成は以下のようなものとします。

作成後のデータはlayerテーブルにカタログ定義を追加することで使用できます。
8 ランドマークデータ作成(任意)
本システムでは、下図のようにランドマークを地図上に表示することで、地番の選択等の3Dビューワ画面での操作性を向上させることができます。
本章では、ランドマーク表示に使用するCZMLファイルの作成・配置手順を説明します。
作成後のデータはlayerテーブルにカタログ定義を追加することで使用できます。

8-1.ランドマークのポイントデータの準備
※ 作業PC上にて行う
- QGISを起動します。

- ランドマークのポイントデータを作成し、QGISに取り込みます。

ポイントデータを作成する際、以下の2種類の属性フィールドを設定してください。
フィールド名 | 説明 |
---|---|
name | ランドマークの名称. ラベルとして表示. |
kind | ランドマークのカテゴリ. ランドマークの色分け表示に使用. |

ポイントデータをGeoJSON形式にエクスポートします。
レイヤを右クリックし、メニューから「エクスポート」>「新規ファイルに地物を保存」を押下します。

- 形式で「GeoJSON」を選択します。

「ファイル名」右の「…」から保存先とファイル名を指定します。
座標参照系で「EPSG:4326 –WGS84」を選択します。

- 「OK」を押下します。

8-2.Python3.x 実行環境の準備
※ 作業PC上にて行う
Python3.xの実行環境を準備します。
実行環境に指定はありませんが、本書では実行環境としてAnacondaを使用します。
以下からAnacondaをインストールします。
https://www.anaconda.com/products/distribution
Anacondaインストール手順の参考サイト:
インストールが完了するとスタートメニューに「Anaconda3(64-bit)」が追加されます。
「Anaconda3(64-bit)」> 「Anaconda Prompt(anaconda3)」を立ち上げます。

- Anaconda Promptが開きます。

- 以下コマンドを入力し仮想環境を作成します。
conda create -n calculate-env python=3.9
※landmark-envの箇所は任意の環境名
作成中に以下の通り確認されるので、「y」を入力します。
Proceed ([y]/n?) y
- 以下コマンドを入力し仮想環境を有効化します。
conda activate landmark-env
環境が以下のように(base)から(landmark-env)に切り替わっていることを確認します。
(base)C:\ >conda activate caluculate-env
(calculate-env)C:\
- 以下コマンドを入力し、外部ライブラリをインストールします。
pip install Pillow
8-3.generate_landmark_billboard.pyの設定変更
対象:erimane-dashboard-tool/SRC/util/landmark/generate_landmark_billboard.py
※ 作業PC上にて行う
作業ディレクトリを作成し、「generate_landmark_billboard.py」と、8-1で作成したGeoJSONファイルを格納します。
generate_landmark_billboard.pyをエディタで開きます。
generate_landmark_billboard.pyの12行目から20行目を編集します。
8-1で作成した属性フィールド「kind」の属性フィールド値の種類ごとに色分けを設定します。
色は0-255のRGB値で設定してください。
参考ページ:
https://www.lab-nemoto.jp/www/leaflet_edu/else/ColorMaker.html
カテゴリを増やす場合、color_define = [ ] の中に要素を追加・削除します。

※ color_defineを設定しなかった場合、デフォルトで以下の色に設定されます。

- generate_landmark_billboard.pyの189行目から204行目を編集します。

8-4.generate_landmark_billboard.pyの実行
対象:erimane-dashboard-tool/SRC/util/landmark/generate_landmark_billboard.py
※ 作業PC上にて行う
作業ディレクトリ上に「billboard_image」フォルダを作成します。
作業ディレクトリ上に「landmark.czml」が存在する場合、ほかの場所に退避させます。
作業ディレクトリが以下の構成になっていることを確認してください。
「billboard_image」フォルダ
landmark.geojson
generate_landmark_billbboard.py

- Anaconda promptを開き、作業ディレクトリに移動します。
cd 作業ディレクトリ
- 以下コマンドでpythonファイルを実行します。
python generate_landmark_billboard.py
- エラーが表示されることなく、以下の通り終了しているかどうか確認します。

- 作業ディレクトリにlandmark.czmlが生成されていることを確認します。

- landmark.czmlをテキストエディタやメモ帳で開き、中身が生成されていることを確認します。

- billboard_imageフォルダの下に画像が作成されていることを確認します。

- 画像を開いた時に以下のようにランドマーク名が表示できていればOKです。

8-5.生成ファイル一式の配置
ファイルサーバに「landmark」ディレクトリを作成します。
「landmark」ディレクトリに8-4で生成したlandmark.czmlとbillboard_imageフォルダを配置します。
9 イベント回遊情報CZMLファイル作成(任意)
イベント回遊情報を3D表示するためのczmlファイルを作成します。
作成後のデータはlayerテーブルにカタログ定義を追加することで使用できます。
9-1.イベント回遊情報データの準備
- イベント回遊情報データを用意します。データは始点と終点を直線で結ぶ2Dのポリライン形式とし、以下の属性情報を含む形とします。
フィールド名 | 型 | 説明 |
---|---|---|
ORIG_FID | 整数 | 一意のID. |
移動経路 | 文字列 | 始点と終点の名称. 3D都市モデルビューワで表示する地物名. |
合計 | 整数 | 合計人数 |
距離 | 浮動小数点 | 始点と終点の距離(m) |
- 用意したデータをQGISで取り込みます。

- データをGeoJSON形式でエクスポートします。「レイヤ > エクスポート > 新規ファイルに地物を保存」を選択してください。

- 「形式」をGeoJSON、「座標参照系(CRS)」を「EPSG:4326 – WGS84」を選択し、保存するファイル名を指定して「OK」を押下してください。

3 4と同様の手順でもう1つGeoJSONファイルを作成します。このとき、「座標参照系」は平面直角座標系としてください。
使用する平面直角座標系は地域により異なりますので、以下サイトを参照して設定してください。

9-2.export_czml_parabora.pyの実行
対象:erimane-dashboard-tool/SRC/util/czml/export_czml_parabora.py
9-1で作成した2つのGeoJSONファイルと、export_czml_parabora.pyを同じフォルダに配置します。
export_czml_parabora.pyをエディタで開きます。186~198行目で下表箇所を環境変数として設定しているので、環境やデータに合わせて設定を変更します。

変数名 | 内容 |
---|---|
GEOJSON_LONLAT_FILE_PATH | 9-1の手順4で出力した、緯度経度座標系のGeoJSONファイルのファイルパス |
GEOJSON_PLAIN_FILE_PATH | 9-1の手順5で出力した、平面直角座標系のGeoJSONファイルのファイルパス |
CZML_FILE_PATH | 出力するczmlファイルのファイルパス |
MAX_HEIGHT | 放物線の最大高さ(m) |
SEPARATE_COUNT | 放物線の分割回数 |
RAISE_HEIGHT | 3Dデータのかさ上げ高さ(m) ※ 3D都市モデルビューワ上で表示した際に地表面に埋もれる場合、適宜設定を見直してファイルを再生成してください。 |
DISPLAY_THRESHOLD | 表示閾値 ※ 「合計」フィールドが設定値以下のデータはczmlファイルに出力されません。 |
- Anaconda promptを開き、作業ディレクトリに移動します。

- 以下コマンドでpythonファイルを実行します。

- czmlファイルが生成されていることを確認し、テキストエディタで開き中身が生成できていることを確認します。

- 問題なく生成されていれば、3D都市モデルビューワに搭載した際、以下のように放物線状にデータが表示されます。

10 歩行空間ネットワークデータコスト値算出・追加
対象: erimane-dashboard-tool/SRC/util/cost/calculate_and_update_cost.py
経路探索で使用する歩行者ネットワークデータのコスト値を算出し、データに追加します。
10-1.calculate_and_update_cost.pyの設定変更
calculate_and_update_cost.pyをエディタで開きます。
227~231行目でデータベースへの接続情報を環境変数に設定しているので、使用するデータベースの情報に書き換えます。

環境変数名 | 内容 |
---|---|
RDS_HOST | データベースのホスト名 |
RDS_PORT | データベースのポート番号(文字列) |
RDS_DBNAME | データベース名 |
RDS_USER | データベースに接続するユーザ |
RDS_PASSWORD | データベースのパスワード |
10-2.calculate_and_update_cost.pyの実行
- 以下コマンドを入力し仮想環境を作成します。
conda create -n calculate-env python=3.9
※landmark-envの箇所は任意の環境名
作成中に以下の通り確認されるので、「y」を入力します。
Proceed([y]/n)? y
- 以下コマンドを入力し仮想環境を有効化します。
conda activate calculate-env
- 環境が以下のように(base)から(calculate-env)に切り替わっていることを確認します。
(base)C:\ >conda activate caluculate-env
(calculate-env)C:\
- 以下コマンドを入力し、外部ライブラリをインストールします。
pip install psycopg2
- 作業ディレクトリに移動します。
cd 作業ディレクトリ
- 以下コマンドでpythonファイルを実行します。
python calculate_and_update_cost.py
- 実行が開始されると、以下のようなメッセージがコンソール上に出力され続けます。
distance=10.2 wheel_chair_cost=13.333 elderly_cost=12.11 brail_cost=19.22
メッセージの表示が終了すると、実行完了になります。
※ リンクテーブルの全レコードに対して更新処理が実行されるため、処理に時間がかかります
link_3dテーブルを確認し、wheel_chair_cost、elderly_cost、brail_costのカラムにデータが追加できていることを確認してください。

11 GeoServerレイヤ作成
必要リソース:erimane-dashboard-tool/Settings/geoserver_settings/
必須レイヤの作成手順を以下に示します。独自データを使用する場合、SRID及び範囲短径の値は適宜置き換えてください。 基本的なgeoserverの使用方法については後述する共通手順11-1,11-2,11-3,11-4を必要に応じて参照してください。
workspaceを新規作成 Name及びName Space URIは下記を指定
workspace
workspaceにPostGISのストアを新規作成
各レイヤを "レイヤ>リソース新規追加>SQLビューを新規作成" から追加
エリアマネジメント活動のレイヤを下記の条件で作成
名称
activity_wfs
SQLステートメント
geoserver_settings/geoserver_view_activity_wfs.sqlの内容を貼り付け
SQLビューパラメータ
ユーザ名 デフォルト値 正規表現を検証 user_id -1 ^-?[0-9]+$
属性
ユーザ名 種類 SRID activity_id Integer parent_activity_id Integer activity_type Integer participants_count Long height Double geom Geometry 3857 activity_name String ※範囲短径は表示エリアに合わせて設定ください。
※タイルキャッシングはOFFにしてください。
サンプルデータ参考設定値 - ネイティブの範囲矩形
最小X 最小Y 最大X 最大Y 330,675.962 3,783,680.685 379,323.484 4,116,162.323 サンプルデータ参考設定値 - 緯度経度範囲矩形
最小X 最小Y 最大X 最大Y 139.16267798 34.1803683 139.64046902 37.18411287
イベント活動のレイヤを下記の条件で作成
名称
event_wfs
SQLステートメント
geoserver_settings/geoserver_view_event_wfs.sqlの内容を貼り付け
SQLビューパラメータ
ユーザ名 デフォルト値 正規表現を検証 user_id -1 ^-?[0-9]+$
属性
ユーザ名 種類 SRID activity_id Integer parent_activity_id Integer activity_type Integer participants_count Long height Double geom Geometry 3857 activity_name String ※範囲短径は表示エリアに合わせて設定ください。
※タイルキャッシングはOFFにしてください。
サンプルデータ参考設定値 - ネイティブの範囲矩形
最小X 最小Y 最大X 最大Y 330,675.962 3,783,680.685 379,323.484 4,116,162.323 サンプルデータ参考設定値 - 緯度経度範囲矩形
最小X 最小Y 最大X 最大Y 139.16267798 34.1803683 139.64046902 37.18411287
投稿レイヤのレイヤを下記の条件で作成
名称
post
SQLステートメント
geoserver_settings/geoserver_view_post.sqlの内容を貼り付け
SQLビューパラメータ
ユーザ名 デフォルト値 正規表現を検証 user_id -1 ^-?[0-9]+$
layer_id -1 ^-?[0-9]+$
label_item item_1 [^;']+
属性
ユーザ名 種類 SRID feature_id Integer layer_id Integer parent_feature_id Integer height Double geom Geometry 3857 item_name String ※範囲短径は表示エリアに合わせて設定ください。
※タイルキャッシングはOFFにしてください。
サンプルデータ参考設定値 - ネイティブの範囲矩形
最小X 最小Y 最大X 最大Y 330,675.962 3,783,680.685 379,323.484 4,116,162.323 サンプルデータ参考設定値 - 緯度経度範囲矩形
最小X 最小Y 最大X 最大Y 139.16267798 34.1803683 139.64046902 37.18411287
歩行者空間ネットワークのレイヤを下記の条件で作成
※事前にshapeからDBへの取り込みが必須のレイヤです。
名称
link_3d
SQLステートメント
geoserver_settings/geoserver_view_link_3d.sqlの内容を貼り付け
Styleは下記を指定
geoserver_settings/geoserver_style_link_3d.sld
※属性については「ジオメトリタイプとSRIDを推測」にチェックを入れて再読み込みを行ってください。
※範囲短径は表示エリアに合わせて設定ください。
※タイルキャッシングはOFFにしてください。
サンプルデータ参考設定値 - ネイティブの範囲矩形
最小X 最小Y 最大X 最大Y -5,941.1448450905655 -32,752.92953103013 -4,887.43269534964 -30,663.72306582538 サンプルデータ参考設定値 - 緯度経度範囲矩形
最小X 最小Y 最大X 最大Y 139.76766226670279 35.70476483450292 139.77932228682687 35.72360202983433
町丁目界(指定)のレイヤを下記の条件で作成
※事前にshapeからDBへの取り込みが必須のレイヤです。
名称
chochomokukai_part
SQLステートメント
geoserver_settings/geoserver_view_chochomokukai_part.sqlの内容を貼り付け
Styleは下記を指定
geoserver_settings/geoserver_style_chochomokukai_part.sld
SQLビューパラメータ
ユーザ名 デフォルト値 正規表現を検証 s_area -1 [^;']+
属性
ユーザ名 種類 SRID geom Geometry 6668 市区名 String エリアマネジメント団体 String ※サンプルデータの場合SRIDは「6668」となります。それ以外は環境に合わせて変更してください。
※範囲短径は表示エリアに合わせて設定ください。
※タイルキャッシングはOFFにしてください。
サンプルデータ参考設定値 - ネイティブの範囲矩形
最小X 最小Y 最大X 最大Y 139.76977952104212 35.70262371462337 139.7854396102138 35.72058421683766 サンプルデータ参考設定値 - 緯度経度範囲矩形
最小X 最小Y 最大X 最大Y 139.76977952104212 35.70262371462337 139.7854396102138 35.72058421683766
11-1.ワークスペースとストアを登録する
以下URLから、GeoServerにログインします。
初期IDとパスワードは admin/geoserver になります。
※ セキュリティの観点から、初期パスワードは初回ログイン後に変更してください。
http://[webサーバのIPアドレス]:8080/geoserver メニューバーから「ワークスペース」を選択します。
登録済みのワークスペース一覧が開きます。「新規ワークスペース追加」を選択します。
Name. ネームスペースURIに任意の名前を入力し、「保存」を押します。
※ サンプルデータを使用する場合「workspace」と入力してください。
メニューバーから「ストア」を選択します。
登録済みのストア一覧が開きます。「ストア新規追加」を押下します。
新規データソースから、「PostGIS」を選択します。
ワークスペースで、4で作成したワークスペースを選択し、任意のデータソース名を入力します。
パラメータ接続の部分には、第5章で作成したデータベースへの接続情報を入力します。入力が終わったら「保存」を押下します。
11-2.スタイルを登録する
※ 本章冒頭の表で「スタイルファイル」の記載があるレイヤについては記載の.sldファイルを使用して、手順8から実施してください。
まず、レイヤのスタイル(.sldファイル)を作成します。QGISを開きます。
PostgreSQLから、DBサーバに接続します。 ※ 接続の作成手順は第6章を参照してください。
レイヤを作成するデータをドラッグアンドドロップで地図上に表示します。
追加したレイヤを右クリックし、メニューからプロパティを開きます。
スタイルを設定します。
スタイルの設定方法は以下を参考にしてください。
https://docs.qgis.org/3.16/ja/docs/user_manual/style_library/style_manager.html
スタイル設定後、レイヤを右クリックし、「エクスポート」>「QGISレイヤスタイルファイルとして保存」を選択します。
「SLDスタイルファイル」を選択し、ファイルを保存する場所を選択します。
選択後、「OK」でファイルを出力します。
続いて出力したSLDファイルを、スタイルとしてGeoServerに登録します。
メニューバーから「スタイル」を選択します。
登録済みのスタイル一覧が開きます。「新規スタイル追加」を押下します。
ユーザ名を入力します。名前は任意ですが、判別しやすいようにスタイルファイルファイルの名前としておきます。 ワークスペースは、11-1で作成したワークスペースを選択します。
「ファイルを選択」を押下し、フォルダからアップロードするスタイル(.sld)ファイルを選択します。
「アップロード」をクリックします。
アップロードされるsldファイルの中身が表示されるので、「検証」を押下して、「保存」を押下します。
スタイルが登録されます。
11-3.レイヤを作成する(ビューの編集が必要な場合)
メニューバーから「レイヤ」を選択します。
登録済みのレイヤ一覧が表示されます。「リソース新規追加」を押下します。
レイヤ追加元で、11-1で作成したストアを選択します。
データベースに登録済みのテーブルが一覧表示されます。 「SQLビューを新規作成」を選択します。
「名称を表示」にレイヤ名を入力します。 「SQLステートメント」にSQLファイルの中身を貼り付けます。
コメントを参照して内容を編集してください。
コメント箇所は削除して貼り付けてください。
「SQLからパラメータを推測」を押下します。SQLの中に「%変数名%」といった箇所を当て込んでおくと、該当箇所をクエリパラメータとして指定できるようになります。設定がある場合以下のようにパラメータが一覧表示されます。
必要であればデフォルト値を設定し、正規表現を修正します。
「ジオメトリタイプトSRIDを推測」にチェックを入れた状態で「属性」の「再読み込み」を押下します。 読み込むと、属性が一覧表示されます。ジオメトリの種類とSRIDがセットされていない場合、ここで設定しなおします。
「保存」を押下します。
「レイヤ編集」に遷移します。下の方に遷移して、「範囲矩形」の欄を確認します。
「ネイティブの範囲矩形」で「データを元に算出」を押下し、「緯度経度範囲矩形」で「ネイティブの範囲をもとに算出」を押下します。
以下の通り値が出力されます。 出力された値は、レイヤの描画範囲になります。
※ クエリによる表示レイヤの絞り込みを行っている場合や、エリアマネジメント・イベント活動情報など新規データの登録が行われるレイヤの場合は自動算出では適切な範囲矩形が設定されません。
前者の場合、全件表示用レイヤを作成し、そちらで設定した範囲矩形をコピーして貼り付ける、後者の場合データの登録が想定される範囲で設定、もしくは「Compute from SRS bounds」(座標系の範囲全域を設定)を選択などの方法を取り、適切な範囲矩形を設定してください。
一度上にスクロールし、タブから「公開」を選択します。
タブが切り替わります。「WMS設定」で、「デフォルトスタイル」を選択します。スタイル一覧から、設定したいスタイルを選択します。
タブを再び切り替えて、「タイルキャッシング」を開きます。
「このレイヤーのキャッシュ済みレイヤーを作成」と「このレイヤのタイルキャッシングを有効化」のチェックを外します。
「保存」を押下します。レイヤが登録されます。
登録結果を確認します。メニューバーから「レイヤプレビュー」を選択します。
作成済みのレイヤ一覧が表示されます。作成したレイヤの行の「OpenLayers」を選択します。
別タブが開き、レイヤのプレビューが確認できます。
11-4.レイヤを作成する(ビューの編集が不要な場合)
メニューバーから「レイヤ」を選択し、続いて「リソース新規追加」を押下します。
レイヤ追加元で、11-1で追加したデータソースを選択します。
データベースに登録済みのテーブル一覧が表示されます。
レイヤを作成する判定レイヤのテーブルの行の「公開」または「再公開」を押下します。
レイヤ編集画面が開きます。
「データ」タブで範囲矩形を編集します。
「ネイティブの範囲矩形」で、「データを元に算出」を押下し、続いて「緯度経度範囲矩形」の「ネイティブの範囲を元に算出」を押下します。
「公開」タブに切り替えて、「WMS設定」のデフォルトスタイルの11-1で登録したスタイルを選択します。
「タイルキャッシング」タブに切り替えて、「このレイヤーのキャッシュ済みレイヤーを作成」と「このレイヤのタイルキャッシングを有効化」のチェックを外します。
「保存」を押下します。
11-5.特記事項
■ レイヤグループについて
複数のデータソースを1つのレイヤにまとめて表示したい場合、以下の手順でレイヤグループを作成します。
GeoServerのサイドメニューバーから「レイヤグループ」を選択します。
「レイヤグループ新規追加」を押下します。
通常のレイヤと同様に設定を行います。
「レイヤ」でレイヤの追加や表示順の設定を行います。
保存でレイヤを保存します。通常のレイヤと同様に利用可能です。
■ レイヤの3D表示について
カタログ定義内においてczmlTemplateプロパティを使用することで3D都市モデルビューワ上で3D表示が行えます。(本システムではlayerテーブルで各カタログ定義を設定します。)
czmlの属性設定内容は下記を参照してください。
https://github.com/AnalyticalGraphicsInc/czml-writer/wiki/CZML-Guide
※ レイヤの配信方式はWFSとします。
WFSの表示設定は下記を参照してください。
https://docs.terria.io/guide/connecting-to-data/catalog-type-details/wfs/
以下に設定例を記載します。
例1) ビルボード表示
アイコン画像を使用して3D表示します。
表示イメージ
設定例
※ 元画像を用意してサーバに配置の上、imageで参照パスを設定してください。
"czmlTemplate": { "billboard": { "eyeOffset": { "cartesian": [ 0, 0, 0 ] }, "horizontalOrigin": "CENTER", "image": " /resource/legends/marker_hinan.png", "scale": 0.5, "heightReference": "RELATIVE_TO_GROUND", "pixelOffset": { "cartesian2": [ 0, 0 ] }, "show": true, "verticalOrigin": "BOTTOM", "sizeInMeters": true }, "heightOffset": 100 }
例2) シリンダー表示
表示イメージ
設定例
※ referenceで表示サイズの設定に使用するパラメータ名を指定してください。
"czmlTemplate": { "ellipse": { "semiMinorAxis": 10.0, "semiMajorAxis": 10.0, "extrudedHeight": { "number": 10, "reference": "#properties.合計" }, "height": 40.0, "numberOfVerticalLines": 100, "heightReference": "RELATIVE_TO_GROUND", "material": { "solidColor": { "color": { "rgba": [ 255, 0, 0, 100 ] } } }, "outline": true, "outlineColor": { "rgba": [ 255, 0, 0, 0 ] } } } },
12 アプリケーションデプロイ(Spring Boot)
対象プロジェクトフォルダ: erimane-dashboard-tool/SRC/api
確認済みサーバ環境:Ubuntu 22.04.1 LTS
確認済み作業PC環境 :Windows 10 Pro
12-1.必要ツールのインストール
※ 作業PC上にて行う
Spring Tool Suite 4のインストールを行ってください。
※ インストール方法の参考サイト:
lombokのインストールを行ってください。
https://projectlombok.org/download
※ インストール方法の参考サイト:
12-2.warの作成準備
※ 作業PC上にて行う
適当な場所にworkspaceを作成してプロジェクト(erimane-dashboard-tool/SRC/api)を配置してください。
Spring Tool Suite 4を起動して、1で作成したworkspaceをlaunchしてください。
プロジェクトのインポートを行います。
Import projects .. > Maven > Existing Maven Projectsを選択してください。
Root Directoryにworkspace内に配置したproject folderを指定します。
Mavenの更新を行います。
プロジェクト右クリック> Maven > Update Projectを選択してください。
更新画面でOKを選択すると、Mavenの更新が始まります。
src/main/resources/application.propertiesの編集を行ってください。
プロパティ一覧と、編集を行う箇所は第13章を参照してください。
変更が必要な設定箇所は以下になります。
データベースとの接続情報
CORSの許可設定(外部からアクセスするフロント側のURL)
データの座標系
パス関係
※ application.propertiesが文字化けする場合は、application.propertiesを右クリック>properties>Resource>Text file encodingをUTF-8へ変更してください。
12-3.warの作成
※ 作業PC上にて行う
プロジェクト右クリック> Run As > Maven buildを選択してください。
Goalsに「package」を入力し、Runボタンを押下します。
targetフォルダに3dviewapi-0.0.1-SNAPSHOT.warが作られていることを確認してください。
12-4.warのデプロイ
Webサーバの適当な場所に3dviewapi-0.0.1-SNAPSHOT.warをアップロードしてください。
ここでは /home/upload/ に転送する事としています。
tomcatに配備します。
※ 配備の際、3dviewapi-0.0.1-SNAPSHOT.warから3dviewapi.warに名前を変更してください。
cd /home/upload/ mv 3dviewapi-0.0.1-SNAPSHOT.war /opt/tomcat/webapps/3dviewapi.war
※ 配備後にapplication.propertiesを編集する場合は下記のように行います。編集後、保存して再起動を行ってください。
vi /opt/tomcat/webapps/3dviewapi/WEB-INF/classes/application.properties systemctl restart tomcat
最後に、application.propertiesで指定する添付ファイルの格納先ディレクトリを作成してください。
mkdir /opt/tomcat/attatchment chown tomcat /opt/tomcat/attatchment
12-5.デプロイ後の確認
http://<サーバマシンのIPアドレス>/api/v2/api-docs にアクセスします。
API定義のjsonが画面上に表示されることを確認してください。
※API定義をOFFにしたい場合
src/main/java/view3d/config/WebMvcConfig.javaでswagger関連の設定が可能です。
OFFにする場合はenableメソッドを追加する事で制御が行えます。
@Bean public Docket api() { return new Docket(DocumentationType.SWAGGER_2). useDefaultResponseMessages(false) .apiInfo(apiInfo()).enable(false)...
13 アプリケーション設定ファイル更新(Spring Boot)
以下にアプリケーション設定ファイルの設定一覧を記載します。
環境やアプリケーションの用途に応じて設定を変更してください。
※ 「環境設定」列に○がついている項目は、環境に応じた設定が必須です。
13-1.application.properties
プロパティ名 | 環境設定 | 設定値 | 内容 | |
---|---|---|---|---|
必須 | 任意 | |||
spring.jpa.database | POSTGRESQL | データベース種類 | ||
spring.datasource.url | ○ | jdbc:postgresql://[DBサーバのIPアドレス]:[DBサーバのポート番号]/[データベース名] | データベース接続情報 | |
spring.datasource.username | ○ | devps | データベースアクセスに使用するユーザ名 | |
spring.datasource.password | ○ | 省略 | データベースアクセスに使用するパスワード | |
app.cors.allowed.origins | ○ | http://localhost,https://example.com | APIの使用を許可するURL(カンマ区切り) | |
app.filter.cookie.expire | ○ | 2592000 | Cookieの有効時間(秒) | |
app.jwt.token.secretkey | ○ | secret | JWTの署名の作成、検証で使用する秘密鍵 | |
app.filter.admin | ○ | 省略 | 管理者のみ許可するAPIパス ※ 複数指定時、末尾に「\」が必須(最終末尾は不要) |
|
app.filter.unable | ○ | 省略 | アクセス不可対象にするAPIパス ※ 複数指定時、末尾に「\」が必須(最終末尾は不要) |
|
app.file.rootpath | ○ | /opt/tomcat/attatchment/ | エリアマネジメント・イベント活動及び投稿レイヤの添付写真格納先 | |
app.billboard.activity.icons.rootpath | ○ | /opt/tomcat/icons/ | エリアマネジメント・イベント活動billboardアイコン画像参照先 | |
app.billboard.icons.rootpath | ○ | /opt/tomcat/icons/ | 投稿レイヤbillboardアイコン画像参照先 | |
app.billboard.icons.activity.settings | ○ | 省略 | エリアマネジメント・イベント活動のbillboardアイコン設定(json形式) | |
app.api.rootpath | ○ | /api/activity/attachments/ | エリアマネジメント・イベント活動 添付ファイルAPIのroot相対パス(URL形式可) ※ フロント側での参照時に使用 |
|
app.postLayer.rootpath | ○ | /api/layers/attachments/ | 投稿レイヤ 添付ファイルAPIのroot相対パス(URL形式可) ※ フロント側での参照時に使用 |
|
app.activity.view.epsg | 4326 | 活動登録 フロント側のepsg |
||
app.activity.data.epsg | 3857 | 活動登録 postgres側のepsg |
||
app.district.view.epsg | 4326 | 町丁目 フロント側のepsg |
||
app.route.view.epsg | 4326 | 経路探索 フロント側のepsg |
||
app.route.data.epsg | ○ | 6677 | 経路探索 postgres側のepsg |
|
app.tatemono.flag | ○ | false | エリアマネジメント・イベント活動及び投稿レイヤの登録地点に建物モデルの高さ情報を付与する場合,有効化 |
|
app.tatemono.view.epsg | 4326 | 3D建物モデル フロント側のepsg |
||
app.tatemono.data.epsg | 6697 | 3D建物モデル poetgres側のepsg |
||
app.tatemono.table | tatemono_uc_erimane_seika | 3D建物モデル テーブル名 |
||
app.tatemono.height.column | measured_h | 3D建物モデル 高さデータ カラム名 |
||
app.tatemono.geom.column | measured_h | 3D建物モデル geometry カラム名 |
||
app.tatemono.default.height | 〇 | 100 | エリアマネジメント・イベント活動及び投稿レイヤの登録地点デフォルト高さ(m) |
|
spring.servlet.multipart.max-file-size | ○ | 50MB | ファイル1つの最大サイズ | |
spring.servlet.multipart.max-request-size | ○ | 100MB | 複数ファイル全体の最大サイズ | |
app.custom.log.flag | ○ | true | ログインログの有効有無 ※ ログインログは利用者のアクセス履歴を記録するために使用します。目的に応じて設定を変更してください。 |
|
app.csv.log.path.login | ○ | /opt/tomcat/logs/login_log.csv | ログインログの出力先 ※ csv形式のみ |
|
app.csv.log.header.login | 省略 | ログインログのheader ※ 変更不可 |
||
logging.file.name | ○ | /opt/tomcat/logs/3dviewapi.log | アプリケーションログの出力先 | |
logging.level.org.springframework.web | ○ | アプリケーションログ出力レベル設定 | INFO | |
logging.level.view3d | ○ | アプリケーションログ出力レベル設定 | DEBUG |
14 アプリケーションデプロイ(3DViewer)
対象プロジェクトフォルダ: erimane-dashboard-tool/SRC/3dview
確認済みサーバ環境:Ubuntu 22.04.1 LTS
確認済み作業PC環境 :Windows 10 Pro
14-1.必要ツールのインストール ※ 作業PC上にて行う
Node.js v10.0 以降、npm v6.0 以降のインストールを行ってください。
コマンドでyarn v1.19.0 以降のインストールを行ってください。
npm install -g yarn
Git Bashのインストール
14-2.nodejs依存モジュールのインストール
※ 作業PC上にて行う
Git Bashからプロジェクトフォルダ直下に移動してください。
cd erimane-dashboard-tool/SRC/3dview
Git Bashからnodejs依存モジュールのインストールを行ってください。
export NODE_OPTIONS=--max_old_space_size=4096 yarn
14-3.設定ファイルの更新
※ 作業PC上にて行う
第15章の手順で設定ファイルを更新します。
※ 第15章15-2はビルド後も再ビルドすることなく変更が可能です。
14-4.PLATEAU VIEWのビルド
※ 作業PC上にて行う
プロジェクトフォルダ直下に移動して、ビルドを行います。
cd erimane-dashboard-tool/SRC/3dview yarn gulp release
プロジェクトフォルダ直下にある
devserverconfig.jsonをproductionserverconfig.jsonに名前を変更してください。変更済みの場合は不要です。
14-5.PLATEAU VIEWのデプロイ
※ 作業PC上にて行う
デプロイ先の作成を行います。フォルダ名の指定は自由です。
mkdir /opt/PLATEAU_VIEW
適当な場所にプロジェクト直下のwwwroot,node_modules,ecosystem.config.js,ecosystem-production.config.js,productionserverconfig.jsonをアップロードしてください。
wwwroot,node_modules,ecosystem.config.js,ecosystem-production.config.js,productionserverconfig.jsonをデプロイ先直下へ配置してください。
cd /home/upload/ mv wwwroot /opt/PLATEAU_VIEW/ mv node_modules /opt/PLATEAU_VIEW/ mv ecosystem.config.js /opt/PLATEAU_VIEW/ mv ecosystem-production.config.js /opt/PLATEAU_VIEW/ mv productionserverconfig.json /opt/PLATEAU_VIEW/
デプロイ先に移動し、PLATEAU VIEWを起動します。
cd /opt/PLATEAU_VIEW ./node_modules/.bin/pm2 start ecosystem-production.config.js --update-env --env production
最後にapi側のaoolication.propertiesで設定されているアイコン格納パスをtomcatから参照できるように設定します。
ln -s /opt/PLATEAU_VIEW/wwwroot/sample /opt/tomcat/icons
14-6.デプロイ後の確認
http://<サーバマシンのIPアドレス>/plateau/ にアクセスします。
3D都市モデルビューワ画面が表示されればここまでの一連の設定が完了しています。
15 アプリケーション設定ファイル更新(3DViewer)
3DViewerでは、以下3種類の設定ファイルを使用します。
搭載するデータに合わせて適切に設定を行ってください。
ファイル名 | パス | 内容 |
---|---|---|
config.json | /wwwroot | ・初期ファイルとして参照するファイルの設定 ・アプリケーション名 ・ヘルプメニュー内容 |
erimane_init.json (Initファイル) |
/wwwroot/init | ・初期表示位置 ・背景地図 |
customconfig.json | /packages/terriajs | ・GeoServer、APIのURL ・連携設定等 |
15-1.config.json
本書ではカスタマイズが必要な箇所のみ記載します。
詳細なカスタマイズ手順はTerria公式サイトの以下ページを参照してください。
https://docs.terria.io/guide/customizing/client-side-config/
プロパティ名 | 初期値 | 内容 |
---|---|---|
initializationUrls | erimane_init | ・初期ファイルとして参照するInitファイル名。 Initファイルを変える場合、記載を変更。 |
15-2.erimane_init.json
本書ではカスタマイズが必要な箇所のみ記載します。
詳細なカスタマイズ手順はTerria公式サイトの以下ページを参照してください。
https://docs.terria.io/guide/customizing/initialization-files/
https://docs.terria.io/guide/connecting-to-data/catalog-items/
主なプロパティ一覧は下記になります。
プロパティ名 | 内容 |
---|---|
homeCamera | ホームボタン押下時に表示する範囲 |
initialCamera | 初期表示範囲とカメラ位置 |
baseMaps | ベースマップ(航空写真等の背景図) Items:選択セット一覧を定義 enabledBaseMaps:利用可能背景図一覧 |
catalog | レイヤ一覧 ※ DBからレイヤ定義を取得する為、使用不可 |
workbench | 初期表示するレイヤ一覧
※ DBからレイヤ定義を取得する為、使用不可 |
以下に、各カスタマイズ箇所の設定手順を記載します。
カメラ位置
homeCameraと inititalCameraを修正し、表示させたい位置に合わせます。

航空写真
baseMapsのitemsを編集します。

背景地図を追加した場合、
baseMapsのenabledBaseMapsを編集します。

15-3.customconfig.json
以下プロパティ一覧です。
環境に合わせて変更してください。
プロ パティ① |
プロ パティ② |
初期値 | 内容 |
---|---|---|---|
config | plateauPath | /plateau | PLATEAU VIEWへのルートパス ※ 末尾スラッシュは省略 |
apiUrl | /api | APIのルートパス(URL形式可)
※ 末尾スラッシュは省略 |
|
geoServerUrl | /geoserver | GeoServerのルートパス(URL形式可)
※ 末尾スラッシュは省略 |
|
geoServerWorkSpaceName | workspace | geoserverのworkspace名を指定 | |
defaultShowWorkbench | false | 初期表示の際のworkbenchの表示有無 | |
defaultThemeId | 1 | 初期表示するテーマのthemeId | |
attachmentFileUrlForActivity | /api/activity/attachments | エリアマネジメント・イベント活動 添付ファイルAPIのroot相対パス(URL形式可) | |
attachmentFileUrlForPostLayer | /api/layers/attachments | 投稿レイヤ 添付ファイルAPIのroot相対パス(URL形式可) | |
billboardUrlForPostLayer | /api/layers/billboard/iconImage | 投稿レイヤ billboard画像取得APIのroot相対パス(URL形式可) | |
billboardUrlForActivity | /api/activity/billboard/iconImage | エリアマネジメント・イベント活動 billboard画像取得APIのroot相対パス(URL形式可) | |
layerTypeNamesForRouteSearch | workspace:link_3d | GeoServerでセットアップ済みの経路探索のレイヤ名 | |
layerTypeNamesForMachiChomeSearch | workspace:chochomokukai_part | GeoServerでセットアップ済みの町丁目検索のレイヤ名 | |
layout | leftInitialWidth | 4 | 管理者 グラフリスト一覧画面で使用する初期搭載 グリッド数(幅) |
leftInitialHeight | 4 | 管理者 グラフリスト一覧画面で使用する初期搭載 グリッド数(高さ) | |
rightInitialWidth | 4 | 管理者 グラフリスト一覧画面で使用する初期搭載 グリッド数(幅) | |
rightInitialHeight | 4 | 管理者 グラフリスト一覧画面で使用する初期搭載 グリッド数(高さ) | |
layerUniqueIdCorrespondenceTable | activity | //データセット/地域・エリマネ活動可視化/エリマネ活動結果 | カタログ定義で設定済みのエリアマネジメント活動レイヤのuniqueIdを指定 |
event | //データセット/賑わい創出/イベント活動結果 | カタログ定義で設定済みのイベント活動レイヤのuniqueIdを指定 | |
postLayer(N) | //データセット/投稿レイヤ/投稿レイヤ(N) | カタログ定義で設定済みの投稿レイヤのuniqueIdを指定 | |
statisticsItemsInformation | value | 統計項目システムID | 変更不可 |
displayName | 統計項目表示名 | 管理者 地域統計・回遊性情報管理画面で使用する表示名 | |
postLayerSelectOption | layerId | Integer | 選択項目とする投稿レイヤのlayerIdを指定 |
itemId | Integer | 選択項目とする投稿レイヤのitemIdを指定 | |
option | String | カンマ区切りで固定選択項目値を列挙 | |
featureIdAliasName | - | 属性ID | layer_source_fieldテーブルで設定済みのfeature_idのエイリアス名 ※基本変更不要 |
activityIdAliasName | - | 活動ID | layer_source_fieldテーブルで設定済みのactivity_idのエイリアス名 ※基本変更不要 |
attributeDisplayExclusionList | - | Array | 属性パネルで非表示とする属性名を設定 |
attributeDisplayExclusionListForLayerName | - | Array | 属性パネルを非表示とするレイヤのuniqueIdを設定 |
postLayerIconCorrespondenceTable | - | Object | 管理画面 テーマ・レイヤ公開管理画面で使用 keyを表示名,valueをパスとしたObject形式で定義 |