Search Results for

    Show / Hide Table of Contents

    稼動環境構築手順書

    1 本書について

    本書では、開発許可申請管理システム(以下本システム)の稼働環境を構築する手順について記載します。

    2 システム構成

    本システム稼働環境の構成は以下になります。

    Web/APサーバとSMTPサーバ/DBサーバ/ファイルサーバは同一のサーバでも稼働可能です。

    以下では、上記稼働環境の前提で稼働環境構築手順を記載します。

    なおSMTPサーバの構築については、本書の記載範囲外とします。

    以下、本システムで利用するOS,SW,MWの一覧です。

    # サーバ 大機能 ライセンス 説明
    1 Web/APサーバ CentOS Stream 9 GNU General Public License Web/APサーバを稼働させるOS
    2 Apache Apache License 2.0 Webアプリで配信を行うためのWebサーバ
    3 React.js MIT License JavaScriptのフレームワーク内で機能するUIを構築するためのライブラリ
    4 PLATEAU VIEW Apache License 2.0 3D都市モデルビューワ
    5 Terria Apache License 2.0

    UI(ユーザーインターフェイス)の提供及びUIを介してCesium

    の描画機能を制御するためのライブラリ

    6 Cesium Apache License 2.0 3Dビューワ上にデータを描画するためのライブラリ
    7 Leaflet 2-clause BSD License 2Dビューワ上にデータを描画するためのライブラリ
    8 marker.js marker.js 2 Linkware License 画像データへの図形や文字情報の書き込みをブラウザ上で行うライブラリ
    9 tiff.js tiff.js License Tiffファイルをブラウザで閲覧・編集可能なPNG形式に変換するライブラリ
    10 PDF.js Apache License 2.0 PDFファイルをプレビューするライブラリ
    11 PDFBox Apache License 2.0 PDF文章を扱うライブラリで、PDFファイルの画像ファイル変換に利用
    12 Node.js MIT License 3Dビューワの実行環境
    13 Java1.8 GPL v2 with Classpath Exception GeoServer、カスタムアプリを稼働させるためのプラットフォーム
    14 Tomcat Apache License 2.0 GeoServer、カスタムアプリを実行するためのJava Servletコンテナ
    15 GeoServer GNU GENERAL PUBLIC LICENSE Version 2 各種データをWMS及びWFSなどで配信するためのGISサーバ
    16 Apache POI Apache License 2.0 帳票出力にて、Excel出力を行うライブラリ
    17 Spring boot Apache License 2.0 Javaで利用可能なWebアプリのフレームワーク
    18 Selenium WebDriver Apache License 2.0 仮想ブラウザでの操作をシミュレートするためのライブラリ
    19 DBサーバ PostgresSQL PostgreSQL License 各種配信するデータを格納するデータベース
    20 PostGIS GNU General Public License PostgreSQLで位置情報を扱うことを可能とする拡張機能
    21 ファイルサーバ 3DTile等配信データ データベース以外で配信する3Dデータ等

    稼働環境は以下になります。

    【クライアント環境】

    • 動作環境:Windows10または11、Core i3以上、メモリ 4GB以上

    • 必要なソフトウェア:Edge(最新版、IEモードは検証しない)

    • ネットワーク環境:必須(10Mbps以上、高速な回線を推奨)

    【WEB/APサーバ環境】

    • 動作環境:CentOS Stream 9

    • 必要なソフトウェア:

      • Apache Version 2.4

      • Java Version 1.8.0_392 (OpenJDK 64-Bit Server VM)

      • Apache Tomcat Version 9.0.65

      • GeoServer Version 2.21.5

    【DBサーバ環境】

    • PostgreSQL Version 14.3

    • PostGIS Version 3.1

    3 準備物一覧

    以下、本システムを構築する際に必要となる準備物一覧になります。

    アプリケーションとデータはGitHubリポジトリより取得してください。

    GitHubリポジトリのフォルダ構成は下図の通りです。

    【稼働環境】

    CentOS Stream 9

    【セットアップ環境】

    • 稼働環境と80,8080,5432ポートでTCP通信可能であること

    • Windows10または11

    【アプリケーション】

    • 申請画面(3DViewer)ソースコード(/SRC/3dview)

    • 申請API(Springboot)ソースコード(/SRC/api)

    • PDFビューワ(PDF.js)スタイルシート(/SRC/pdfjs)

    • シミュレータAPI(Springboot)ソースコード(/SRC/simulator_api)

    【環境構築ファイル】

    (/Settings/environment_settings 以下一式)

    • テーブル作成(/create_table.sql)

    • テーブルシーケンス作成(/sequence.sql)

    • マスタデータ作成(/create_master_data_sheet.xlsx)

    • ランドマーク表示作成ツール(/generate_landmark_billboard.py)

    • レイヤスタイルファイル(/layer_style_xxxxxx.sld)

    • レイヤSQLビュー定義ファイル(/layer_sql_xxxxxx.txt)

    ※ 道路判定で使用するレイヤスタイルファイルとレイヤSQLビュー定義ファイルは /road_layers 以下に格納されています。

    【サンプルデータ】

    (/SampleData 以下一式)

    • 大字(/f_district 以下一式)

    • 地番(/f_lot_number 以下一式)

    • 判定レイヤ(/judgement_layers 以下一式)

    • 道路判定関連レイヤ(/road_layers 以下一式)

    • ランドマーク(/landmark 以下一式)

    • マスタデータ作成(/create_master_data_sheet.xlsx)

    【セットアップ用SW】

    • GISソフト(本書ではQGISを利用)

      https://qgis.org/ja/site/forusers/download.html

    • SQLクライアントソフト(本書ではA5:SQL Mk-2を利用)

      https://a5m2.mmatsubara.com/

    ※そのほか構築の際に必須となるSWのインストールは手順の中に含めています。

    4 稼働環境構築(事前準備)

    アプリケーション及びデータベースの実行に必要なサーバ環境をご準備ください。

    本書ではCentOS Stream 9で行います。

    ※セキュリティに関する設定は含まれておりませんので、公開前には必ず適切なセキュリティ対策を講じることを強く推奨します。

    5 稼働環境構築(MW,SW)

    検証済みサーバ環境:CentOS Stream 9

    構築対象;Web/APサーバ DBサーバ

    5-1.Apache2.4のインストール

    1. Apache httpd 2.4 をインストールします。

      sudo dnf install httpd
      
    2. インストール後バージョンを確認します。

      httpd -version
      
    3. 自動起動の設定を行います。

      sudo systemctl enable httpd.service
      

      ※起動

      「http://<サーバマシンのIPアドレス>/」でアクセスできることを確認してください。

      sudo systemctl start httpd
      

      ※再起動

      sudo systemctl restart httpd
      

      ※停止

      sudo systemctl stop httpd
      

      ※必要な場合、ファイアーウォールの設定を行います。

      sudo firewall-cmd --zone=public --add-service=http --permanent
      
      sudo firewall-cmd --zone=public --add-service=https --permanent
      
      sudo firewall-cmd --reload
      

    5-2.OpenJDK java 1.8 のインストール

    1. java-1.8.0-openjdkをインストールします。

      sudo dnf install java-1.8.0-openjdk
      
    2. インストール後バージョンを確認します。

      java -version
      
    3. Java Pathの確認

      dirname $(readlink $(readlink $(which java)))
      
    4. 環境変数を設定します。

      sudo vi /etc/profile
      

      最終行に以下の内容を追記し保存します。(/usr/lib/jvm以降は適宜バージョンを確認)

      export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b09-4.el9.x86_64
      
      export PATH=$PATH:$JAVA_HOME/bin
      
      export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
      
    5. 環境変数の設定を反映します。

      source /etc/profile
      
    6. 環境変数の値を出力します。

      echo $JAVA_HOME
      
    7. デフォルトのJDK設定を確認します。

      alternatives --config java
      

    5-3.Tomcat 9のインストール

    1. ユーザーを作成します。

      sudo useradd -r -m -U -d /opt/tomcat -s /bin/false tomcat
      
    2. homeなどに移動し、tomcatのダウンロードを行います。(適宜tomcatのversionを確認)

      cd /home/
      
      sudo curl -O http://ftp.yz.yamagata-u.ac.jp/pub/network/apache/tomcat/tomcat-9/v9.0.97/bin/apache-tomcat-9.0.97.tar.gz
      
    3. 展開及びファイル移動を行います。

      sudo tar xvzf apache-tomcat-9.0.97.tar.gz -C /opt
      
      sudo ln -s /opt/apache-tomcat-9.0.97 /opt/apache-tomcat
      
      sudo chown -R tomcat. /opt/apache-tomcat-9.0.97
      
    4. パスを通します。

      echo "export CATALINA_HOME=/opt/apache-tomcat" | sudo tee /etc/profile.d/tomcat.sh
      
      source /etc/profile
      
    5. サービス定義ファイルを作成します。

      sudo vi /etc/systemd/system/tomcat.service
      

      以下全て入力して保存します。

      [Unit]
      Description=Apache Tomcat 9
      After=network.target
      
      [Service]
      User=tomcat
      Group=tomcat
      Type=forking
      
      ExecStart=/opt/apache-tomcat/bin/startup.sh
      ExecStop=/opt/apache-tomcat/bin/shutdown.sh
      ExecReload=/opt/apache-tomcat/bin/shutdown.sh && /opt/apache-tomcat/bin/startup.sh
      
      [Install]
      WantedBy=multi-user.target
      
    6. 権限を付与します。

      sudo chmod 755 /etc/systemd/system/tomcat.service
      
    7. 自動起動の設定を行います。

      sudo systemctl enable tomcat
      
    8. タイムゾーンの設定とHttpHeaderサイズの設定を行います。

      環境設定ファイルを新規で作成してください。

      sudo vi /opt/apache-tomcat/bin/setenv.sh
      

      下記を入力後、保存してください。内容は必要に応じて変更してください。

      #!/bin/sh
      export JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom"
      export CATALINA_OPTS="-server -Xmx1536m -Xms512m -XX:MaxMetaspaceSize=1536m -DALLOW_ENV_PARAMETRIZATION=true -Duser.timezone=Asia/Tokyo"
      export CATALINA_HOME=/opt/apache-tomcat
      export CATALINA_BASE=/opt/apache-tomcat
      

      次にserver.xmlを編集します。

      sudo vi /opt/apache-tomcat/conf/server.xml
      

      下記をConnectorタグに追加後、保存してください。

      maxHttpHeaderSize="2097152"
      

      修正箇所

      <Connector port="8080" maxHttpHeaderSize="2097152" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443">
      

      設定を反映させるため、再起動します。

      sudo systemctl restart tomcat
      

      ※起動

      「http://<サーバマシンのIPアドレス>:8080/」でアクセスできることを確認してください。

      sudo systemctl start tomcat
      

      ※再起動

      sudo systemctl restart tomcat
      

      ※停止

      sudo systemctl stop tomcat
      

      ※必要な場合、ファイアーウォールの設定を行います。

      sudo firewall-cmd --permanent --add-port=8080/tcp
      sudo firewall-cmd --reload
      

    5-4.GeoServer2.21.5のインストール

    1. SOURCE FORGEで配信されているため、

      ブラウザから「https://geoserver.org/release/2.21.5/」にアクセス後、Web Archiveからwarのダウンロード及び解凍を行います。

    2. 解凍したwarをtomcatに配備します。

      cd "warが置いてある場所"
      
      sudo mv geoserver.war /opt/apache-tomcat/webapps/
      
    3. 展開後、「http://<サーバマシンのIPアドレス>:8080/geoserver/」でアクセスできることを確認してください。

    5-5.PostgreSQL14のインストール

    ※本書では、Web/APサーバとDBサーバを同一のサーバ上に構築する手順で記載しております。両サーバを別環境で構築する場合、本章の以下手順はDBサーバ上で実施してください。

    1. PostgreSQLのリポジトリRPMのインストールを行います。

      sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
      
    2. 組み込みPostgreSQLモジュールを無効化します。

      sudo dnf -qy module disable postgresql
      
    3. PostgreSQL 14をインストールします。

      sudo dnf install -y postgresql14 postgresql14-server
      
    4. manコマンドでマニュアル参照を行えるように設定します。

      sudo vi /etc/man_db.conf
      

      以下を追加して保存してください。

      MANDATORY_MANPATH /usr/pgsql-14/share/man/
      
    5. データベースの初期化(データベースクラスタの作成)を行います。

      sudo PGSETUP_INITDB_OPTIONS='--encoding=UTF-8 --no-locale' /usr/pgsql-14/bin/postgresql-14-setup initdb
      
    6. 自動起動の設定を行います。

      sudo systemctl enable --now postgresql-14
      

      ※起動

      sudo systemctl start postgresql-14
      

      ※停止

      sudo systemctl stop postgresql-14
      

      ※postgresユーザーへ切り替え

      sudo su - postgres
      

      ※終了

      exit
      

      ※PostgreSQL の接続

      psql
      

      ※終了

      exit
      

      ※必要な場合、ファイアーウォールの設定を行います。

      sudo firewall-cmd --add-service=postgresql --permanent
      sudo firewall-cmd --reload
      

      ※外部からPostgreSQL14への接続を許可する際は下記の設定を変更してください

      postgresql.confの修正

      sudo vi /var/lib/pgsql/14/data/postgresql.conf
      

      listen_addressesとportのコメントアウトを外す(セキュリティに留意して見直してください)

      listen_addresses = '*'
      
      port = 5432
      

      pg_hba.confの修正

      sudo vi /var/lib/pgsql/14/data/pg_hba.conf
      

      IPv4の「METHOD」を「password」にし、「ADDRESS」に許可するIPアドレスを指定(セキュリティに留意して見直してください)

    5-6.PostGIS3のインストール(※同環境にpostgresを入れる場合のみ)

    1. EPEL,crbリポジトリを有効にします。

      sudo dnf install -y epel-release
      sudo dnf config-manager --set-enabled crb
      
    2. PostGISをインストールします。

      sudo dnf install -y postgis31_14 postgis31_14-client
      

    5-7.DBの作成

    1. ロールの作成は必要に応じて行ってください。

      postgresユーザへ切り替え後、PostgreSQL に接続します。

      sudo su - postgres
      
      psql
      

      ロールを作成します。(queryは必要に応じて変更してください)

      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
      
    2. postgresユーザーへ切り替え後、DB作成前にテーブルスペース用のディレクトリを作成します。

      postgresユーザへ切り替えます。

      sudo su - postgres
      

      テーブルスペース用のディレクトリを作成します。

      mkdir /var/lib/pgsql/14/data/devps_tbs
      

      作成したディレクトリが一覧に表示されていることを確認してください。

      ls -l /var/lib/pgsql/14/data/
      
    3. テーブルスペースとデータベースの作成

      PostgreSQL に接続します。

      psql
      

      テーブルスペースを作成します。(queryは必要に応じて変更してください)

      CREATE TABLESPACE devps_tbs
      
      OWNER devps
      
      LOCATION '/var/lib/pgsql/14/data/devps_tbs';
      
      COMMENT ON TABLESPACE devps_tbs IS '稼働環境用テーブルスペース';
      
      GRANT CREATE ON TABLESPACE devps_tbs TO devps;
      
      

      作成したテーブルスペースが一覧に表示されていることを確認してください。

      \db
      

      データベースを作成します。(queryは必要に応じて変更してください)

      CREATE DATABASE devps_db
      
      WITH
      
      OWNER = devps
      
      TEMPLATE template0 
      
      ENCODING = 'UTF8'
      
      LC_COLLATE = 'ja_JP.UTF-8'
      
      LC_CTYPE = 'ja_JP.UTF-8'
      
      TABLESPACE = devps_tbs
      
      ALLOW_CONNECTIONS = true
      
      CONNECTION LIMIT = -1;
      
      COMMENT ON DATABASE devps_db IS '稼働環境用データベース';
      
      

      作成したデータベースが一覧に表示されていることを確認してください。

      \l
      

      PostgreSQLを切断

      \q
      

      postgresユーザをログアウト

      exit
      

    5-8.PostGISの有効化

    1. postgresユーザへ切り替え後、DB に接続します。

      sudo su - postgres
      
      psql -h localhost -p 5432 -U devps -d devps_db
      
    2. PostGISの有効化を行います。

      CREATE EXTENSION postgis;
      
    3. 正常に有効化されているかバージョン確認を行います。

      SELECT PostGIS_version();
      

    6 テーブル作成(PostgreSQL)

    前章で作成したデータベース上に、テーブルを作成します。

    本章はセットアップ環境からデータベースに接続できる前提になります。

    セットアップ環境でDBクライアントツールを立ち上げ、データベースに接続します。

    ※本書ではA5:SQL Mk-2を使用した手順を記載します。

    1. A5:SQL Mk-2を開き、サイドメニューの「データベース」を右クリックし、表示されるメニューから「データベースの追加と削除」をクリックします。

    2. 「追加」をクリックします。

    3. 「PostgreSQL(直接接続)」をクリックします。

    4. 前章で設定したデータベースの接続情報を入力し、「OK」をクリックします。

    5. サイドメニューの「データベース」の下に、登録したデータベースが表示されます。

    6. データベースの折り畳みボタンをクリックすると、以下のダイアログが表示されます。認証情報を入力し、「接続」を押下します。

    7. トップメニューバーから、「ファイル」「新規」をクリックします。

    8. 「SQL」を選択します。

    9. タブが新しく開きます。

      ※データベースに接続した状態の場合、タブ上部のデータベース名の欄がハイライトされます。

    10. /Settings/environment_settings/create_table.sqlを取得します。テキストエディタで開き、9.で開いたタブにコピーします。

    11. 「実行」ボタンを押下します。

    12. サイドメニューのデータベースからメニューを開き、「public」スキーマの中にテーブルが追加されていることを確認します。

    13. /Settings/environment_settings/sequence.sqlを取得し、ファイルを開き、同様に実行します。

    7 マスタデータ取込

    本システムで用いるマスタデータを取り込みます。

    取込対象となるマスタデータは以下になります。

    サンプルデータを使用される場合は、

    /SampleData/create_master_data_sheet.xlsx

    を使用してください。

    独自にマスタデータを作成する場合は、

    /Settings/create_master_data_sheet.xlsx

    を使用してください。

    テーブル名(論理名/物理名) 説明 備考

    M_申請区分選択画面

    m_application_category_

    selection_view

    申請区分の種類

    最大10種類まで設定可能

    M_申請区分

    m_application_category

    各申請区分の選択肢

    M_レイヤ

    m_layer

    判定で使用するレイヤ

    M_部署

    m_department

    部署一覧

    M_区分判定

    m_category_judgemnt

    判定項目

    M_申請ファイル

    m_application_file

    申請ファイル一覧

    M_ラベル

    m_label

    各画面表示内容の定義

    M_地番検索定義

    m_lot_number_search_result_

    definition

    地番検索結果テーブルの表示項目

    M_申請情報検索結果

    m_application_sarch_result

    申請者情報検索結果テーブルの表示項目

    M_申請者情報項目

    m_applicant_information_item

    申請登録時に入力する申請者情報項目

    M_行政ユーザ

    m_government_user

    行政ユーザ一覧

    M_回答テンプレート

    m_answer_template

    行政担当者が入力する回答内容のテンプレート一覧

    M_道路判定ラベル

    m_road_judge_label

    道路判定結果の案内文言一覧 道路判定を有効にしない場合本テーブルは不要。

    M_カレンダー

    m_calendar

    営業日一覧

    M_権限

    m_authority

    各部署の回答、通知権限一覧

    M_判定結果

    m_judgement_result

    各判定項目の判定結果一覧

    M_申請区分_区分判定

    m_application_category_judgement

    M_申請区分とM_区分判定の紐付け一覧

    M_申請情報項目選択肢

    m_applicant_information_item_option

    項目型が単一選択または複数選択の各申請者情報項目の選択肢

    M_申請種類

    m_application_type

    申請種類一覧

    M_申請段階

    m_application_step

    申請段階一覧

    M_帳票ラベル

    m_ledger_label

    各帳票中に、置換必要な文字列の設定一覧

    M_帳票

    m_ledger

    帳票一覧

    M_開発登録簿

    m_development_document

    開発登録簿一覧

    M_区分判定_権限

    m_judgement_authority

    各判定項目の担当部署一覧

    本システムのER図を以下に記載します。

    本章におけるセットアップ対象のマスタデータは青色のテーブルになります。

    赤字のテーブルおよびカラムは令和6年度実証において追加された内容です。

    各テーブル共通の手順は以下になります。

    1. 「create_master_data_sheet.xlsx」を編集します。各テーブルに対応するシートの項目を埋め、マスタデータを作成します。シートの各列の設定内容は次節以降の各テーブルの記載を参照してください。

      ※サンプルデータ(/SampleData/create_master_data_sheet.xlsx)をそのまま使用される場合は編集不要です。

      ※独自にマスタデータを作成する場合は、

      /Settings/ create_master_data_sheet.xlsxの各シートに参考のサンプルデータを記載しておりますので、変更してください。

    2. マスタデータの各シートをCSVにエクスポートします。

    3. Excelを閉じ、エクスポートされたCSVファイルをメモ帳やテキストエディタ等で開きます。空白行がエクスポートされている場合削除します。

      ※削除しなかった場合取込時に以下のようなエラーメッセージが表示されます。

    4. SQLクライアントツールからエクスポートしたCSVファイルを取り込みます。

      以下ではA5M2での取込手順を記載します。

    5. 取り込みを行うテーブルをダブルクリックして開きます。

    6. CSV取込ボタンを押下します。

    7. CSVのカラム名とデータセットのカラム名が対応していることと文字コードを確認し、「インポート」を押下します。

    8. インポートに成功すると以下のダイアログが表示されます。

    9. データが正しく取り込めているか確認してください。

      ※エクスポートしたCSVファイルをExcelで閉じていない場合取込ができません。

      ※カンマを文字列内に含んでいる場合CSVを取り込めないことがあります。CSVファイルをテキストエディタやメモ帳等で開き、文字列がダブルクオーテーションで囲まれているか確認してください。

      ※0埋めした数字をIDで設定していた場合、Excelで正しくエクスポートされない場合があるのでご注意ください。

      ※ID等をカンマ区切りでExcelに入力した場合、桁区切りと認識されます。冒頭に「’」を入力して文字列として認識させてください。

      例)「’1001,1002,1003」

      テーブル間でIDを外部キーとして共有しているため、以下手順に示す順番でマスタデータのシートを作成してください。データベースに取り込む順番は任意で構いません。

    7-1. M_申請区分選択画面(m_application_category_selection_view)

    create_master_data_sheet.xlsxで作成するカラムは以下の通りです。

    ※表示に使用しない画面(申請区分)はview_flagを0に設定してください。

    独自にデータをカスタマイズする場合、シート上のサンプルデータは削除してください。

    列番号 カラム名 エイリアス 必須 説明
    A view_id 画面ID ○
    B view_flag 表示有無 ○ 1=表示,0=非表示 のいずれかで設定
    C multiple_flag 複数選択有無 ○ 1=単体選択,0=複数選択 のいずれかで設定
    D require_flag 必須有無 ○ 1=選択必須, 0=選択任意 のいずれかで設定
    E title タイトル ○

    申請区分選択画面で表示するタイトル。

    帳票や申請情報検索・詳細等の各画面で表示する申請区分項目名としても使用

    F description 説明文 ○

    申請区分選択画面に表示する説明文

    HTMLで記載可能

    G judgement_type 申請種類 ○

    申請区分選択画面で申請種類選択後に表示する申請区分の切替フラグ。

    カンマ区切りで表示対象の申請種類のコードを格納する。

    7-2. M_申請区分(m_application_category)

    create_master_data_sheet.xlsxで作成するカラムは以下の通りです。

    必要な申請区分数の行を作成してください。

    独自にデータをカスタマイズする場合、シート上のサンプルデータは削除してください。

    列番号 カラム名 エイリアス 必須 説明
    A category_id 申請区分ID ○

    10桁以内でレコードごとに一意のIDを設定すること

    例:2001,2002,2003,・・・

    B view_id 画面ID ○

    申請区分がどの画面に対応しているかを設定

    M_申請区分選択画面で設定したview_idの値と対応させること

    C order 昇順 ○

    申請区分選択画面での選択肢表示順を設定

    正の整数で設定すること

    D label_name 選択肢名 ○

    申請区分選択画面の選択肢として表示する選択肢名を設定

    帳票や申請情報検索・詳細等の各画面で表示する申請区分名としても使用

    7-3. M_レイヤ(m_layer)

    create_master_data_sheet.xlsxで作成するカラムは以下の通りです。

    必要なレイヤ数の行を作成してください。

    独自にデータをカスタマイズする場合、シート上のサンプルデータは削除してください。

    ※table_nameは9 判定レイヤ取込、layer_codeとlayer_queryは14 GeoServerレイヤ作成実施後に設定してください。

    ※ 7-5. M_区分判定を設定する際にレイヤIDが必要となります。

    列番号 カラム名 エイリアス 必須 説明
    A layer_id レイヤID ○

    10桁以内でレコードごとに一意のIDを設定すること

    例:2001,2002,2003,・・・

    B layer_type レイヤ種別 ○

    1=判定対象レイヤ,0=関連レイヤ のいずれかで設定

    ※判定対象レイヤ・・・概況診断のGIS判定で使用するレイヤ

    ※関連レイヤ・・・概況診断のGIS判定では使用せず、概況診断結果表示時に判定対象レイヤと合わせて表示するレイヤ(使用例:バッファ判定のバッファ径を表示)

    C layer_name レイヤ名 ○ 概況診断結果表示時に表示するレイヤ名
    D table_name テーブル名 ○ 概況診断で使用する判定対象テーブルのテーブル名
    E layer_code レイヤコード ○

    GeoServerで設定したレイヤ名

    「ワークスペース名:レイヤ名」のフォーマット

    F layer_query レイヤクエリ

    GeoServerのSQLビューでSQLビューパラメータを設定しているレイヤに問い合わせる際に使用するクエリ「パラメータ1:値;パラメータ2:値;パラメータ3:値」のフォーマット。

    判定レイヤの属性情報を使ってフィルタ条件を設定する場合、「値」の箇所に「@1」のように「@」+「M_区分判定.フィールド名でカンマ区切り指定したフィールド名の順番」を記載。

    また、道路判定で使用する各レイヤの表示設定については14-4. 道路判定レイヤを作成するを参照。

    使用していない場合空欄で可

    G query_require_flag クエリ必須フラグ ○

    layer_queryを使用するかどうか

    1=必要,0=不要のいずれかで設定

    7-4. M_部署(m_department)

    create_master_data_sheet.xlsxで作成するカラムは以下の通りです。

    必要な部署数の行を作成してください。

    独自にデータをカスタマイズする場合、シート上のサンプルデータは削除してください。

    ※ 7-5. M_区分判定を設定する際に部署IDが必要となります。
    列番号 カラム名 エイリアス 必須 説明
    A department_id 部署ID ○

    10桁以内でレコードごとに一意のIDを設定すること

    例:2001,2002,2003,・・・

    B department_name 部署名 ○ 部署の名称
    C mail_address メールアドレス ○

    部署宛にメール通知を行うメールアドレス

    カンマ区切りで複数指定可

    ※設定したメールアドレスに通知が飛ばされるため、テスト時はテスト用のメールアドレスで設定し、本番運用時に実運用のメールアドレスに変更することを推奨

    D admin_mail_address 管理者メールアドレス ○

    該当部署の管理者の通知先のメールアドレス

    カンマ区切りで複数指定可

    E answer_authority_flag 回答権限フラグ ○

    該当部署が統括部署であるかを設定すること

    1=統括部署,0=統括部署以外 のいずれかで設定

    7-5. M_区分判定(m_category_judgement)

    create_master_data_sheet.xlsxで作成するカラムは以下の通りです。

    必要な区分判定分の行を作成してください。

    独自にデータをカスタマイズする場合、シート上のサンプルデータは削除してください。

    道路判定を使用しない場合、シート上の道路判定の行(gis_judgementが5)は削除してください。

    ※ 7-6. M_申請ファイルを設定する際に判定項目IDが必要となります。

    列番号 カラム名 エイリアス 必須 説明
    A judgement_item_id 判定項目ID ○

    10桁以内でレコードごとに一意のIDを設定すること

    例:3001,3002,3003,・・・

    B gis_judgement GIS判定 ○

    GIS判定を行うか否かと、GIS判定方式を設定

    0=GIS判定なし,

    1=重なり判定,

    2=非重なり判定,

    3=バッファ重なり判定,

    4=バッファ非重なり判定

    5=道路判定

    のいずれかで設定

    C buffer バッファ ○

    バッファ判定時のバッファ半径(m,小数可)

    バッファ判定を使用しない場合0とすること

    D display_attribute_flag 重なり属性表示フラグ ○

    GIS重なり属性表示を行うか否かと、属性表示方法を設定

    0=属性表示しない

    1=区切り文字で区切って属性表示

    2=改行して属性表示

    3=概況診断結果一覧テーブルで行を分けて属性表示

    ※属性表示する場合、table_nameとfield_nameを設定すること

    ※区切り文字はapplication.propertiesで設定。

    E judgement_layer 判定対象レイヤ

    GIS判定で使用するレイヤのレイヤID。

    カンマ区切りで複数指定可

    ※M_レイヤで設定したIDを使用すること

    ※GIS判定では必須、GIS判定以外では不要

    ※図形重なり属性表示を行う場合複数指定不可

    F table_name テーブル名

    属性表示するテーブル名

    ※judgement_layerで指定した判定レイヤのテーブル名を指定すること

    G field_name フィールド名

    属性表示するフィールド名

    カンマ区切りで複数設定可能

    ※【W】で指定したテーブルのフィールド名(カラム名)を指定すること

    H non_applicable_layer_display_flag 判定レイヤ非該当時表示有無 ○

    非該当時も判定レイヤを画面表示するか否か

    ※該当時はレイヤを設定している場合必ず表示

    1=表示,0=非表示 のいずれかで設定

    I simultaneous_display_layer 同時表示レイヤ 概況診断結果一覧画面で判定対象レイヤと同時に表示する関連レイヤのID(カンマ区切り)
    J simultaneous_display_layer_flag 同時表示レイヤ表示有無 ○

    概況診断結果一覧画面で判定対象レイヤと同時に関連レイヤを表示するか否か

    1=表示, 0=非表示 のいずれかで設定

    K disp_order 表示順 ○

    概況診断結果一覧画面および帳票における表示順

    小数で設定する

    7-6. M_申請ファイル(m_application_file)

    create_master_data_sheet.xlsxで作成するカラムは以下の通りです。

    必要な申請ファイル分の行を作成してください。

    独自にデータをカスタマイズする場合、シート上のサンプルデータは削除してください。

    ※概況診断結果レポートは区分判定IDごとに設定が必要になります。サンプルデータの内容をコピーして区分判定IDのみ変更して設定してください。概況診断結果レポートは申請ファイルIDを「9999」に設定する必要があります。

    列番号 カラム名 エイリアス 必須 説明
    A application_file_id 申請ファイルID ○

    申請ファイルを識別する10桁以内のID

    同じ申請ファイルを複数の判定項目に紐づけたい場合、同じ申請ファイルIDで異なる判定項目IDのレコードを作成すること

    B judgement_item_id 判定項目ID ○

    申請ファイルと紐づける判定項目ID

    M_区分判定で設定した判定項目IDを設定すること

    C require_flag 必須有無 ○

    申請登録時にファイルのアップロードが必須か否か

    2=任意(注意文言あり), 必須=1, 任意=0 のいずれかで設定

    D upload_file_name アップロードファイル名 ○ 申請登録画面や申請情報詳細画面等で表示する申請ファイル名称
    E extension 拡張子 ○

    利用可能な拡張子をカンマ区切りで設定

    F application_file_type 申請ファイル種別 ○

    1=開発登録簿に含める , 0=開発登録簿に含めない

    7-7. M_ラベル(m_label)

    create_master_data_sheet.xlsxで作成するカラムは以下の通りです。

    本テーブルは画面表示内容の設定で使用するため、必要に応じてカスタマイズしてください。

    列番号 カラム名 エイリアス 必須 説明
    A view_code 画面コード ○

    プログラム上で使用するためマスタデータ作成シートの内容を変更しないこと

    B label_id ラベルID ○

    プログラム上で使用するためマスタデータ作成シートの内容を変更しないこと

    C label_ley ラベルキー ○

    プログラム上で使用するためマスタデータ作成シートの内容を変更しないこと

    D label_type 種別 ○

    0=事業者行政とも使用

    1=事業者のみ使用

    2=行政のみ使用

    プログラム上で使用するためマスタデータ作成シートの内容を変更しないこと

    E label_text テキスト ○

    画面表示で使用するラベルの文言

    HTML埋め込み可能

    必要に応じてマスタデータ作成シートの内容から変更

    F application_step 申請段階 ○

    申請段階IDを指定

    カンマ区切りで複数設定可能

    申請段階IDを問わず、常に表示する場合、「all」で書く

    画面コード、ラベルIDと使用箇所の対応は下記の通りです。

    view_code label_id 使用箇所 備考
    1000 1 利用者規約画面タイトル
    1000 2 利用者規約画面説明文
    1000 3 利用者規約画面同意ボタン
    1000 4 利用者規約画面ヘッダタイトル
    1000 5 利用者規約画面利用目的選択説明文
    1000 6 利用者規約画面アンケート説明文
    1000 7 利用者規約画面TOPボタン
    1001 1 申請完了画面タイトル
    1001 2 申請完了画面説明文 回答日数を表示したい場合、埋め込み表示する箇所に「${回答日数}」を設定する
    1001 3 申請完了画面アンケート説明文
    1002 1 回答完了画面タイトル
    1002 2 回答完了画面説明文
    1003 1 回答通知完了画面タイトル
    1003 2 回答通知完了画面説明文
    1003 3 申請差戻通知完了画面説明文
    1003 4 申請受付通知完了画面説明文
    1003 5 回答許可通知完了画面説明文
    1003 6 行政確定登録許可通知完了画面説明文
    1004 1 行政ログイン画面ヘッダ ○○市の部分を使用される自治体名に変更すること
    1004 2 行政ログイン画面アンケートリンク文言
    1004 3 行政ログイン画面アンケートリンクのリンク先URL
    1005 1 概況診断結果画面説明文
    1006 1 申請ファイルアップロード画面 アップロード説明文 1ファイル当たり容量上限を埋め込み表示する箇所にそれぞれ「${maxFileSize}」」を設定する
    1006 2 申請ファイルアップロード画面 任意ファイル不足時の注意文言
    1007 1 申請者情報入力画面の申請者情報の説明文
    1007 2 申請者情報入力画面の連絡先の説明文
    2000 1 申請地番選択画面の相談ボタン

    7-8. M_地番検索結果定義(m_lot_number_search_result_definition)

    create_master_data_sheet.xlsxで作成するカラムは以下の通りです。

    本テーブルは画面表示内容の設定で使用するため、必要に応じてカスタマイズしてください。

    列番号 カラム名 エイリアス 必須 説明
    A lot_number_search_definition_id 地番検索結果定義ID ○ 10桁以内の一意のID
    B display_order 表示順 ○

    地番検索結果テーブル上の列表示順(左始まり)

    正の整数で設定

    C table_type テーブル種別 ○

    表示するデータを取得するテーブル

    1=F_地番テーブル, 0=F_大字テーブルの いずれかで設定

    D display_column_name 表示カラム名 ○ テーブルヘッダとして表示する名称
    E table_column_name テーブルカラム名 ○

    データを取得するときに参照するDB上のカラム名

    result_column1~result_column5のいずれかを設定すること

    F table_width テーブル幅 ○

    テーブル幅を%指定で表示

    全レコードの値の合計が60になること。

    G response_key レスポンスキー ○

    プログラム上で使用するキー

    任意の英小文字

    7-9. M_申請情報検索結果(m_application_search_result)

    create_master_data_sheet.xlsxで作成するカラムは以下の通りです。

    本テーブルは画面表示内容の設定で使用するため、必要に応じてカスタマイズしてください。

    列番号 カラム名 エイリアス 必須 説明
    A application_search_result_id 申請情報検索結果ID ○ 10桁以内の一意のID
    B reference_type 参照タイプ ○

    0=申請区分

    1=申請者情報

    2=その他

    のいずれかで設定

    C display_column_name 表示カラム名 ○ テーブルヘッダとして表示する名称
    D display_order 表示順 ○

    申請情報検索結果テーブル上の列表示順(左始まり)

    正の整数で設定

    E table_name テーブル名 ○

    データを取得するときに参照するDB上のテーブル名

    以下から設定可能

    m_department

    o_applicant_information

    m_application_category

    o_application

    o_answer

    m_category_judgement

    F table_column_name テーブルカラム名 ○

    データを取得するときに参照するDB上のカラム名。

    table_nameで

    m_application_category(M_申請区分)を指定していた場合、画面IDを設定する

    G response_key レスポンスキー ○

    プログラム上で使用するキー

    任意の英小文字

    H table_width テーブル幅 ○

    テーブル幅を%指定で表示

    全レコードの値の合計が100になること。

    7-10. M_申請者情報項目(m_applicant_information_item)

    create_master_data_sheet.xlsxで作成するカラムは以下の通りです。

    本テーブルは画面表示内容の設定で使用するため、必要に応じてカスタマイズしてください。

    ※最大10レコードまで作成できます。

    列番号 カラム名 エイリアス 必須 説明
    A applicant_information_item_id 申請者情報項目ID ○

    一意のID

    「1001」から「1010」の範囲で設定すること

    B display_order 昇順 ○

    申請情報入力画面の上からの表示順

    正の整数で設定

    C display_flag 表示有無 ○

    表示を行うか否か

    1=表示, 0=非表示 のいずれかで設定

    D require_flag 必須有無 ○

    入力の必須有無

    1=必須, 0=任意 のいずれかで設定

    E item_name 項目名 ○ 画面表示に使用する項目名
    F regex 正規表現

    正規表現チェックで使用する正規表現

    空の場合正規表現チェックは行わない

    G mail_address メールアドレス ○

    通知に使用するメールアドレスか否か

    1=メールアドレス,

    0=非メールアドレス

    のいずれかで設定すること

    必ず1つだけ値が「1」のレコードを作成すること。

    H search_condition_flag 検索条件表示有無 ○

    申請情報検索画面の検索条件として表示するか否か

    1=表示, 0=非表示 のいずれかで設定

    I item_type 項目型 ○

    0:1行のみの入力欄で表示

    1:複数行の入力欄で表示

    2:日付(カレンダー)

    3:数値

    4:ドロップダウン単一選択

    5:ドロップダウン複数選択

    J application_step 申請段階

    申請段階IDを指定

    カンマ区切りで複数設定可能

    K add_information_item_flag 追加情報フラグ ○

    申請者情報項目(初回申請)か申請追加情報項目(再申請)かを指定

    0=申請者情報項目, 1=申請追加情報項目

    L contact_address_flag 連絡先フラグ ○

    0=連絡先として表示しない, 1=連絡先として表示

    7-11. M_行政ユーザ(m_government_user)

    create_master_data_sheet.xlsxで作成するカラムは以下の通りです。

    必要な行政ユーザ分のデータを作成してください。

    独自にデータをカスタマイズする場合、シート上のサンプルデータは削除してください。

    サンプルデータのパスワードは「superStrongP@ssword」で設定しています。セキュリティの観点から後述の手順でパスワードのハッシュを生成し、修正してください。

    列番号 カラム名 エイリアス 必須 説明
    A user_id ユーザID ○ 10桁以内の一意のID
    B login_id ログインID ○ ログイン時に入力するID
    C password パスワード ○

    ログイン時に入力するパスワード

    ※元のパスワード文字列をハッシュ化して登録すること。ハッシュ作成手順は後述

    D role_code ロールコード ○

    1=事業者, 2=行政 のいずれかで設定

    ※事業者のユーザは作成不要です

    E department_id 部署ID ○

    ユーザの所属部署ID

    7-4. M_部署で設定したIDを設定すること

    F user_name 氏名
    G admin_flag 管理者フラグ ○

    0=一般ユーザ, 1=管理者

    パスワード用のハッシュは以下の手順で作成してください。

    ※ハッシュの生成は16.アプリケーションデプロイ(Spring Boot) が完了してから可能です。

    1. Spring Tool Suite 4を開き、プロジェクトを開きます。

    2. developmentpermission.util.AuthUtil.javaを開きます。

    3. AuthUtil.javaの末尾、public class AuthUtil { }を閉じている中括弧の直前に以下のコードを追記します。

      /\*\*
      \* ハッシュ生成確認用
      \*
      \* @param args 引数(使用しない)
      \*/
      
      public static void main(String\[\] args) {
      	System.out.println(AuthUtil.createHash("superStrongP@ssword"));
      }
      
    4. 「superStrongP@ssword」の部分をパスワードにしたい文字列に置換します。

    5. 「developpermissionapi」を右クリックし、「実行」>「Spring Boot アプリケーション」を押下します。

    6. 「Javaアプリケーションを選択」で「AuthUtil」を選択し、「OK」を押下します。

    7. 「コンソール」に実行結果のハッシュ文字列が出力されるので、コピーして「create_master_data_sheet.xlsx」の「M_行政ユーザ」シートの「password」列のパスワードを設定したいユーザの行に貼り付けます。

      1. でパスワード文字列を入力した部分を変更して、作成する行政ユーザ分のパスワードを作成します。
    8. すべてのパスワードを作成し終えたら、4. で追記したコードを削除します。

    7-12. M_回答テンプレート(m_answer_template)

    create_master_data_sheet.xlsxで作成するカラムは以下の通りです。

    テンプレートの設定が区分判定ごとに、必要数の行を作成してください。

    列番号 カラム名 エイリアス 必須 説明
    A answer_template_id 回答テンプレートID ○

    一意の正の整数にすること

    B disp_order 表示順 ○

    回答テンプレート選択時の表示順を設定

    C answer_template_text 回答テンプレートテキスト ○

    回答テンプレート文言を設定

    D judgement_item_id 判定項目ID ○

    回答テンプレート設定対象の区分判定IDを設定すること(7-5. M_区分判定参照)

    7-13. M_道路判定ラベル(m_road_judge_label)

    create_master_data_sheet.xlsxで作成するカラムは以下の通りです。

    道路判定を使用しない場合本テーブルの作成は不要です。

    列番号 カラム名 エイリアス 必須 説明
    A label_id ラベルID ○

    一意の正の整数を設定。

    B replace_identify 置換識別子 ○

    M_区分判定の該当表示文言に設定した識別子。識別子はapplication.propertiesの設定値にしたがう。

    C index_value インデックス値

    同じ置換識別子を判定結果により案内文言を変更するために使用するインデックス値。道路判定結果総括、区割り線取得結果、隣接歩道判定結果、最大幅員判定結果、最小幅員判定結果で使用。インデックス値はapplication.propertiesの設定値にしたがう。

    D index_text インデックス文字列

    同じ置換識別子を判定結果により案内文言を変更するために使用するインデックス文字列。道路種別判定結果で使用。対象のインデックス文字列はapplication.propertiesの設定値にしたがう。

    E min_value 最小値

    幅員値の判定結果により案内文言を変更するために使用する。最小値以上最大値未満の時該当レコードの文言を案内する。

    F max_value 最大値

    幅員値の判定結果により案内文言を変更するために使用する。最小値以上最大値未満の時該当レコードの文言を案内する。

    G replace_text 置換テキスト

    置換後のテキストを設定。

    <a></a>で囲んだ範囲の文字列をリンクとして表示

    <span></span>で囲んだ範囲の文字列はstyle属性でスタイル設定可能

    本テーブルの設定値は下表の通り設定してください。

    replace_identifyの文字列とindex_valueの定義値はapplication.propertiesで設定変更可能です。

    判定対象

    replace_identify設定値

    ※M_区分判定の該当表示文言にも設定

    判定結果 設定値(カラム=値) 備考
    道路判定結果総括 {width_text_area} 正常に判定終了 index_value=0
    幅員値に不明箇所がある index_value=9999
    区割り線取得結果 {split_line_result_area} 両方向で区割り線取得 index_value=2
    片方向で区割り線取得 index_value=1
    両方向とも区割り線取得できず index_value=0
    区割り線取得時エラー index_value=-1
    隣接歩道判定結果 {walkway_result_area} 隣接歩道あり index_value=1
    隣接歩道なし index_value=0
    最大幅員判定結果 {max_width_text_area} index_value=0

    replace_text内の道路部最大幅員値を表示したい箇所に{road_max_width}を埋め込む。

    replace_text内の車道最大幅員値を表示したい箇所に{roadway_max_width}を埋め込む。

    識別子はapplication.proprtiesで変更可能

    最小幅員判定結果 {min_width_text_area} index_value=0

    replace_text内の道路部最小幅員値を表示したい箇所に{road_min_width}を埋め込む。

    replace_text内の車道最小幅員値を表示したい箇所に{roadway_min_width}を埋め込む。

    識別子はapplication.proprtiesで変更可能

    幅員値による案内文言 {display_by_width_area} min_value=[最小値],max_value=[最大値]

    [最小値]m以上[最大値]m未満で、文言を変えたい範囲毎に行を作成する。

    以上、未満の片方を使用する場合もう一方は空とする。

    道路種別による案内文言 {road_type_result_area} 道路種別取得時 index_text=[道路種別識別コード] 道路種別コード値ごとに行を作成する。

    7-14. M_カレンダー(m_calendar)

    create_master_data_sheet.xlsxで作成するカラムは以下の通りです。

    システムが稼働する間の営業日分作成してください。

    列番号 カラム名 エイリアス 必須 説明
    A cal_date カレンダー日付 ○

    yyyy/MM/dd形式

    B week_day 曜日 ○

    1=日曜日, 2=月曜日, 3=火曜日, 4=水曜日, 5=木曜日, 6=金曜日, 7=土曜日

    C biz_day_flag 営業日フラグ ○

    0=非営業日,1=営業日

    D comment 備考

    7-15. M_権限(m_authority)

    create_master_data_sheet.xlsxで作成するカラムは以下の通りです。

    部署及び申請段階毎に回答、通知権限を作成してください。

    回答権限は各申請段階の回答入力時の権限制御で使用されます。

    通知権限は各申請段階の回答通知時の権限制御で使用されます。

    列番号 カラム名 エイリアス 必須 説明
    A department_id 部署ID ○

    B application_step_id 申請段階ID ○

    C answer_authority_flag 回答権限フラグ ○

    0=権限なし, 1:=権限あり(所属部署のみ操作可), 2=権限あり(他部署も操作可)

    D notification_authority_flag 通知権限フラグ ○

    0=権限なし, 1:=権限あり(所属部署のみ操作可), 2=権限あり(他部署も操作可)

    7-16. M_判定結果(m_judgement_result)

    create_master_data_sheet.xlsxで作成するカラムは以下の通りです。

    M_区分判定に対応する判定項目結果を申請種類、申請段階、部署ごとに作成してください。

    概況診断結果表示及び回答生成で使用されます。

    列番号 カラム名 エイリアス 必須 説明
    A judgement_item_id 判定項目ID ○

    M_区分判定テーブルの判定項目IDを指定

    B application_type_id 申請種類ID ○

    M_申請種類テーブルの申請種類IDを指定

    C application_step_id 申請段階ID ○

    M_申請段階テーブルの申請段階IDを指定

    D department_id 部署ID ○

    M_部署テーブルの部署IDを指定

    E title タイトル ○

    概況診断結果一覧と回答一覧の「対象」列に表示する内容

    改行可

    F applicable_summary 該当表示概要 ○

    該当時に帳票の概要に出力する文字列

    改行可

    G applicable_description 該当表示文言 ○

    該当時に概況診断結果一覧のツールチップと帳票の詳細に表示・出力する文字列

    改行可

    <a></a>で囲んだ範囲の文字列をリンクとして表示

    <span></span>で囲んだ範囲の文字列はstyle属性でスタイル設定可能

    道路判定(gis_judgement=5)の場合、判定結果による文言変更箇所に置換文字列を設定する。置換文字列の設定内容については、7-13. M_道路判定ラベルを参照のこと

    H non_applicable_display_flag 非該当表示有無 ○

    非該当時に概況診断結果一覧に表示するか否かを設定

    1=表示, 0=非表示 のいずれかで設定

    I non_applicable_summary 非該当表示概要

    非該当時に帳票の概要に出力する文字列

    改行可

    J non_applicable_description 非該当表示文言

    非該当時に概況診断結果一覧のツールチップと帳票の詳細に表示・出力する文字列

    改行可

    <a></a>で囲んだ範囲の文字列をリンクとして表示

    K answer_require_flag 回答必須フラグ ○

    区分判定に行政による回答が必須か否か

    任意の場合、申請受付時にデフォルト回答を回答として登録・通知する。

    1=必須, 0=任意 のいずれかで設定

    L default_answer デフォルト回答

    申請受付時に自動で設定する回答文言

    M answer_editable_flag 編集可能フラグ ○

    回答の編集を可能とするか否か

    1=編集可能, 0=編集不可

    ※answer_require_flagが1かつanswer_editable_flagが0のケースは指定できません

    N answer_days 回答日数 ○

    申請登録日から起算した回答期日までの日数

    7-17. M_申請区分_区分判定(m_application_category_judgement)

    create_master_data_sheet.xlsxで作成するカラムは以下の通りです。

    M_申請区分と区分判定の対応付けを設定してください。

    概況診断の区分判定で使用されます。

    列番号 カラム名 エイリアス 必須 説明
    A judgement_item_id 判定項目ID ○

    M_区分判定テーブルの判定項目IDを指定

    B view_id 画面ID ○

    M_申請区分テーブルの画面IDを指定

    C category_id 申請区分ID ○

    M_申請区分テーブルの申請区分IDを指定

    7-18. M_申請情報項目選択肢(m_applicant_information_item_option)

    create_master_data_sheet.xlsxで作成するカラムは以下の通りです。

    M_申請者情報項目の項目型が4(単一選択)または5(複数選択)の項目選択肢を設定してください。

    列番号 カラム名 エイリアス 必須 説明
    A applicant_information_item_option_id 申請情報項目選択肢ID ○

    一意のIDを指定

    B applicant_information_item_id 申請者情報項目ID ○

    M_申請者情報項目の申請者情報項目IDを指定

    C display_order 昇順 ○

    一覧で表示される並び順を昇順で設定

    D applicant_information_item_option_name 選択肢名 ○

    選択肢名を設定

    7-19. M_申請種類(m_application_type)

    create_master_data_sheet.xlsxで作成するカラムは以下の通りです。

    本テーブルは申請全体の設定で使用されます。

    区分判定に影響があるため変更時は整合性の確認が必要となります。

    列番号 カラム名 エイリアス 必須 説明
    A application_type_id 申請種類ID ○

    一意のIDを指定

    B application_type_name 申請種類名 ○

    申請種類名を設定

    C application_step 申請段階 ○

    M_申請段階テーブルの申請段階IDを実施順でカンマ区切りで指定

    例) 開発許可:「1:事前相談」⇒「2:事前協議」⇒「3:許可判定」

    「1,2,3」で格納

    7-20. M_申請段階(m_application_step)

    create_master_data_sheet.xlsxから取り込む内容は以下の通りです。

    本テーブルはシステム固有の設定です。

    列番号 カラム名 エイリアス 必須 説明
    A application_step_id 申請段階ID ○

    一意のIDを指定

    B application_step_name 申請段階名 ○

    申請段階名を設定

    7-21. M_帳票ラベル(m_ledger_label)

    create_master_data_sheet.xlsxで作成するカラムは以下の通りです。

    帳票で動的な項目値を使用して置き換える必要がある場合設定してください。※xlsx形式のみ対応

    列番号 カラム名 エイリアス 必須 説明
    A ledger_label_id 帳票ラベルID ○

    一意のIDを指定

    B ledger_id 帳票マスタID ○

    M_帳票テーブルの帳票マスタIDを指定

    C replace_identify 置換識別子 ○

    帳票テンプレートに埋め込む置換識別子を指定

    D table_name テーブル名 ○

    出力に使用するテーブル名

    指定可能なテーブルは以下

    ・O_申請
    o_application
    ・O_申請区分
    o_application_category
    ・O_申請版情報
    o_application_version_information
    ・O_申請追加情報
    o_applicant_information_add
    ・O_申請者情報
    o_applicant_information
    ・F_申請地番
    f_application_lot_number

    E export_column_name 出力カラム名

    出力に使用するカラム名

    指定可能なカラム名は以下

    ・F_申請地番
    lot_numbers
    ・O_申請版情報
    complete_datetime
    ・O_申請
    register_datetime

    F filter_column_name フィルタカラム名(未使用)

    将来的な使用を想定

    G filter_condition フィルタ条件(未使用)

    将来的な使用を想定

    H item_id_1 項目ID1

    テーブルに対応するマスタのID、フラグ値を指定

    指定可能な項目値は以下

    ・O_申請区分
    画面ID
    ・O_申請版情報
    申請段階ID(1=事前相談,2=事前協議,3=許可判定)
    ・O_申請追加情報
    項目ID
    ・O_申請者情報
    連絡先フラグ(0:申請者情報,1:連絡先情報)

    I item_id_2 項目ID2

    o_applicant_information(O_申請者情報)を指定している場合のみ使用

    項目IDを指定

    ※指定可能な項目IDは1001~1010固定

    J convert_order 変換オーダ

    埋め込み文字列の変換方法を指定

    変換対象1=変換値,
    変換対象2=変換値,
    変換対象x=変換値
    のフォーマットで指定

    指定可能なフォーマットは以下

    ・丸める桁数
    round=x

    ・日付の出力フォーマット
    dateformat=yyyy年mm月dd日

    ・加減算する日数
    day=x

    ・区切り文字(カンマの場合comma)
    separate=comma

    ・和暦表示するか否か
    japanese=true

    K convert_format 変換フォーマット

    変換後の文字列を埋め込むフォーマット %sで埋込文字列を指定

    7-22. M_帳票(m_ledger)

    create_master_data_sheet.xlsxで作成するカラムは以下の通りです。

    各申請段階で生成する帳票を必要に応じて設定してください。

    列番号 カラム名 エイリアス 必須 説明
    A ledger_id 帳票マスタID ○

    一意のIDを指定

    B application_step_id 申請段階ID ○

    M_申請段階テーブルの申請段階IDを指定

    C ledger_name 帳票名 ○

    D display_name 画面表示名

    出力種類が1の場合、設定必須

    E template_path テンプレートパス ○

    application.propertiesのapp.file.rootpathを起点とするテンプレートファイルのパス(ファイル名含む)

    F output_type 出力種類 ○

    0=常に出力,1=画面に選択されたレコードがあれば出力

    G notification_flag 受領時通知要否 ○

    事業者側でダウンロードした際の行政側への通知要否

    0=通知不要,1=通知必要

    H ledger_type 帳票種類

    1=開発登録簿に含める帳票

    I update_flag 更新フラグ ○

    行政側で申請毎に帳票テンプレートの差し替えを可能とするか否か

    0=更新不可,1=更新可能

    J notify_flag 通知フラグ ○

    0=通知不要,1=通知必要

    K upload_extension アップロード時拡張子

    複数項目の場合カンマ指定可能

    L information_text 案内テキスト

    更新時の案内文言

    7-23. M_開発登録簿(m_development_document)

    create_master_data_sheet.xlsxから取り込む内容は以下の通りです。

    本テーブルはシステム固有の設定です。

    列番号 カラム名 エイリアス 必須 説明
    A development_document_id 開発登録簿マスタID ○

    1:最終提出書類 2:全提出書類 3:開発登録簿

    B document_name 書類名 ○

    C document_type 書類種類 ○

    1=開発登録簿(帳票アップロード時に業務データ生成)

    7-23. M_区分判定_権限(m_judgement_authority)

    create_master_data_sheet.xlsxで作成するカラムは以下の通りです。

    各判定項目の担当部署を作成します。

    列番号 カラム名 エイリアス 必須 説明
    A judgement_item_id 判定項目ID ○

    M_区部判定テーブルの判定項目IDを指定

    B department_id 部署ID ○

    M_部署テーブルの部署IDを指定

    8 地番データ取込

    本システムで用いる地番・大字のデータについては、GISソフトでフォーマットしたうえで取り込む必要があります。

    属性編集機能とデータベースとの接続機能があれば、GISソフトの種類は不問ですが、本書ではQGISを利用したセットアップ手順を記載します。

    ※大字データを地番データに紐づける必要があるため、大字→地番データの順でセットアップを行ってください。

    8-1. 大字データの取込

    サンプルデータを使用される際は、以下より取得してください。

    • サンプルデータを使用される場合は、以下手順の4. ~ 12. は実施不要です。

    サンプルデータ: /SampleData/f_district 一式

    1. QGISを立ち上げ、「新規プロジェクト」を開きます。

      大字のシェープファイルをドラッグアンドドロップで取り込みます。

      ※取り込むファイル形式はGISソフトが対応しているベクタデータであれば構いません。

      ※取り込めるシェープファイルのデータ形式はポリゴンになります。

      ※同じ大字で複数のポリゴンが存在する場合、GISソフトの「ディゾルブ」機能を使って大字ごとに一つのレコードに集約してください。

      以下のように、取り込んだシェープファイルがレイヤに追加され、地図上に表示されます。

    2. ファイルを編集するため、別ファイルに保存します。

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

    3. 以下のようなダイアログが開きます。

      形式は「ESRI Shapefile」を選択し、「ファイル名」横の3点リーダから保存先を選択します。

    4. ファイルの座標系を設定します。「座標参照系(CRS)」の右側の地球儀アイコンを押下します。

      地番と判定レイヤで座標系を合わせておく必要があります。

    1. 使用する座標系を選択し、「OK」を押下します。

      座標系は平面直角座標系から指定してください。

      平面直角座標系以外の座標系を指定した場合、地番と判定レイヤの重なり判定が正しく動作しません。

      SRID(下図 EPSG:xxxxのxxxxの部分)はアプリケーション設定で使用するので、控えておいてください。

    2. 文字コードは「Shift_JIS」を選択します。

    3. 「保存されたファイルを地図に追加する」にチェックを入れ、「OK」を押下します。

    4. 本システムで用いる大字データでは、以下の属性フィールドが必要になります。

      GISソフトの編集機能で追加してください。

      フィールド名 データ型 説明
      district_id character varying(100) 大字ごとの一意のID
      district_name character varying(256) 大字名
      district_kana character varying(256) 大字名(かな)
      disp_order integer 表示順

      以下属性フィールドの追加手順を説明します。

      レイヤを右クリックし、メニューから「属性テーブルを開く」をクリックします。

    5. 以下の通り属性テーブルが表示されますので、ヘッダ左端のボタンで編集モードへの切り替えを行ってください。

    6. 「フィールドを追加」をクリックします。

      ※編集モードへの切り替えを行わないとボタンがクリックできません。

      以下の通り「名前」、「データ型」「長さ」を入力し、「OK」を押下します。

      district_id, district_name, district_kanaはシェープファイルのフィールド名文字数の制約上登録できないため、districtid, disname, diskanaとしてそれぞれ一旦登録し、データベースに取り込んだ後でフィールド名を変更します。

    7. 追加したフィールドに値を設定します。

      編集モードであればセルにカーソルを合わせることで編集可能です。

      一括で変更したい場合、フィールド演算機能(8-2. 地番データの取込 の手順12参照)が利用可能です。

      ※districtidには、地番テーブルと紐づけるための一意のIDを設定してください。

      ※diskanaには、拗音・濁音なしのふりがなを設定してください。
    8. 編集モードを終了し、編集内容を保存してから属性テーブルを閉じます。

    1. データベースにデータを取り込みます。

      まずはデータベースの接続情報をQGISに登録します。

      「ブラウザ」ウィンドウから「PostgreSQL」を右クリックし、「新規接続」を押下します。

    2. データベースへの接続情報を入力します。

      • 名前:任意

      • ホスト:DBサーバのIPアドレス

      • ポート番号:DBのポート番号(デフォルト:5432)

      • データベース:データベース名

    3. 「接続テスト」を押下すると、以下のダイアログが開くので、DBに接続するユーザ名とパスワードを入力し、「OK」を押下します。

      元の画面に戻り、接続に成功すると「接続に成功しました」のダイアログが表示されるので、「OK」を押下して接続情報を登録します。

    4. ヘッダーメニューから「プラグイン」>「プラグイン」の管理とインストールを押下します。

    5. 「DB」で検索し、DB Managerが未インストールの場合インストールして有効化します。

    6. 有効化されると、「データベース」> 「DBマネージャ」を開くことができるので開きます。

    7. 以下の通りウィンドウが開くので、「PostGIS」を展開します。

      先ほど追加した接続が表示されるので、右クリックします。

    8. ユーザ名とパスワードを入力し、OKを押下します。

    9. DBマネージャーから「レイヤ/ファイルのインポート」を押下します。

    10. 以下のダイアログが表示されます。

      「入力」で編集後のレイヤを選択します。

      「スキーマ」は「public」を指定します。

      「テーブル」には「f_district」を入力します。

      主キーは「districtid」を指定します。

      「空間インデックスを作成」にはチェックを外します。
    11. 「OK」を押下すると、インポートが開始します。

      インポートが完了すると、「インポートは成功しました」のダイアログが表示されます。

    12. SQLクライアントツールから、以下SQLを実行してカラム名を変更します。

      ALTER TABLE f_district RENAME COLUMN districtid to district_id;  
      ALTER TABLE f_district RENAME COLUMN disname to district_name;  
      ALTER TABLE f_district RENAME COLUMN diskana to district_kana;
      
    13. 続いて以下SQLを実行してカラムを追加します。

      ALTER TABLE f_district
      
      ADD result_column1 VARCHAR(256),
      
      ADD result_column2 VARCHAR(256),
      
      ADD result_column3 VARCHAR(256),
      
      ADD result_column4 VARCHAR(256),
      
      ADD result_column5 VARCHAR(256)
      
    14. 地番検索結果テーブルで表示するカラムに値をセットしてください。

      例)町丁目名をテーブルに表示したい場合

      UPDATE f_district SET result_column1=district_name;
      

      7-8. M_地番検索結果定義と合わせてカラムの内容を設定してください。

    8-2. 地番データの取込

    サンプルデータを使用される際は、以下より取得してください。

    • サンプルデータを使用される場合は、以下手順の3.~14. は実施不要です。

    サンプルデータ: /SampleData/f_lot_number 一式

    1. QGISを立ち上げ、「新規プロジェクト」を開きます。

    2. 地番のシェープファイルをドラッグアンドドロップで取り込みます。

      ※取り込むファイル形式はGISソフトが対応しているベクタデータであれば構いません。

      ※取り込めるシェープファイルのデータ形式はポリゴンになります。

      ※同じ地番で複数のポリゴンが存在する場合、GISソフトの「ディゾルブ」機能を使って地番ごとに一つのレコードに集約してください。

      以下のように、取り込んだシェープファイルがレイヤに追加され、地図上に表示されます。

    3. ファイルを編集するため、別ファイルに保存します。

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

    4. 以下のようなダイアログが開きます。形式は「ESRI Shapefile」を選択し、「ファイル名」横の3点リーダから保存先を選択します。

    5. ファイルの座標系を設定します。「座標参照系(CRS)」の右側の地球儀アイコンを押下します。

      地番と判定レイヤで座標系を合わせておく必要があります。
    6. 使用する座標系を選択し、「OK」を押下します。

      座標系は平面直角座標系から指定してください。

      平面直角座標系以外の座標系を指定した場合、地番と判定レイヤの重なり判定が正しく動作しません。

      SRID(下図 EPSG:xxxxのxxxxの部分)はアプリケーション設定で使用するので、控えておいてください。

    7. 文字コードは「Shift_JIS」を選択します。

    8. 「保存されたファイルを地図に追加する」にチェックを入れ、「OK」を押下します。

    9. 本システムで用いる地番データでは、以下の属性フィールドが必要になります。

      GISソフトの編集機能で追加してください。

      フィールド名 データ型 説明
      chiban_id integer 地番ごとの一意のID
      district_id character varying(100)

      大字ごとの一意のID

      大字データと連動しており、地番が所属する大字のIDを設定する

      chiban character varying(100) 地番

      以下属性フィールドの追加手順を説明します。

      レイヤを右クリックし、メニューから「属性テーブルを開く」をクリックします。

    10. 以下の通り属性テーブルが表示されますので、

      ヘッダ左端のボタンで編集モードへの切り替えを行ってください。

    11. 「フィールドを追加」のアイコンをクリックします。

      ※編集モードへの切り替えを行わないとボタンがクリックできません。

      以下の通り「名前」、「データ型」「長さ」を入力し、「OK」を押下します。

      同様に、以下の通り入力し、OKを押下します。

      district_id はシェープファイルのフィールド名文字数の制約上登録できないため、districtidとして一旦登録し、データベースに取り込んだ後でフィールド名を変更します。

    1. フィールド演算機能を利用して、追加したカラムにデータをセットします。

      編集対象のカラムを選択します。ここでは、chiban_idを選択します。

      「ε」ボタンを押下します。

      以下のようなダイアログが開きます。 chiban_idに対しては一意のIDを設定します。

      「レコードと属性」から「$id」を選択し、「OK」を押下します。

      「すべて更新」を選択します。

    2. chibanとdistrictidについても、フィールド演算機能を使ってデータをセットします。

      実際に使用される元データから値をセットしてください。

      ※districtidに利用できるIDフィールドを予め元データに含めておくことを推奨します。
    3. 編集モードを終了し、編集内容を保存してから属性テーブルを閉じます。

    4. 続いてデータベースにデータを取り込みます。

      ※データベースの接続手順は 8-1. 大字データの取込の手順13 を参照してください。

      DBマネージャーから「レイヤ/ファイルのインポート」を押下します。

      「入力」で編集後のレイヤを選択します。

      「スキーマ」は「public」を指定します。

      「テーブル」には「f_lot_number」を入力します。

      「空間インデックスを作成」にチェックを入れます。

    5. 「OK」を押下すると、データベースへの取込が開始されます。

      ※データ件数が多い場合、取込に時間がかかることがあります。

    6. データ取込後、SQLクライアントツールから以下のSQLを実行してフィールド名を変更します。

      ALTER TABLE f_lot_number rename column districtid to district_id;
      
    7. 続いて以下SQLを実行してカラムを追加します。

      ALTER TABLE f_lot_number
      
      ADD result_column1 VARCHAR(256),
      
      ADD result_column2 VARCHAR(256),
      
      ADD result_column3 VARCHAR(256),
      
      ADD result_column4 VARCHAR(256),
      
      ADD result_column5 VARCHAR(256)
      
    8. 地番検索結果テーブルで表示するカラムに値をセットしてください。

      例)地番をテーブルに表示したい場合

      UPDATE f_lot_number SET result_column1=chiban
      

      7-8. M_地番検索結果定義 と合わせてカラムの内容を設定してください。

    9 判定レイヤ取込

    判定レイヤは、地番との重なり判定で使用するレイヤになります。

    判定レイヤごとに、PostgreSQLにテーブルを作成します。

    判定レイヤを作成する際は以下に注意してください。

    1. 座標系について

      レイヤの座標系は、地番テーブルと統一してください。

      また、座標系は平面直角座標系としてください。

      平面直角座標系以外だと、重なり判定が実施できません。

    2. フィールド名について

      以下フィールドを含むようにしてください。

      フィールド名 データ型 説明
      ogc_fid serial 一意のID
      wkb_geometry geometry ジオメトリ

      重なっている地点の属性を表示したい場合、表示用のフィールドを用意してください。

      フィールド名に指定はありません。

    3. 空間インデックス

      概況診断実行時のパフォーマンス向上のため、空間インデックスを設定してください。

    9-1. 判定データ取込

    以下、サンプルデータ(SHP形式)をQGISで判定レイヤとして取り込む手順を記載します。

    必要リソース: /SampleData/judgement_layers/ 一式

    用意しているサンプルデータは下表の通りです。

    データ テーブル名

    座標系

    (EPSG)

    ディレクトリ
    用途地域 use_districts 2450

    /SampleData/judgement_layers/use_districts/

    農用地地域 agricultural_land 2450 /SampleData/judgement_layers/agricultural_land/
    都市計画区域 city_planning 2450

    /SampleData/judgement_layers/city_planning/

    埋蔵文化財包蔵地域 buried_cultural_property 2450 /SampleData/judgement_layers/buried_cultural_property/
    浸水想定区域 flood_assumption 2450

    /SampleData/judgement_layers/flood_assumption/

    以下一例として、用途地域データの取込手順を記載します。

    他のデータについても同様の手順で取込を実施してください。

    1. /SampleData/judgement_layers/use_districts/ 以下のファイル一式(下記)をダウンロードします。

      • use_districts.cpg

      • use_districts.dbf

      • use_districts.prj

      • use_districts.shp

      • use_districts.shx

    2. QGISを立ち上げ、「新規プロジェクト」を開きます。

    3. 「use_districts.shp」をドラッグアンドドロップでQGISに取り込みます。

      以下のダイアログメッセージが表示される場合、「OK」を押下します。

    4. 「データベース」>「DBマネージャ」を開きます。

    5. 「PostGIS」から8-1で追加した接続を開きます。

    6. 「レイヤ/ファイルのインポート」を押下します。

    7. 入力(Input)でドラッグアンドドロップしたレイヤを選択します。

      スキーマはpublic、テーブルは先述のサンプルデータ一覧に記載のテーブル名とします。

      オプションを設定します。

      「主キー」にチェックを入れ、「ogc_fid」とします。

      「ジオメトリのカラム」にチェックを入れ、「wkb_geometry」とします。

      SRIDが平面直角座標系でない場合、「変換後SRID」にチェックを入れ平面直角座標系の座標系を指定します。

      ※サンプルデータの場合、SRIDの変換は不要です。

      「空間インデックスを作成」にチェックを入れます。

    8. 「OK」を押下します。データベースへのインポートが行われます。

      完了すると、「インポートは成功しました」のダイアログメッセージが表示されます。

    本書では一例としてCityGMLの判定データの取込について記載します。

    1. FZKViewerをダウンロードし、PCへインストールします。

      https://www.iai.kit.edu/english/1648.php

    2. FZKViewerを起動し、GMLファイルをドラッグアンドドロップし、ファイルを読み込みます。

    3. 読み込んだデータをKML形式で出力します。

    4. QGISを起動し、KMLファイルを読み込むためプラグイン「KML Tools」をインストールします。インストールは、「プラグインの管理とインストール」から行います。

    5. 「KML Tools」を使用して、「KML+」ボタンをクリックします。

    6. KMLファイルを指定して読み込みます。

    7. 読み込んだレイヤを選択し、右クリックメニュー「エクスポート」―「新規ファイルに地物を保存」選択します。

    8. 以下のダイアログが開きます。

      「形式」に「PostgreSQL SQL dump」を選択、「座標参照系」を平面直角座標系で設定し、「OK」ボタンで保存します。

    9. PostgreSQLへデータ登録するためのSQLファイルが保存されます。

    10. 本書6.テーブル作成(PostgreSQL)と同様に、A5:SQL Mk-2を使用してテーブルを作成します。

    11. 作成したテーブルに16. で作成したSQLファイルに記載されているSQLを実行し、データを登録します。

    10 道路判定レイヤ取込

    道路判定を使用する場合、道路判定レイヤとして以下テーブルをPostgreSQLに作成します。

    テーブル名(論理名/物理名) 説明 備考
    F_道路LOD2 / f_road_lod2 道路LOD2レイヤ CityGML形式から変換して投入。変換手順は第9章「判定レイヤ取込」を参照。
    F_道路中心線 / f_road_center_line 道路中心線レイヤ
    F_区割り線 / f_split_line 区割り線レイヤ

    道路判定レイヤを作成する際は以下に注意してください。

    1. 座標系について

      レイヤの座標系は、地番テーブルと統一してください。

      また、座標系は平面直角座標系としてください。

      平面直角座標系以外だと、重なり判定が実施できません。

    2. フィールド名について

      各レイヤに以下フィールドを含むようにしてください。

      テーブル名 フィールド名 データ型 説明
      F_道路LOD2 / f_road_lod2 object_id serial 一意のID
      geom geometry ジオメトリ
      width float 幅員
      t_function integer

      交通領域機能。CityGMLのTrafficArea_function.xmlの情報を格納する。以下コード値を設定。

      1000:車道部, 1020:車道交差部, 2000:歩道部, 3000:島

      function text 道路機能。CityGMLのRoad_function.xmlの情報を格納する。コード値は独自に設定可能。数値コードの場合もテキスト型に変換して格納すること。コード値に対応する案内文言をM_道路判定ラベルに設定する。
      crossid integer

      交差ID。隣接する車道部のフィーチャと歩道部のフィーチャに共通のIDを設定することで隣接歩道判定が可能となる。設定しない場合、フィールドは作成し、値をNULLとすること。

      line_number integer 路線番号。同じ路線番号をもつ道路LOD2フィーチャは一つの判定結果として案内する。設定しない場合道路LOD2フィーチャごとに判定結果を案内する。設定しない場合、フィールドは作成し、値をNULLとすること。
      F_道路中心線 / f_road_center_line object_id serial 一意のID
      geom geometry ジオメトリ
      F_区割り線 / f_split_line object_id serial 一意のID
      geom geometry ジオメトリ
      road_width float 道路部幅員。幅員値不明のデータには「9999」をセットする。
      roadway_width float 車道幅員。幅員値不明のデータには「9999」をセットする。
      label_text text 幅員値として3Dビューワ上に表示するラベルのテキスト。例) [道路部幅員]m([車道幅員]m) GISソフトのフィールド演算機能等を利用してセットする。
    3. 空間インデックス

      概況診断実行時のパフォーマンス向上のため、空間インデックスを設定してください。

    以下、サンプルデータ(SHP形式)をQGISで取り込みます。

    必要リソース: /SampleData/road_layers/ 一式

    用意しているサンプルデータは下表の通りです。

    データ テーブル名

    座標系

    (EPSG)

    ディレクトリ
    道路LOD2 f_road_lod2 2450

    /SampleData/road_layers/f_road_lod2/

    道路中心線 f_road_center_line 2450

    /SampleData/road_layers/f_road_center_line/

    区割り線 f_split_line 2450

    /SampleData/road_layers/f_split_line/

    QGISでの取込手順は9 判定レイヤ取込を参照してください。

    注意点は下記の通りです。

    1. 出力テーブルのテーブル名には上記の表の「テーブル名」に記載のテーブル名を指定してください。

    2. 「主キー」にチェックを入れ「object_id」を指定してください。

    3. 「ジオメトリのカラム」にチェックを入れ「geom」を指定してください。

    4. 「変換後SRID」に地番データと同じ平面直角座標系の座標系が設定されていることを確認してください。

    5. 「空間インデックスを作成」にチェックを入れてください。

    6. Shapeファイルのフィールド名文字数制約の関係で、以下のカラムについてはShapeファイル上のフィールド名を短縮名で設定しています。PostgreSQL取込後カラム名の修正を行ってください。

      テーブル名 フィールド名(変換前) フィールド名(変換後) 説明
      f_road_lod2 line_num line_number 路線番号
      f_split_line roadway_wi roadway_width 車道幅員

    11 航空写真・建物データ配置

    本システムで使用する、航空写真や建物データの配置手順を記載します。

    ※航空写真はデフォルトでは国土地理院のタイル「全国最新写真(シームレス)」を使用しています。独自に用意した航空写真を設定されたい場合、本章の手順を実施してください。

    11-1. ファイルサーバ連携設定

    航空写真や建物データは、ファイルサーバ上に配置し、webサーバとして配信する設定を行います。

    ※ファイルサーバの構築手順は本書の対象外とします。

    ※Webサーバでファイルサーバがマウントされている前提で以下は記載します。

    ※Webサーバは5-1で構築したApacheを使用します。左記のApacheがインストールされているサーバからファイルサーバをマウントできない場合、別途Webサーバを構築します。

    1. 5-1で構築したWebサーバに接続し、Apacheのhttpd.confを開きます。

      vi /etc/httpd/conf/httpd.conf
      
    2. ドキュメントルートを確認します。

      以下の「var/www/html」がドキュメントルートになります。

      DocumentRoot “/var/www/html”
      
    3. ドキュメントルートからファイルサーバのマウントルートパスにシンボリックリンクを設定します。

      ln -s [2. で設定したドキュメントルート]/gis [ファイルサーバのマウントルートパス]
      
    4. ディレクトリの所有権およびパーミッションを変更してください。

      
      cd [2. で設定したドキュメントルート]
      
      chown -hR apache:apache ./gis
      
      chmod -c -R 755 ./gis
      
      

    11-2. 航空写真データの配置

    航空写真はXYZタイル形式となっている必要があります。

    本システムでは以下の形式に対応しています。

    • {ズームレベル}/{タイル座標のx値 }/{タイル座標のy値 }.jpg

    • {ズームレベル}/{タイル座標のx値 }/{タイル座標のy値 }.png

    • {ズームレベル}/{タイル座標のy値 }/{タイル座標のx値 }.jpg

    • {ズームレベル}/{タイル座標のy値 }/{タイル座標のx値 }.png

    以下「{ズームレベル}/{タイル座標のx値 }/{タイル座標のy値 }.png 」形式の航空写真の配置手順を記載します。フォルダ構造が異なる場合、適宜読み替えてください。

    ※タイルデータの作成手順は本書の対象外とします。

    1. 以下のフォルダ構成となるように、航空写真データをファイルサーバにコピーします。

      ※zip化されている場合、解凍して配置します。

    2. ブラウザで以下URLにアクセスし、写真が表示できることを確認してください。

      ※{ }部分は実際に格納したファイル名を入れてください。

      http://[WebサーバのIPアドレス]/photo/{ズームレベル}/{タイル座標のx値}/{タイル座標のy値}.png

      ※表示できない場合、ファイルアクセス権の設定を見直してください。

    11-3. 建物データの配置

    ※建物データの配置は必須ではありません。
    1. 3DTiles形式の建物データを入手します。

    2. データを解凍し、以下のフォルダ構成でファイルサーバに格納します。

      ※複数の建物データを用いる場合、構成は適宜変更してください。

    3. ブラウザで以下URLにアクセスし、以下のようなJSONファイルが表示できることを確認してください。

      http://[WebサーバのIPアドレス]/building/tileset.json

      ※表示できない場合、ファイルアクセス権の設定を見直してください。

    12 ランドマークデータ作成

    本システムでは、下図のようにランドマークを地図上に表示することで、地番の選択等の3Dビューワ画面での操作性を向上させることができます。

    本章では、ランドマーク表示に使用するCZMLファイルの作成・配置手順を説明します。

    12-1. ランドマークのポイントデータの準備

    サンプルデータを使用される場合、/SampleData/landmark 以下のファイル一式を取得してください。

    ※作業PC上にて行う

    1. QGISを起動します。

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

      サンプルデータを使用される場合:

      /SampleData/landmark/landmark.shp

      ポイントデータを作成する際、以下の2種類の属性フィールドを設定してください。

      フィールド名 説明
      name

      ランドマークの名称.

      ラベルとして表示.

      kind

      ランドマークのカテゴリ.

      ランドマークの色分け表示に使用.

    3. ポイントデータをGeoJSON形式にエクスポートします。

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

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

    5. 「ファイル名」右の「…」から保存先とファイル名を指定します。

      座標参照系で「EPSG:4326 –WGS84」を選択します。

    6. 「OK」を押下します。

    12-2. Python3.x 実行環境の準備

    ※作業PC上にて行う

    Python3.xの実行環境を準備します。

    実行環境に指定はありませんが、本書では実行環境としてAnacondaを使用します。

    1. 以下からAnacondaをインストールします。

      https://www.anaconda.com/products/distribution

      Anacondaインストール手順の参考サイト:

      https://www.python.jp/install/anaconda/windows/install.html

    2. インストールが完了するとスタートメニューに「Anaconda3(64-bit)」が追加されます。

      「Anaconda3(64-bit)」> 「Anaconda Prompt(anaconda3)」を立ち上げます。

    3. Anaconda Promptが開きます。

    4. 以下コマンドを入力し仮想環境を作成します。

       conda create -n landmark-env python=3.9
      

      ※ landmark-envの箇所は任意の環境名

      作成中に以下の通り確認されるので、「y」を入力します。

    5. 以下コマンドを入力し仮想環境を有効化します。

       conda activate landmark-env
      

      環境が以下のように(base)から(landmark-env)に切り替わっていることを確認します。

    6. 以下コマンドを入力し、外部ライブラリをインストールします。

       pip install Pillow
      

    12-3. generate_landmark_billboard.pyの設定変更

    ※作業PC上にて行う

    1. 以下からgenerate_landmark_billboard.pyを取得します。

      取得元:

      /Settings/environment_settings/generate_landmark_billboard.py

    2. 作業ディレクトリを作成し、「generate_landmark_billboard.py」と、12-1. ランドマークのポイントデータの準備で作成したGeoJSONファイルを格納します。

    3. generate_landmark_billboard.pyをエディタで開きます。

    4. generate_landmark_billboard.pyの12行目から20行目を編集します。

      12-1. で作成した属性フィールド「kind」の属性フィールド値の種類ごとに色分けを設定します。

      色は0-255のRGB値で設定してください。

      参考ページ:

      https://www.lab-nemoto.jp/www/leaflet_edu/else/ColorMaker.html

      カテゴリを増やす場合、color_define = [ ] の中に要素を追加・削除します。

      		# ビルボードの色分け定義をここで設定してください。
      
      		# (【カテゴリ値】, (r,g,b)) で設定します。
              color_define = [
      
                  ("駅", (230,121,40)),
      
                  ("学校", (132,245,211)),
      
                  ("警察", (0,0,255)),
      
                  ("消防", (209,0,128)),
      
                  ("地方の機関", (255,0,0)),
      
                  ("博物館", (128,78,87)),
      
                  ("病院", (132,181,87)),
      
                  ("郵便局", (255,0,0))
      
              ]
      

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

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

      if __name__ == '__main__':
      
          # ビルボードフォントパス
      
          os.environ["FONT_PATH"] = "C:/Windows/Fonts/meiryo.ttc"
      
          # ソースJSONファイル
      
          os.environ["SRC_JSON_FILE"] = "./landmark.geojson"
      
          # 画像保存パス
      
          os.environ["DEST_IMG_FOLDER"] = "billboard_image"
      
          os.environ["SAVE_CZML_NAME"] = "./landmark.czml"
      
          # ラベルとして表示するプロパティ
      
          os.environ["LABEL_PROPERTIES"] = "name"
      
          # 色分け表示プロパティ
      
          os.environ["COLOR_LEGEND_PROPERTIES"] = "kind"
      
          # 画像名テンプレート
      
          os.environ["IMAGE_NAME_TEMPLATE"] = "landmark_%s.png"
      
          # CZMLヘッダのname属性
      
          os.environ["CZML_HEADER_NAME"] = "landmark"
      
          # CZMLファイル保存パス
      
          os.environ['CZML_FILE_PATH'] = "./landmark.czml"
      
          # メイン処理
      
          main()
      

    12-4. generate_landmark_billboard.pyの実行

    ※作業PC上にて行う

    1. 作業ディレクトリ上に「billboard_image」フォルダを作成します。

    2. 作業ディレクトリ上に「landmark.czml」が存在する場合、ほかの場所に退避させます。

    3. 作業ディレクトリが以下の構成になっていることを確認してください。

      • 「billboard_image」フォルダ

      • landmark.geojson

      • generate_landmark_billbboard.py

    4. Anaconda promptを開き、作業ディレクトリに移動します。

       cd 作業ディレクトリ
      
    5. 以下コマンドでpythonファイルを実行します。

       python generate_landmark_billboard.py
      
    6. エラーが表示されることなく、以下の通り終了しているかどうか確認します。

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

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

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

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

    12-5. 生成ファイル一式の配置

    1. ファイルサーバに「landmark」ディレクトリを作成します。

    2. 「landmark」ディレクトリに12-4. generate_landmark_billboard.pyで生成したlandmark.czmlとbillboard_imageフォルダを配置します。

    3. 以下でアクセスできることを確認します。

      http://[WebサーバのIPアドレス]/landmark/landmark.czml

    13 アタッチメントデータ配置

    本システムでは、判定レイヤの各地物にアタッチメントデータを紐づけることで、判定結果欄にファイルやファイルへのリンクを表示することができます。

    本章では、アタッチメントデータの配置方法を説明します。

    以下の手順でデータを配置した後で、次章の手順でレイヤを公開してください。

    13-1. アタッチメントデータ、アタッチメントレイヤの用意

    レイヤとアタッチメントデータの対応関係は下図の通り、レイヤの属性情報からアタッチメントとの対応関係が照合できるようにします。

    13-2. アタッチメントレイヤの登録

    9-1. 判定データ取込と同様の手順で、アタッチメントレイヤを登録します。

    13-3. アタッチメントデータの格納

    アタッチメントデータの格納先はWeb/DBサーバになります。

    1. Web/DBサーバにssh接続します。

    2. Spring Boot のapplication.propertiesで設定している場所(app.file.service.rootpath)にアタッチメントデータを配置します。

      ※仮に、「attachement」フォルダの中にアタッチメントデータを格納した状態で配置する場合の手順を記載します。

      mkdir /mnt/s3/application/
      
      mv attachment /mnt/s3/application/
      

      ※「/mnt/s3/application/」 はapp.file.service.rootpathで設定している場所

      ※Spring Boot のapplication.propertiesの設定手順を参照してください。

    3. パーミッションの確認及び変更を行います。

      cd /mnt/s3
      

      ディレクトリの所有権及びパーミッションを変更してください。

      chown -hR tomcat:tomcat ./application
      
      chmod -c -R 755 ./application
      
      

    13-4. アタッチメントデータの表示設定

    1. まず、アタッチメントレイヤをGeoServerに登録します。

      設定手順は14-3. 判定対象レイヤを作成するを参照してください。

      上記手順9では「SQLビューを新規作成」からSQLビューパラメータを設定してください。

    2. M_レイヤテーブルに以下の内容を設定します。(7-3. M_レイヤ参照)

      • layer_query : ogc_fid:@2

        ※ 一意のIDをクエリで指定できるように設定します。

      • query_require_flag: 1

    3. M_区分判定テーブルに以下の内容を設定します。(7-5. M_区分判定参照)

      • gis_judgement: 1

      • judgement_layer: 手順2で設定したレイヤのレイヤID

      • applicable_description: 以下の通り、アタッチメントデータへのリンクを埋め込んでください。

          <a>https://[Webサーバのドメイン名]/api/file/view/[アタッチメントデータのルートフォルダ名]/@1.png</a>
        
      • table_name: 13-2で登録したテーブル名を設定してください。

      • field_name: [ファイルパスを格納したカラム名],[一意のIDを格納したカラム名] を設定してください。

      • display_attribute_flag: 3

    14 GeoServerレイヤ作成

    本システムの3Dビューワ画面上に表示する地番レイヤや判定対象レイヤを設定します。

    14-1. ワークスペースとストアを登録する

    1. 以下URLから、GeoServerにログインします。

      初期IDとパスワードは admin/geoserver になります。

      セキュリティの観点から、初期パスワードは初回ログイン後に変更してください。

      http://[web]サーバのIPアドレス]:8080/geoserver

    2. メニューバーから「ワークスペース」を選択します。

    3. 登録済みのワークスペース一覧が開きます。「新規ワークスペース追加」を選択します。

    4. Name. ネームスペースURIに任意の名前を入力し、「保存」を押します。

      ※サンプルデータを使用される際はワークスペース名を「devps」としてください。
      ※登録したワークスペース名は以降のレイヤ設定や、19 アプリケーション設定ファイル更新(3DViewer)でも使用します。
    5. メニューバーから「ストア」を選択します。

    6. 登録済みのストア一覧が開きます。「ストア新規追加」を押下します。

    7. 新規データソースから、「PostGIS」を選択します。

    8. ワークスペースで、4. で作成したワークスペースを選択し、任意のデータソース名を入力します。

      パラメータ接続の部分には、5-5.PostgreSQL14のインストールで作成したデータベースへの接続情報を入力します。入力が終わったら「保存」を押下します。

    14-2. 地番レイヤを作成する

    地番レイヤは以下のレイヤを作成する必要があります。

    レイヤ作成の際はそれぞれ下表のスタイルファイルとSQLファイルを使用します。

    ファイルは /Settings/environment_settings/ より下表に記載のファイルを取得してください。

    レイヤ名 使用箇所 説明 スタイルファイル SQLファイル 凡例
    全地番 申請地選択 すべての地番を表示. layer_style_lotnumber_all_view.sld layer_sql_lotnumber_all_view.txt
    申請中地番 行政トップ画面 申請中の地番を表示. layer_style_lotnumber_application_target.sld layer_sql_lotnumber_applying.txt
    申請対象地番 概況診断結果表示 申請対象の地番を表示. layer_style_lotnumber_application_target.sld layer_sql_lotnumber_search_establishment.txt
    選択中地番 申請地選択 選択中の地番を表示. layer_style_lotnumber_selected.sld layer_sql_lotnumber_search_establishment.txt
    地番検索結果(事業者) 地番検索 地番検索の結果に該当する地番を表示. layer_style_lotnumber_result.sld layer_sql_lotnumber_search_establishment.txt
    申請情報表示地番 申請情報表示地番 行政側の申請情報検索結果の行クリック時にクリック業の申請地番を着色表示. layer_style_lotnumber_application_info.sld layer_sql_lotnumber_disignate.txt
    全筆かからない筆選択地番 地番検索 一部しか含まれない筆がある地番を表示. layer_style_lotnumber_part_selected.sld layer_sql_lotnumber_part_selected.txt
    1. 一覧表のスタイルファイルの種類ごとにスタイルを計5種類登録します。メニューバーから「スタイル」を選択します。

    2. 登録済みのスタイル一覧が開きます。「新規スタイル追加」を押下します。

    3. ユーザ名を入力します。名前は任意ですが、判別しやすいようにスタイルファイルファイルの名前としておきます。

      ワークスペースは、14-1. ワークスペースとストアを登録するで作成したワークスペースを選択します。

    4. 「ファイルを選択」を押下し、スタイル(.sld)ファイルを選択します。

    5. 「アップロード」をクリックします。

    6. アップロードされるsldファイルの中身が表示されるので、「検証」を押下して、「保存」を押下します。

    7. スタイルが登録されます。残りのスタイルファイルについても、同様に登録を実施します。

    8. 続いてレイヤを登録します。

      ※レイヤについては、本節冒頭のレイヤ一覧表に記載のすべてのレイヤを登録する必要があります。

      ※範囲矩形の情報を全地番レイヤで取得し他レイヤに適用する必要があるため、まずは「全地番」のレイヤを登録してから残りのレイヤを登録してください。

    9. メニューバーから「レイヤ」を選択します。

    10. 登録済みのレイヤ一覧が表示されます。「リソース新規追加」を押下します。

    11. レイヤ追加元で、14-1. ワークスペースとストアを登録するで作成したストアを選択します。

    12. データベースに登録済みのテーブルが一覧表示されます。

      「SQLビューを新規作成」を選択します。

    13. 「名称を表示」にレイヤ名を入力します。

      「SQLステートメント」にSQLファイルの中身を貼り付けます。

    14. 「SQLからパラメータを推測」を押下し、「ジオメトリタイプとSRIDを推測」にチェックを入れた状態で「属性」の「再読み込み」を押下します。

      読み込むと、属性が一覧表示されます。

    1. 「保存」を押下します。

      エラーが出る場合、SQLビューパラメータの各デフォルト値にf_lot_numberテーブルに登録されている任意の地番IDをセットします。

    2. 「レイヤ編集」に遷移します。

      下の方に遷移して、「範囲矩形」の欄を確認します。

    3. 「ネイティブの範囲矩形」で「データを元に算出」を押下し、「緯度経度範囲矩形」で「ネイティブの範囲をもとに算出」を押下します。

    1. 以下の通り値が出力されます。

      出力された値は、レイヤの描画範囲になります。

      「ネイティブの範囲矩形」の値は以降のレイヤでも使用するため、控えておきます。

    2. 一度上にスクロールし、タブから「公開」を選択します。

    3. タブが切り替わります。「WMS設定」で、「デフォルトスタイル」を選択します。スタイル一覧から、手順7. までに作成したスタイルを選択します。

    4. タブを再び切り替えて、「タイルキャッシング」を開きます。

    5. 「このレイヤーのキャッシュ済みレイヤーを作成」と「このレイヤのタイルキャッシングを有効化」のチェックを外します。

    6. 「保存」を押下します。レイヤが登録されます。

    7. 登録結果を確認します。メニューバーから「レイヤプレビュー」を選択します。

    8. 作成済みのレイヤ一覧が表示されます。作成したレイヤの行の「OpenLayers」を選択します。

    9. 別タブが開き、レイヤーのプレビューが確認できます。

    10. 残りの地番レイヤについても、同様にレイヤの作成を進めます。

      スタイルとSQLビューについては、本節冒頭の表に対応するファイルを使用してください。

      残りのレイヤでは「SQLビューパラメータを推測」を押下した際に、SQLビューパラメータ一覧が表示されます。デフォルト値を設定しないと、次の属性の再読み込みに失敗するので注意してください。

      レイヤ毎に以下の通りデフォルト値を設定してください。

      ※「デフォルト値」に実際に存在する地番の地番IDを「_」(アンダーバー)区切りで設定すると、指定した地番をレイヤプレビューで表示することができます。

      • 申請中地番

      • 申請対象地番

      • 選択中地番

      • 地番検索結果(事業者)

      • 地番検索結果(行政)

      範囲矩形の「ネイティブの範囲矩形」については、手順18.で控えておいた値を入力してください。範囲矩形入力後に、「緯度経度範囲矩形」の「ネイティブの範囲を元に算出」を押下します。

    14-3. 判定対象レイヤを作成する

    判定対象ごとに、レイヤを作成します。

    1. まず、レイヤのスタイル(.sldファイル)を作成します。QGISを開きます。

    2. PostgreSQLから、DBサーバに接続します。

      ※接続の作成手順は8-1. 大字データの取込を参照してください。

    3. レイヤを作成する判定レイヤのテーブルを選択し、ドラッグアンドドロップで地図上に表示します。

    4. 追加したレイヤを右クリックし、メニューからプロパティを開きます。

    5. スタイルを設定します。

      スタイルの設定方法はこちらを参考にしてください。

    6. スタイル設定後、レイヤを右クリックし、「エクスポート」>「QGISレイヤスタイルファイルとして保存」を選択します。

    7. 「SLDスタイルファイル」を選択し、ファイルを保存する場所を選択します。

      選択後、「OK」でファイルを出力します。

    8. 出力したSLDファイルを、スタイルとしてGeoServerに登録します。

      スタイルの登録手順は14-2. 地番レイヤを作成するの手順1.~ 7. を参照してください。

    9. 続いてレイヤを登録します。

      メニューバーから「レイヤ」を選択し、続いて「リソース新規追加」を押下します。

      レイヤの属性情報を使用して表示する地物を絞り込みたい場合、14-2. 地番レイヤを作成すると同様に「SQLビューを新規作成」から、以下の要領でSQLステートメントを設定し、SQLビューパラメータを設定します。

      サンプルデータでは、用途地域が該当します。 以下テキストファイル内のSQLを貼り付けてください。

      /Settings/environment_settings/layer_sql_use_district.txt

    10. レイヤ追加元で、14-1. ワークスペースとストアを登録するで追加したデータソースを選択します。

    11. データベースに登録済みのテーブル一覧が表示されます。

      レイヤを作成する判定レイヤのテーブルの行の「再公開」を押下します。

    12. レイヤ編集画面が開きます。

    13. 「データ」タブで範囲矩形を編集します。

      「ネイティブの範囲矩形」で、「データを元に算出」を押下し、続いて「緯度経度範囲矩形」の「ネイティブの範囲を元に算出」を押下します。

    14. 「公開」タブに切り替えて、「WMS設定」のデフォルトスタイルで手順⑧で登録したスタイルを選択します。

    15. 「タイルキャッシング」タブに切り替えて、「このレイヤーのキャッシュ済みレイヤーを作成」と「このレイヤのタイルキャッシングを有効化」のチェックを外します。

    16. 「保存」を押下します。

    17. 残りの判定レイヤについても、同様の手順で登録を実施してください。

    14-4. 道路判定レイヤを作成する

    道路判定を使用する場合、以下のレイヤを作成する必要があります。

    レイヤ作成の際はそれぞれ下表のスタイルファイルとSQLファイルを使用します。

    ファイルは /Settings/environment_settings/road_judge/ より下表に記載のファイルを取得してください。

    レイヤの設定手順は14-2を参照してください。

    「ネイティブの範囲矩形」の値には、「全地番」で登録した値と同じ値を設定してください。

    「該当区割り線」の「SQLビューパラメータ」を設定する際は、「max_object_id」と「min_object_id」の「正規表現を検証」の欄を空欄に修正してください。

    「SQLビューパラメータ」のデフォルト値が設定されていないとエラーになるので、「道路判定結果(LOD2)」と「隣接歩道」にはf_load_lod2テーブルの任意のobject_id、「該当区割り線」と「幅員値」にはf_split_lineテーブルの任意のobject_idを設定してください。(参照)

    レイヤ名 説明 スタイルファイル SQLファイル 凡例
    道路判定結果(LOD2) 判定対象の道路LOD2レイヤを表示。 layer_style_road_lod2.sld layer_sql_road_lod2.txt
    該当区割り線 判定の結果取得された区割り線を表示。最大幅員の区割り線を赤、最小幅員の区割り線を青、幅員値不明の区割り線を緑で表示。 layer_style_split_line.sld layer_sql_split_line.txt
    隣接歩道 判定の結果取得された隣接歩道を表示。申請地番+5.0mバッファと重なる範囲を表示。 layer_style_adjacent_sidewalk.sld layer_sql_adjacent_sidewalk.txt
    幅員値 判定の結果取得された区割り線の幅員値をラベル表示。 layer_style_road_width_value.sld layer_sql_road_width_value.txt

    GeoServerでレイヤ設定後、M_レイヤテーブルには下表の内容を設定してください。(7-3参照)

    ※layer_codeの「devps」の部分には14-1で作成したワークスペース名を設定してください。

    レイヤ名 layer_type table_name layer_code layer_query query_require_flg
    道路判定結果(LOD2) 0 f_road_lod2 devps:道路判定結果(LOD2) {roadLod2}object_id:{value} 1
    該当区割り線 0 f_split_line devps:該当区割り線 {splitLine}object_id:{value};max_object_id:{maxWidth};min_object_id:{minWidth} 1
    隣接歩道 0 f_road_lod2 devps:隣接歩道 {sideWalk}side_walks:{side_walk};lot_numbers:{lot_number} 1
    幅員値 0 f_split_line devps:幅員値 @wfs{widthText}object_id:{value} 1

    また、M_区分判定テーブルのsimultaneous_display_layer(同時表示レイヤ)には上記で設定した4レイヤのレイヤコードをカンマ区切りで指定します。

    M_区分判定テーブルでは下表に示したカラムの設定を確認してください。(7-5参照)

    カラム名 エイリアス 道路判定向けの設定注意事項
    gis_judgement GIS判定

    GIS判定を行うか否かと、GIS判定方式を設定

    5=道路判定 で設定してください。

    buffer バッファ

    バッファ判定時のバッファ半径(m,小数可)

    地番+バッファに重なる道路LOD2レイヤを取得する際にバッファ半径として使用するので 道路特性等の利用環境に合わせて設定してください。

    display_attribute_flag 重なり属性表示フラグ

    GIS重なり属性表示を行うか否かと、属性表示方法を設定

    3=概況診断結果一覧テーブルで行を分けて属性表示 を設定してください。

    ※道路判定の場合、table_nameとfield_nameは設定不要です。

    judgement_layer 判定対象レイヤ

    GIS判定で使用するレイヤのレイヤID。

    カンマ区切りで複数指定可

    ※道路判定では本カラムは使用していないので0で設定してください。

    applicable_description 該当表示文言

    該当時に概況診断結果一覧のツールチップと帳票の詳細に表示・出力する文字列

    改行可

    <a></a>で囲んだ範囲の文字列をリンクとして表示

    <span></span>で囲んだ範囲の文字列はstyle属性でスタイル設定可能

    道路判定(gis_judgement=5)の場合、判定結果による文言変更箇所に置換文字列を設定する。置換文字列の設定内容については、7-13. M_道路判定ラベルを参照のこと

    simultaneous_display_layer 同時表示レイヤ

    概況診断結果一覧画面で判定対象レイヤと同時に表示する関連レイヤのID(カンマ区切り)

    道路判定用にM_レイヤに設定した4レイヤのレイヤIDをカンマ区切りで指定してください。

    simultaneous_display_layer_flag 同時表示レイヤ表示有無

    概況診断結果一覧画面で判定対象レイヤと同時に関連レイヤを表示するか否か

    1=表示 を設定してください。

    15 GeoServerのapache設定

    15-1. Apacheの設定

    1. httpd.conf を編集します。

      sudo vi /etc/httpd/conf/httpd.conf
      
    2. 最終行に以下の内容を追記して保存します。

      LimitRequestLine 2097152
      
      <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>
      
    3. 設定を反映する為、apacheの再起動を行います。 合わせてApacheがネットワーク経由で外部サーバに接続できるよう許可しておきます。

      sudo setsebool -P httpd_can_network_connect 1
      sudo systemctl restart httpd
      
    4. 再起動後、「http://<サーバマシンのIPアドレス>/geoserver/」でログイン画面が表示されることを確認してください。

      ※ログインを行って操作する場合は8080ポートを使用してください。セキュリティ上80ポートからのログイン操作は弾かれてしまいます。

    16 アプリケーションデプロイ(Spring Boot)

    確認済みサーバ環境:CentOS Stream 9

    確認済み作業PC環境 :Windows 10 Pro

    16-1. 必要ツールのインストール

    ※作業PC上にて行う

    1. Spring Tool Suite 4のインストールを行ってください。

      https://spring.io/tools

      ※インストール方法の参考サイト:

      https://qiita.com/t-shin0hara/items/d60116ab299a4dc8a9d0

    2. lombokのインストールを行ってください。

      https://projectlombok.org/download

      ※インストール方法の参考サイト:

      https://qiita.com/r_saiki/items/82231ded1450f5ed5671

    16-2. warの作成準備

    ※作業PC上にて行う

    1. /SRC/apiからソースコードを入手し、適当な場所にworkspaceを作成してプロジェクトを配置してください。

    2. Spring Tool Suite 4を起動して、1. で作成したworkspaceをlaunchしてください。

    3. プロジェクトのインポートを行います。

      Import projects .. > Maven > Existing Maven Projectsを選択してください。

      Root Directoryにworkspace内に配置したproject folderを指定します。

    4. Mavenの更新を行います。

      プロジェクト右クリック> Maven > Update Projectを選択してください。

      更新画面でOKを選択すると、Mavenの更新が始まります。

    5. src/main/resources/application.propertiesの編集を行ってください。

      プロパティ一覧と、編集を行う箇所は次章を参照してください。

      変更が必要な設定箇所は以下になります。

      • データベースとの接続情報

      • メールサーバとの接続情報

      • データの座標系

      • 自治体名

      ※application.propertiesが文字化けする場合は、application.propertiesを右クリック>properties>Resource>Text file encodingをUTF-8へ変更してください。

    16-3. warの作成

    ※作業PC上にて行う

    1. プロジェクト右クリック> Run As > Maven buildを選択してください。

    2. Goalsに「package」を入力し、Runボタンを押下します。

    3. targetフォルダにdevelopmentpermissionapi-0.0.1-SNAPSHOT.warが作られていることを確認してください。

    16-4. warのデプロイ

    1. Webサーバの適当な場所にdevelopmentpermissionapi-0.0.1-SNAPSHOT.warをアップロードしてください。ここでは /home/upload/ に転送する事としています。

    2. tomcatに配備します。

      ※配備の際、developmentpermissionapi-0.0.1-SNAPSHOT.war からdevelopmentpermissionapi.warに名前を変更してください。

      cd /home/upload/
      
      sudo mv developmentpermissionapi-0.0.1-SNAPSHOT.war /opt/apache-tomcat/webapps/developmentpermissionapi.war
      

      ※配備後にapplication.propertiesを編集する場合は下記のように行います。編集後、保存して再起動を行ってください。

      sudo vi /opt/apache-tomcat/webapps/developmentpermissionapi/WEB-INF/classes/application.properties
      
      sudo systemctl restart tomcat
      

    16-5. メール設定ファイル、概況診断結果テンプレート、帳票テンプレート、マニュアルの配置

    1. 適当な場所にプロジェクト直下にあるtemplateフォルダの「mail.properties(メール設定ファイル)」、「judgeResult.xlsx(概況診断結果テンプレート)」、「事業者向けマニュアル(PDF形式)」、「行政担当者向けマニュアル(PDF形式)」、「M_帳票マスタテーブルで設定している帳票」をアップロードしてください。

      ※ マニュアルは別途ご用意ください。

      ※ M_帳票マスタテーブルで設定した帳票は事前協議完了時及び許可判定完了時に生成(複製)されます。
      サンプルデータを使用する際の帳票テンプレートはtemplateフォルダで既に用意されています。 対象のテンプレートファイルは以下です。
      「32条協議書.xlsx」、「同意通知書.xlsx」、「調書.xlsx」、「開発行為許可通知書.xlsx」、「開発行為許可申請書.xlsx」
      また、独自の帳票生成を実施する場合、7-22. M_帳票(m_ledger)、7-21. M_帳票ラベル(m_ledger_label)を参照してDB設定及び対応する帳票テンプレートを事前にご準備ください。

      ここではtemplateフォルダ配下のファイル一式を /home/upload/ に転送した例を示しています。

    2. application.propertiesで設定している場所(app.mail.properties.path、app.judge.report.path)に「mail.properties(メール設定ファイル)」と「judgeResult.xlsx(概況診断結果テンプレート)」を配置します。

      必要に応じてフォルダの作成を行ってください。

      application.propertiesで設定済みのパスに合わせて配置します。

      cd /home/upload/
      
      sudo mkdir -p [app.mail.properties.pathで設定したパス]
      
      sudo mkdir -p [app.judge.report.pathで設定したパス]
      
      sudo mv [app.mail.properties.pathで設定したファイル名] [app.mail.properties.pathで設定したパス]
      
      sudo mv [app.judge.report.pathで設定したファイル名] [app.judge.report.pathで設定したパス]
      

      下記はデフォルトの設定場所の場合の手順になります。

      cd /home/upload/
      
      sudo mkdir -p /opt/apache-tomcat/properties/
      
      sudo mkdir -p /mnt/s3/application/report/
      
      sudo mv mail.properties /opt/apache-tomcat/properties/
      
      sudo mv judgeResult.xlsx /mnt/s3/application/report/
      
    3. M_帳票マスタテーブルで設定している帳票を配置します。

      必要に応じてフォルダの作成を行ってください。

      application.properties及びM_帳票マスタテーブルで設定済みのパスに合わせて配置します。

      cd /home/upload/
      
      sudo mkdir -p [app.file.rootpathで設定したパス]/[M_帳票マスタテーブル.template_pathで設定したパス]
      
      sudo mv [M_帳票マスタテーブル.template_pathで設定したファイル名] [app.file.rootpathで設定したパス]/[M_帳票マスタテーブル.template_pathで設定したパス]
      
      

      下記はデフォルトの設定場所の場合の手順になります。

      サンプルデータで使用している「32条協議書.xlsx」、「同意通知書.xlsx」、「調書.xlsx」、「開発行為許可通知書.xlsx」、「開発行為許可申請書.xlsx」の配置方法を示します。

      cd /home/upload/
      
      sudo mkdir -p /mnt/s3/application/ledger/template/
      
      sudo mv 32条協議書.xlsx /mnt/s3/application/ledger/template/
      
      sudo mv 同意通知書.xlsx /mnt/s3/application/ledger/template/
      
      sudo mv 調書.xlsx /mnt/s3/application/ledger/template/
      
      sudo mv 開発行為許可通知書.xlsx /mnt/s3/application/ledger/template/
      
      sudo mv 開発行為許可申請書.xlsx /mnt/s3/application/ledger/template/
      
    4. application.propertiesで設定している場所(app.file.rootpath/app.file.manual.folder/)にマニュアルを配置します。 また、ファイル名は事業者用マニュアルがapp.file.manual.business.file、行政用マニュアルがapp.file.manual.goverment.fileで設定したファイル名とします。

      必要に応じてフォルダの作成を行ってください。

      application.propertiesで設定済みのパスに合わせて配置します。

       cd /home/upload/
      
       sudo mkdir -p [app.file.rootpathで設定したパス]/[app.file.manual.folderで設定したパス]
      
       sudo mv [app.file.manual.business.fileで設定したファイル名] [app.file.rootpathで設定したパス]/[app.file.manual.folderで設定したパス]
      
       sudo mv [app.file.manual.goverment.fileで設定したファイル名] [app.file.rootpathで設定したパス]/[app.file.manual.folderで設定したパス]
      

      下記はデフォルトの設定場所の場合の手順になります。

       cd /home/upload/
      
       sudo mkdir -p /mnt/s3/application/manual/
      
       sudo mv 事業者用マニュアル.pdf /mnt/s3/application/manual/
      
       sudo mv 行政用マニュアル.pdf /mnt/s3/application/manual/
      
    5. 許可判定で使用する開発登録の出力先を作成します。

      application.propertiesで設定している出力先(app.file.developmentRegister.rootPath)を作成します。

       sudo mkdir -p [app.file.developmentRegister.rootPathで設定したパス]
      

      下記はデフォルトの設定場所の場合の手順になります。

       sudo mkdir -p /mnt/s3/application/development_register
      
    6. パーミッションの確認及び変更を行います。

      ディレクトリの所有権及びパーミッションを変更してください。

      下記はデフォルトの設定場所の場合の手順になります。

      sudo chown -hR tomcat:tomcat /mnt/s3/application
      
      sudo chmod -c -R 755 /mnt/s3/application
      
      sudo chown -hR tomcat:tomcat /opt/apache-tomcat/properties
      
      sudo chmod -c -R 755 /opt/apache-tomcat/properties
      
    7. 設定を反映する為、tomcatの再起動を行います。

      sudo systemctl restart tomcat
      

    16-6. Apacheの設定

    1. httpd.conf を編集します。

      sudo vi /etc/httpd/conf/httpd.conf
      

      最終行に以下の内容を追記して保存します。

      ProxyPass /api http://localhost:8080/developmentpermissionapi
      
      ProxyPassReverse /api http://localhost:8080/developmentpermissionapi
      
    2. 設定を反映する為、apacheの再起動を行います。

      sudo systemctl restart httpd
      

    16-7. デプロイ後の確認

    1. http://<サーバマシンのIPアドレス>/api/auth/checkAuth?jigyousya=true にアクセスします。

      ※画面上には何も表示されません。

    2. http://<サーバマシンのIPアドレス>/api/category/viewsにアクセスします。

      下記のように表示されていれば、デプロイが正常に行われています。

    17 アプリケーション設定ファイル更新(Spring Boot)

    以下にアプリケーション設定ファイルの設定一覧を記載します。

    環境やアプリケーションの用途に応じて設定を変更してください。

    ※「環境」列に○がついている項目は、環境や利用目的に応じた設定が必須です。

    ※ 日本語はUnicodeエスケープ形式として記載してください。

    17-1. application.properties

    プロパティ名 環境設定 内容 設定値
    必須 任意
    spring.jpa.database     データベース種類 POSTGRESQL
    spring.datasource.url ○   データベース接続情報 jdbc:postgresql://[DBサーバのIPアドレス]:[DBサーバのポート番号]/[データベース名]
    spring.datasource.username ○   データベースアクセスに使用するユーザ名 postgres
    spring.datasource.password ○   データベースアクセスに使用するパスワード (省略)
    app.mail.host ○   メール送信設定(ホスト名) [SMTPサーバのホスト名]
    app.mail.port ○   メール送信設定(ポート番号) [SMTPサーバのポート番号]
    app.mail.username ○   メール送信設定(ユーザ名) [SMTPサーバのユーザ名]
    app.mail.password ○   メール送信設定(パスワード) [SMTPサーバのパスワード]
    app.mail.sendfrom ○  

    メール送信設定

    (送信元アドレス)

    送信元のメールアドレス
    app.mail.accept.timestamp.format     メールの申請登録日時フォーマット yyyy/MM/dd HH:mm
    app.mail.validsendmail ○   メール通知機能有効・無効
    ※TRUE = 有効/FALSE=無効
    TRUE
    app.mail.send.interval     問い合わせメール通知間隔(分) 1
    app.mail.send.answer.update     回答更新通知(行政向け)を送信するかどうか (0:送信しない、1:送信する) 0
    app.applicant.name.item.number     O_申請者情報の氏名を格納したアイテム番号(メール通知で使用) 1
    app.cors.allowed.origins ○ CORS許可オリジン

    本API実行を許可するoriginを指定
    例)https://example.com

    app.filter.ignore     フィルタの例外パス

    (省略)

    ※ ログイン画面でも使用する為、「/label」の例外path設定は必須

    app.filter.goverment     フィルタの行政のみ許可するパス (省略)
    app.filter.unable     アクセス不能パス (省略)
    app.custom.log.flag ○

    カスタムログを使用するかどうか


    ※カスタムログは利用者のアクセス履歴を記録するために使用するログになります。目的に応じて設定を変更してください。

    true
    logging.level.org.springframework.web   ○ アプリケーションログ出力レベル設定 INFO
    logging.level.developmentpermission   ○ アプリケーションログ出力レベル設定 DEBUG
    spring.servlet.multipart.max-file-size     ファイル1つの最大サイズ 50MB
    spring.servlet.multipart.max-request-size     複数ファイル全体の最大サイズ 100MB
    server.address     Server IP Address 127.0.0.1
    app.filter.cookie.expire     Cookieの有効時間(秒) 2592000
    app.epsg ○   システムテーブル内GeometryのEPSG
    ※地番、判定レイヤの座標系に合わせて変更してください。
    [平面直角座標系のEPSG]
    例)2450
    app.lonlat.epsg     画面表示応答で使用する座標系(EPSG) 4326
    app.city.name ○   市町村名 [市町村名]
    app.jwt.token.secretkey ○

    JWTの秘密鍵

    ※tokenの検証や署名で使用

    [自治体固有のsecretKey]
    app.api.secretkey ○

    リマインド通知APIの認証で使用する共通鍵

    [自治体固有のsecretKey]
    logging.file.name   ○ ログ出力ファイル名 /opt/apache-tomcat/logs/developmentpermission/developmentPermission.log
    app.mail.properties.path     メール通知系定義プロパティパス /opt/apache-tomcat/properties/mail.properties
    app.judge.report.path     テンプレートパス /mnt/s3/application/report/judgeResult.xlsx
    app.file.rootpath     ファイル管理rootパス /mnt/s3/application
    app.file.application.folder     申請ファイル管理フォルダパス /application
    app.file.answer.folder     回答ファイル管理フォルダパス /answer
    app.file.inquiry.folder     問合せファイル管理フォルダパス /chat
    app.file.manual.folder     マニュアルファイル管理フォルダパス /manual
    app.file.ledger.folder     帳票ファイル管理フォルダパス /ledger
    app.file.manual.business.file   〇 事業者用マニュアルファイル \u4e8b\u696d\u8005\u7528\u30de\u30cb\u30e5\u30a2\u30eb.pdf
    app.file.manual.goverment.file   〇 行政用マニュアルファイル \u884c\u653f\u7528\u30de\u30cb\u30e5\u30a2\u30eb.pdf
    app.file.service.rootpath     レイヤ関連ファイル取得サービスルートパス /mnt/s3/application/layer
    app.file.judgement.folder     概況診断画像管理フォルダパス /opt/apache-tomcat/img_tmp
    app.json.log.rootPath.judgeresult   概況診断結果ログのpath /mnt/s3/application/customlogs/judgeresult/
    app.file.developmentRegister.rootPath   開発登録簿ファイル出力ルートパス /mnt/s3/application/development_register
    app.csv.log.path.business.login   事業者ログイン(アクセス)ログのpath /mnt/s3/application/customlogs/business_login_log.csv
    app.csv.log.path.judge.report   概況診断結果レポート(出力件数)ログのpath /mnt/s3/application/customlogs/judge_report_log.csv
    app.csv.log.path.application.register   申請登録ログのpath /mnt/s3/application/customlogs/application_register_log.csv
    app.csv.log.path.administration.login   行政ログインログのpath /mnt/s3/application/customlogs/administration_login_log.csv
    app.csv.log.path.answer.register   回答登録ログのpath /mnt/s3/application/customlogs/answer_register_log.csv
    app.csv.log.path.answer.notification   回答通知ログのpath /mnt/s3/application/customlogs/answer_notification_log.csv
    app.csv.log.path.answer.confirm     回答確認ログのpath /mnt/s3/application/customlogs/answer_confirm_log.csv
    app.csv.log.path.questionnaire.reply     利用目的保存ログのpath /mnt/s3/application/customlogs/questionnaire_reply_log.csv
    app.csv.log.path.application.reapplication     再申請登録ログのpath /mnt/s3/application/customlogs/application_reapplication_log.csv
    app.csv.log.path.chat.business.message.post     チャット投稿(事業者)ログのpath /mnt/s3/application/customlogs/chat_business_message_post_log.csv
    app.csv.log.path.chat.government.message.post     チャット投稿(行政)ログのpath /mnt/s3/application/customlogs/chat_government_message_post_log.csv
    app.csv.log.path.lotnumber.search.establishment     地番検索(事業者)ログのpath /mnt/s3/application/customlogs/lotnumber_search_establishment_log.csv
    app.csv.log.path.category.views     申請区分項目取得ログのpath /mnt/s3/application/customlogs/category_views_log.csv
    app.csv.log.path.answer.consent.input     同意項目承認否認登録(事業者)ログのpath /mnt/s3/application/customlogs/answer_consent_input_log.csv
    app.csv.log.path.answer.register.government.confirm     回答登録(行政確定登録内容登録(事前協議のみ))ログのpath /mnt/s3/application/customlogs/answer_government_confirm_register_log.csv
    app.csv.log.path.answer.register.government.confirm.department     回答登録(部署回答行政確定登録内容登録(事前協議のみ))ログのpath /mnt/s3/application/customlogs/department_answer_government_confirm_register_log.csv
    app.def.questionarypurpose   〇

    利用目的定義(アンケート用)

    ※事業者向け初期画面で利用目的のログ集計が可能です。画面に表示する選択項目の設定をここで実施してください。

    初期値では以下が設定されています。

    0:開発許可

    1:その他

    app.def.judgementType   〇

    概況診断タイプ定義

    ※申請区分選択画面で概況診断タイプの選択が可能です。選択可能な概況診断タイプとコード値の対応をここで設定してください。設定したコード値は、7-1. M_申請区分選択画面で、表示対象の画面に対して概況診断タイプとして設定してください。

    初期値では以下が設定されています。

    0:開発許可

    1:その他

    app.judgementtype.default.value   〇 概況診断タイプリストのデフォルト選択値 0
    app.applicationtype.inapplicable    

    申請不可の申請種類

    ※申請区分選択画面で、申請不可の申請種類が選択したら、概況診断結果表示画面で、申請ボタンが非活性になる。設定したコード値は、7-19. M_申請種類を参考して設定してください。

    初期値では何も設定されていません。
    app.application.answer.buffer.days   〇 申請登録時の回答予定のバッファ日数(各区分判定の回答予定日数最大値に追加で加算) 0
    app.application.step2.control.department.buffer.days   〇 事前協議の申請登録時の統括部署向けのバッファ日数 2
    app.application.step2.control.department.accepting.confirm.days   〇 事前協議の統括部署の受付確認日数 1
    app.roadjudge.roadcenterline.buffer   〇 道路判定 道路中心線取得バッファ(m) 15.0
    app.roadjudge.roadtype.nondisplay.value   〇 道路判定 道路種別該当時文言非表示対象道路種別値(該当時に他の案内文言を非表示とする道路種別値をカンマ区切りで指定) 1,2,3,9020
    app.roadjudge.roadtype.nondisplay.identifyText   〇 道路判定 道路種別該当時文言非表示対象テキスト識別子(該当時に非表示とする対象の案内文言の識別子をカンマ区切りで指定) {width_text_area},{max_width_text_area},{min_width_text_area},{split_line_result_area},{walkway_result_area},{display_by_width_area}
    app.roadjudge.roadtype.unknown.value   〇 道路判定 道路種別不明値 9020
    app.role.business     事業者のロール 1
    app.department.business     事業者の部署コード 0000000000
    app.file.answer.foldername.format     回答ファイル用フォルダのtimestampフォーマット yyyyMMddHHmmssSSS
    app.def.status     申請ステータス定義  
    app.def.answerstatus     問合せステータス定義  
    app.def.itemanswerstatus     条文ステータス定義  
    app.def.answerfilehistory.updatetype     回答ファイル履歴更新タイプ定義  
    app.def.answer.notify.type     回答通知の通知種別定義(ログ出力用)  
    app.def.answer.register.updatetype     回答登録の操作種別定義(ログ出力用)  
    app.category.judgement.attribute.joint     概況診断 重なり属性表示フラグが1の場合の属性区切り文字 \u30FB
    app.category.judgement.attribute.distance.replaceText 概況診断 距離表示置き換え文字 {distance}
    app.category.judgement.attribute.distance.replacedText 概況診断 距離表示置き換え後文字 \u8ddd\u96e2\uff1a
    app.category.judgement.attribute.distance.applicationAreaText 概況診断 距離表示置き換え後文字(申請地範囲内の場合の表示文言) \u7533\u8acb\u5730\u7bc4\u56f2\u5185
    app.category.judgement.distance.epsg 概況診断 距離判定時に使用するepsg 4612
    app.application.versioninformation.text 申請版情報表示用文字列 \u7b2c{version}\u7248
    app.application.versioninformation.replacetext 申請版情報置換文字列 {version}
    app.application.default.reapplication.false 申請登録時再申請不要で登録する区分判定概要文字列(カンマ区切り) \u4e8b\u524d\u76f8\u8ac7\u4e0d\u8981
    app.application.default.reapplication.true 申請登録時再申請必要で登録する区分判定概要文字列(カンマ区切り) \u8981\u518d\u7533\u8acb
    app.application.default.discussion.false 申請登録時事前協議不要で登録する区分判定概要文字列(カンマ区切り) \u4e8b\u524d\u5354\u8b70\u4e0d\u8981
    app.application.default.discussion.true 申請登録時事前協議必要で登録する区分判定概要文字列(カンマ区切り) \u8981\u4e8b\u524d\u5354\u8b70
    app.application.goverment.add.answer.title 回答登録時行政で登録した回答の関連条項表示文字列 \u305d\u306e\u4ed6
    app.application.permission.default.add.judgementItemId 許可判定の申請登録時一律追加の判定項目ID(カンマ区切り) 9991,9992
    app.category.judgement.attribute.nullValue 概況診断 属性NULL時表示文字 ---
    app.roadjudge.splitcenterline.buffer 道路判定 分割道路中心線取得時分割処理用バッファ径(m) 0.001
    app.roadjudge.roadMaxWidth.replaceText 道路判定 道路部幅員置き換え文字 {road_max_width}
    app.roadjudge.roadwayMaxWidth.replaceText 道路判定 車道幅員置き換え文字 {roadway_max_width}
    app.roadjudge.roadMinWidth.replaceText 道路判定 道路部最小幅員置き換え文字 {road_min_width}
    app.roadjudge.roadwayMinWidth.replaceText 道路判定 車道幅員最小置き換え文字 {roadway_min_width}
    app.roadjudge.layerQueryReplaceText.value 道路判定 レイヤクエリ値置き換え文字 {value}
    app.roadjudge.identifyText.roadLod2Layer 道路判定 道路LOD2レイヤ識別文字 {roadLod2}
    app.roadjudge.identifyText.splitLineLayer 道路判定 区割り線レイヤ識別文字 {splitLine}
    app.roadjudge.identifyText.maxWidthLayer 道路判定 最大幅員レイヤ識別文字 {maxWidth}
    app.roadjudge.identifyText.minWidthLayer 道路判定 最小幅員レイヤ識別文字 {minWidth}
    app.roadjudge.identifyText.sideWalkLayer 道路判定 隣接歩道レイヤ識別文字 {sideWalk}
    app.roadjudge.identifyText.widthTextLayer 道路判定 幅員値レイヤ識別文字 {widthText}
    app.roadjudge.identifyText.sideWalkLayer.lotNumber 道路判定 隣接歩道地番ID値置き換え文字 {lot_number}
    app.roadjudge.identifyText.sideWalkLayer.sideWalk 道路判定 隣接歩道隣接歩道ID値置き換え文字 {side_walk}
    app.roadjudge.identifyText.widthTextArea 道路判定 幅員表示範囲識別文字 {width_text_area}
    app.roadjudge.identifyText.maxWidthTextArea 道路判定 最大幅員表示範囲識別文字 {max_width_text_area}
    app.roadjudge.identifyText.minWidthTextArea 道路判定 最小幅員表示範囲識別文字 {min_width_text_area}
    app.roadjudge.identifyText.splitLineResult 道路判定 分割線取得結果表示範囲識別文字 {split_line_result_area}
    app.roadjudge.identifyText.walkwayResult 道路判定 隣接歩道判定結果表示範囲識別文字 {walkway_result_area}
    app.roadjudge.identifyText.displayByWidth 道路判定 幅員による段階表示範囲識別文字 {display_by_width_area}
    app.roadjudge.identifyText.roadTypeResult 道路判定 道路種別案内表示範囲識別文字 {road_type_result_area}
    app.roadjudge.splitLineResult.flag.bothSide 道路判定 分割線取得結果 両側取得フラグ値 2
    app.roadjudge.splitLineResult.flag.oneSide 道路判定 分割線取得結果 片側取得フラグ値 1
    app.roadjudge.splitLineResult.flag.noSide 道路判定 分割線取得結果 取得なしフラグ値 0
    app.roadjudge.splitLineResult.flag.error 道路判定 分割線取得結果 取得エラーフラグ値 -1
    app.roadjudge.walkwayResult.true 道路判定 隣接歩道判定結果 隣接有りフラグ値 1
    app.roadjudge.walkwayResult.false 道路判定 隣接歩道判定結果 隣接なしフラグ値 0
    app.roadjudge.widthErrorCode 道路判定 幅員エラーコード 9999
    app.applicant.id.length     照合IDの文字数 20
    app.password.length     パスワード発行時の文字数 10
    app.password.character     パスワードに使用する文字種 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
    app.application.report.filename.header     申請登録時の概況診断レポート接頭句 \u6982\u6CC1\u8A3A\u65AD\u7D50\u679C_
    app.application.report.filename.footer     申請登録時の概況診断レポート接尾句(日付フォーマット) _yyyy_MM_dd
    app.application.report.fileid     申請登録時の概況診断レポートのファイルID 9999
    app.answer.report.filename.header     回答通知時の回答レポート接頭句 \u56de\u7b54\u30ec\u30dd\u30fc\u30c8_
    app.answer.report.filename.footer     回答通知時の回答レポート接尾句(日付フォーマット) _yyyy_MM_dd
    app.answer.report.fileid     回答通知時の回答レポートのファイルID 9998
    app.answer.report.master.filename     回答レポートの表示名 \u56de\u7b54\u30ec\u30dd\u30fc\u30c8
    app.lotnumber.getfigure.limit     範囲選択時地番取得上限 500
    app.lotnumber.result.type.lotnumber     テーブル種別: 地番 1
    app.lotnumber.result.type.district     テーブル種別: 大字 0
    app.application.result.type.category     参照タイプ: 申請区分 0
    app.application.result.type.applicant     参照タイプ: 申請者情報 1
    app.application.result.type.other     参照タイプ: その他 2
    app.application.table.application.category     テーブル名: O_申請区分 o_application_category
    app.application.table.application.category.master     テーブル名: M_申請区分 m_application_category
    app.application.table.applicant.information     テーブル名: O_申請者情報 o_applicant_information
    app.application.table.answer     テーブル名: O_回答 o_answer
    app.application.table.category.judgement     テーブル名: M_区分設定 m_category_judgement
    app.application.table.department     テーブル名: M_部署 m_department
    app.application.table.application     テーブル名: O_申請 o_application
    app.application.column.status     カラム名:O_申請.ステータス status
    app.application.column.applicationid     カラム名:O_申請.申請ID application_id
    app.application.category.column.applicationid     O_申請区分 申請ID application_id
    app.application.category.column.viewid     O_申請区分 画面ID view_id
    app.application.category.column.categoryid     O_申請区分 申請区分ID category_id
    app.application.category.master.column.categoryid     M_申請区分 申請区分ID category_id
    app.application.category.master.column.viewid     M_申請区分 画面ID view_id
    app.application.category.master.column.order     M_申請区分 昇順 order
    app.application.category.master.column.labelname     M_申請区分 選択肢名 label_name
    app.applicant.information.column.applicationid     O_申請者情報 申請ID application_id
    app.applicant.information.column.applicantid     O_申請者情報 申請者情報ID applicant_id
    app.applicant.information.column.item1     O_申請者情報 項目1 item_1
    app.applicant.information.column.item2     O_申請者情報 項目2 item_2
    app.applicant.information.column.item3     O_申請者情報 項目3 item_3
    app.applicant.information.column.item4     O_申請者情報 項目4 item_4
    app.applicant.information.column.item5     O_申請者情報 項目5 item_5
    app.applicant.information.column.item6     O_申請者情報 項目6 item_6
    app.applicant.information.column.item7     O_申請者情報 項目7 item_7
    app.applicant.information.column.item8     O_申請者情報 項目8 item_8
    app.applicant.information.column.item9     O_申請者情報 項目9 item_9
    app.applicant.information.column.item10     O_申請者情報 項目10 item_10
    app.applicant.information.column.mailaddress     O_申請者情報 メールアドレス mail_address
    app.applicant.information.column.collationid     O_申請者情報 照合ID collation_id
    app.applicant.information.column.password     O_申請者情報 パスワード password
    app.answer.column.answerid     O_回答 回答ID answer_id
    app.answer.column.applicationid     O_回答 申請ID application_id
    app.answer.column.judgementid     O_回答 判定項目ID judgement_id
    app.answer.column.judgementresult     O_回答 判定結果 judgement_result
    app.answer.column.answercontent     O_回答 回答内容 answer_content
    app.answer.column.notifiedtext     O_回答 通知テキスト notified_text
    app.answer.column.registerdatetime     O_回答 登録日時 register_datetime
    app.answer.column.updatedatetime     O_回答 更新日時 update_datetime
    app.answer.column.completeflag     O_回答 完了フラグ complete_flag
    app.answer.column.notifiedflag     O_回答 通知フラグ notified_flag
    app.category.judgement.column.judgementitemid     M_区分判定 判定項目ID judgement_item_id
    app.category.judgement.column.departmentid     M_区分判定 担当部署ID department_id
    app.category.judgement.column.category1     M_区分判定 区分1 category_1
    app.category.judgement.column.category2     M_区分判定 区分2 category_2
    app.category.judgement.column.category3     M_区分判定 区分3 category_3
    app.category.judgement.column.category4     M_区分判定 区分4 category_4
    app.category.judgement.column.category5     M_区分判定 区分5 category_5
    app.category.judgement.column.category6     M_区分判定 区分6 category_6
    app.category.judgement.column.category7     M_区分判定 区分7 category_7
    app.category.judgement.column.category8     M_区分判定 区分8 category_8
    app.category.judgement.column.category9     M_区分判定 区分9 category_9
    app.category.judgement.column.category10     M_区分判定 区分10 category_10
    app.category.judgement.column.gisjudgement     M_区分判定 GIS判定 gis_judgement
    app.category.judgement.column.buffer     M_区分判定 バッファ buffer
    app.category.judgement.column.judgementlayer     M_区分判定 判定対象レイヤ judgement_layer
    app.category.judgement.column.title     M_区分判定 タイトル title
    app.category.judgement.column.applicablesummary     M_区分判定 該当表示概要 applicable_summary
    app.category.judgement.column.applicabledescription     M_区分判定 該当表示文言 applicable_description
    app.category.judgement.column.nonapplicabledisplayflag     M_区分判定 非該当表示有無 non_applicable_display_flag
    app.category.judgement.column.nonapplicablesummary     M_区分判定 非該当表示概要 non_applicable_summary
    app.category.judgement.column.nonapplicabledescription     M_区分判定 非該当表示文言 non_applicable_description
    app.category.judgement.column.tablename     M_区分判定 テーブル名 table_name
    app.category.judgement.column.fieldname     M_区分判定 フィールド名 field_name
    app.category.judgement.column.nonapplicablelayerdisplayflag     M_区分判定 判定レイヤ非該当時表示有無 non_applicable_layer_display_flag
    app.category.judgement.column.simultaneousdisplaylayer     M_区分判定 同時表示レイヤ simultaneous_display_layer
    app.category.judgement.column.simultaneousdisplaylayerflag     M_区分判定 同時表示レイヤ表示有無 simultaneous_display_layer_flag
    app.department.column.departmentid     M_部署 部署ID department_id
    app.department.column.departmentname     M_部署 部署名 department_name
    app.department.column.answerauthorityflag     M_部署 回答権限フラグ answer_authority_flag
    app.department.column.mailaddress     M_部署 メールアドレス mail_address
    app.chat.search.title.step2     問合せ検索 対象列出力内容(事前協議) \u4e8b\u524d\u5354\u8b70\u554f\u5408\u305b\uff08{department_name}\uff09
    app.chat.search.title.step3     問合せ検索 対象列出力内容(許可判定) \u8a31\u53ef\u5224\u5b9a\u554f\u5408\u305b
    app.chat.search.title.step2.replaceText     問合せ検索 対象列出力内容置換文字列(事前協議) {department_name}
    app.chat.search.csv.headName.status     問合せ検索CSV出力 出力ラベル名:ステータス \u30b9\u30c6\u30fc\u30bf\u30b9
    app.chat.search.csv.headName.applicationid     問合せ検索CSV出力 出力ラベル名:申請ID \u7533\u8acbID
    app.chat.search.csv.headName.title     問合せ検索CSV出力 出力ラベル名:対象 \u5bfe\u8c61
    app.chat.search.csv.headName.department     問合せ検索CSV出力 出力ラベル名:回答担当課 \u56de\u7b54\u62c5\u5f53\u8ab2
    app.chat.search.csv.headName.initialDate     問合せ検索CSV出力 出力ラベル名:初回投稿日時 \u521d\u56de\u6295\u7a3f\u65e5\u6642
    app.chat.search.csv.headName.latestDate     問合せ検索CSV出力 出力ラベル名:最新投稿日時 \u6700\u65b0\u6295\u7a3f\u65e5\u6642
    app.chat.search.csv.headName.latestAnswer     問合せ検索CSV出力 出力ラベル名:最新回答者 \u6700\u65b0\u56de\u7b54\u8005
    app.chat.search.csv.headName.latestAnswerDate     問合せ検索CSV出力 出力ラベル名:最新回答日時 \u6700\u65b0\u56de\u7b54\u65e5\u6642
    app.application.answer.file.item.step2     申請回答情報の回答ファイル一覧 対象列出力内容(事前協議) \u4e8b\u524d\u5354\u8b70\u56de\u7b54\u30d5\u30a1\u30a4\u30eb\uff08{department_name}\uff09
    app.application.answer.file.item.step2.replaceText     申請回答情報の回答ファイル一覧 対象列出力内容置換文字列(事前協議) {department_name}
    app.application.answer.file.item.step3     申請回答情報の回答ファイル一覧 対象列出力内容(許可判定) \u8a31\u53ef\u5224\u5b9a\u56de\u7b54\u30d5\u30a1\u30a4\u30eb
    app.judge.report.name     ダウンロード時のファイル名 judgeReport.xlsx
    app.answer.report.name     ダウンロード時のファイル名(回答レポート) answerReport.xlsx
    app.judge.report.page.maxrow     ページ当たりの最大行数 47
    app.judge.report.font.name     帳票フォント名 \u6E38\u30B4\u30B7\u30C3\u30AF
    app.judge.report.separator     複数項目の区切り文字 ,
    app.judge.report.date.row     出力日 出力行 0
    app.judge.report.date.col     出力日 出力列 5
    app.judge.report.date.format     出力日 フォーマット yyyy/MM/dd
    app.judge.report.overview.startrow     概況図 開始行 1
    app.judge.report.overview.endrow     概況図 終了行 6
    app.judge.report.overview.startcol     概況図 開始列 5
    app.judge.report.overview.endcol     概況図 終了列 20
    app.judge.report.category.startrow     区分 開始行 7
    app.judge.report.category.endrow     区分 終了行 16
    app.judge.report.title.col     区分名 出力列 0
    app.judge.report.description.col     区分説明 出力列 5
    app.judge.report.address.row     開発予定地 出力行 1
    app.judge.report.address.col     開発予定地 出力列 21
    app.judge.report.lotnumber.separators     開発予定地 番地区切り文字群(正規表現) [-,\uff0d,\u2010,\u2015,\u306e\u3000]
    app.judge.report.judgeresult.startrow     判定結果出力開始行 18
    app.judge.report.judgeresult.mergerow     判定結果 結合行数 2
    app.judge.report.judgeresult.title.col     判定結果タイトル 出力列 0
    app.judge.report.judgeresult.title.mergecol     判定結果タイトル 結合列数 12
    app.judge.report.judgeresult.title.font.size     判定結果タイトル 文字サイズ 8
    app.judge.report.judgeresult.summary.col     判定結果要約 出力列 12
    app.judge.report.judgeresult.summary.mergecol     判定結果要約 結合列数 17
    app.judge.report.judgeresult.summary.font.size     判定結果要約 文字サイズ 7
    app.judge.report.judgeresult.description.mergerow     判定結果詳細 行結合数 11
    app.judge.report.judgeresult.description.title.col     判定結果詳細 タイトル出力列 0
    app.judge.report.judgeresult.description.title.font.size     判定結果詳細 タイトル 文字サイズ 8
    app.judge.report.judgeresult.description.title.mergecol     判定結果詳細 タイトル 結合列数 6
    app.judge.report.judgeresult.description.col     判定結果詳細 詳細列 6
    app.judge.report.judgeresult.description.mergecol     判定結果詳細 詳細結合列数 13
    app.judge.report.judgeresult.description.font.size     判定結果詳細 詳細 文字サイズ 8
    app.judge.report.judgeresult.description.image.col     判定結果詳細 画像列 19
    app.judge.report.judgeresult.description.image.mergecol     判定結果詳細 画像結合列数 10
    app.judge.report.judgeresult.description.nogis.label     「画像なし 区分判定」ラベル \u753B\u50CF\u306A\u3057\r\n\u533A\u5206\u5224\u5B9A
    app.judge.report.judgeresult.description.noapply.label     「画像なし 非該当」ラベル \u753b\u50cf\u306a\u3057\r\n\u975e\u8a72\u5f53
    app.judge.report.judgeresult.description.nogis.label.size     「画像なし 区分判定」ラベル文字サイズ 20
    app.judge.report.judgeresult.description.answer.title.megerow     判定結果詳細 回答タイトル結合行数 1
    app.judge.report.judgeresult.description.answer.title.mergecol     判定結果詳細 回答タイトル結合列数 23
    app.judge.report.judgeresult.description.answer.title.template.text1     判定結果詳細 回答タイトルテンプレート文字列1 \u56de\u7b54(ID=
    app.judge.report.judgeresult.description.answer.title.template.text2     判定結果詳細 回答タイトルテンプレート文字列2 )
    app.judge.report.judgeresult.description.answer.title.template.text3     判定結果詳細 回答タイトルテンプレート文字列3 \u56de\u7b54
    app.judge.report.judgeresult.description.answer.title.col     判定結果詳細 回答タイトル出力列 6
    app.judge.report.judgeresult.description.answer.content.mergerow     判定結果詳細 回答内容結合行数 11
    app.judge.report.judgeresult.description.answer.content.mergecol     判定結果詳細 回答内容結合列数 23
    app.judge.report.judgeresult.description.answer.content.col     判定結果詳細 回答内容出力列 6
    app.judge.report.judgeresult.description.answer.title.noapply     判定結果詳細 回答タイトル非該当時文字列 \u56de\u7b54(\u975e\u8a72\u5f53)
    app.judge.report.judgeresult.description.answer.content.noapply     判定結果詳細 回答内容非該当時文字列 \u975e\u8a72\u5f53\u3067\u3059\u3002
    app.judge.report.judgeresult.description.answer.delete     判定結果詳細 行政による回答削除 \u3053\u306e\u9805\u76ee\u306f\u884c\u653f\u62c5\u5f53\u8005\u306b\u3088\u308a\u524a\u9664\u3055\u308c\u307e\u3057\u305f\u3002
    app.csv.log.header.business.login   事業者ログイン(アクセス)ログのheader カンマ区切り \u30ed\u30b0\u30a4\u30f3\u65e5\u6642,\u30a2\u30af\u30bb\u30b9ID,IP\u30a2\u30c9\u30ec\u30b9
    app.csv.log.header.judge.report   概況診断結果レポート(出力件数)ログのheader カンマ区切り \u30a2\u30af\u30bb\u30b9\u65e5\u6642,\u30a2\u30af\u30bb\u30b9ID,\u6982\u6cc1\u8a3a\u65ad\u7d50\u679cID,\u7533\u8acb\u7a2e\u985e,\u7533\u8acb\u6bb5\u968e\r\n
    app.csv.log.header.application.register   申請登録ログのheader カンマ区切り \u30a2\u30af\u30bb\u30b9ID,\u30a2\u30af\u30bb\u30b9\u65e5\u6642,\u6982\u6cc1\u8a3a\u65ad\u7d50\u679cID,\u7533\u8acbID,\u7533\u8acb\u7a2e\u985e,\u7533\u8acb\u6bb5\u968e
    app.csv.log.header.administration.login   行政ログインログのheader カンマ区切り \u30a2\u30af\u30bb\u30b9ID,IP\u30a2\u30c9\u30ec\u30b9,\u30ed\u30b0\u30a4\u30f3\u65e5\u6642,\u30ed\u30b0\u30a4\u30f3\u30e6\u30fc\u30b6,\u6240\u5c5e\u90e8\u7f72
    app.csv.log.header.answer.register   回答登録ログのheader カンマ区切り \u30a2\u30af\u30bb\u30b9ID,\u767b\u9332\u65e5\u6642,\u64cd\u4f5c\u30e6\u30fc\u30b6,\u64cd\u4f5c\u30e6\u30fc\u30b6\u6240\u5c5e\u90e8\u7f72,\u7533\u8acbID,,\u7533\u8acb\u7a2e\u985e,\u7533\u8acb\u6bb5\u968e,\u7248\u60c5\u5831,\u64cd\u4f5c\u7a2e\u5225,\u56de\u7b54ID,\u56de\u7b54\u5bfe\u8c61\u6761\u9805,\u66f4\u65b0\u3057\u305f\u56de\u7b54\u5185\u5bb9
    app.csv.log.header.answer.notification   回答通知ログのheader カンマ区切り \u30a2\u30af\u30bb\u30b9ID,\u901a\u77e5\u65e5\u6642,\u64cd\u4f5c\u30e6\u30fc\u30b6,\u64cd\u4f5c\u30e6\u30fc\u30b6\u6240\u5c5e\u90e8\u7f72,\u7533\u8acbID,\u7533\u8acb\u7a2e\u985e,\u7533\u8acb\u6bb5\u968e,\u7248\u60c5\u5831,\u901a\u77e5\u7a2e\u5225
    app.csv.log.header.answer.confirm   回答確認ログのheader カンマ区切り \u30a2\u30af\u30bb\u30b9ID,\u30a2\u30af\u30bb\u30b9\u65e5\u6642,\u7533\u8acbID,\u7533\u8acb\u7a2e\u985e,\u7533\u8acb\u6bb5\u968e,\u7248\u60c5\u5831
    app.csv.log.header.questionnaire.reply   アンケートの利用目的保存ログのheader カンマ区切り \u30a2\u30af\u30bb\u30b9ID,\u5229\u7528\u76ee\u7684
    app.csv.log.header.application.reapplication   再申請登録ログのheader カンマ区切り \u30a2\u30af\u30bb\u30b9ID,\u30a2\u30af\u30bb\u30b9\u65e5\u6642,\u7533\u8acbID,\u7533\u8acb\u7a2e\u985e,\u7533\u8acb\u6bb5\u968e,\u7248\u60c5\u5831
    app.csv.log.header.chat.business.message.post   チャット投稿(事業者)ログのheader カンマ区切り \u30a2\u30af\u30bb\u30b9ID,\u30a2\u30af\u30bb\u30b9\u65e5\u6642,\u7533\u8acbID,\u7533\u8acb\u7a2e\u985e,\u7533\u8acb\u6bb5\u968e,\u56de\u7b54ID,\u554f\u5408\u305b\u90e8\u7f72
    app.csv.log.header.lotnumber.search.establishment   地番検索(事業者)ログのheader カンマ区切り \u30a2\u30af\u30bb\u30b9ID,\u30a2\u30af\u30bb\u30b9\u65e5\u6642
    app.csv.log.header.category.views   地番検索(事業者)ログのheader カンマ区切り \u30a2\u30af\u30bb\u30b9ID,\u30a2\u30af\u30bb\u30b9\u65e5\u6642
    app.csv.log.header.chat.government.message.post   チャット投稿(行政)ログのheader カンマ区切り \u30a2\u30af\u30bb\u30b9ID,\u30a2\u30af\u30bb\u30b9\u65e5\u6642,\u64cd\u4f5c\u30e6\u30fc\u30b6,\u64cd\u4f5c\u30e6\u30fc\u30b6\u6240\u5c5e\u90e8\u7f72,\u7533\u8acbID,\u7533\u8acb\u7a2e\u985e,\u7533\u8acb\u6bb5\u968e,\u56de\u7b54ID,\u554f\u5408\u305b\u90e8\u7f72
    app.csv.log.header.answer.consent.input     同意項目承認否認登録(事業者(事前協議のみ))ログのheader カンマ区切り \u30a2\u30af\u30bb\u30b9ID,\u767b\u9332\u65e5\u6642,\u7533\u8acbID,\u7533\u8acb\u7a2e\u985e,\u7533\u8acb\u6bb5\u968e,\u7248\u60c5\u5831,\u56de\u7b54ID,\u56de\u7b54\u5bfe\u8c61,\u66f4\u65b0\u3057\u305f\u4e8b\u696d\u8005\u5408\u5426\u30b9\u30c6\u30fc\u30bf\u30b9,\u66f4\u65b0\u3057\u305f\u4e8b\u696d\u8005\u5408\u5426\u30b3\u30e1\u30f3\u30c8
    app.csv.log.header.answer.register.government.confirm     回答登録(行政確定登録内容登録(事前協議のみ))ログのheader カンマ区切り \u30a2\u30af\u30bb\u30b9ID,\u767b\u9332\u65e5\u6642,\u64cd\u4f5c\u30e6\u30fc\u30b6,\u64cd\u4f5c\u30e6\u30fc\u30b6\u6240\u5c5e\u90e8\u7f72,\u7533\u8acbID,\u7533\u8acb\u7a2e\u985e,\u7533\u8acb\u6bb5\u968e,\u7248\u60c5\u5831,\u56de\u7b54ID,\u56de\u7b54\u5bfe\u8c61,\u66f4\u65b0\u3057\u305f\u884c\u653f\u78ba\u8a8d\u767b\u9332\u30b9\u30c6\u30fc\u30bf\u30b9,\u66f4\u65b0\u3057\u305f\u884c\u653f\u78ba\u8a8d\u767b\u9332\u65e5\u6642,\u66f4\u65b0\u3057\u305f\u884c\u653f\u78ba\u8a8d\u767b\u9332\u30b3\u30e1\u30f3\u30c8
    app.csv.log.header.answer.register.government.confirm.department     回答登録(部署全体の行政確定登録内容登録(事前協議のみ))ログのheader カンマ区切り \u30a2\u30af\u30bb\u30b9ID,\u767b\u9332\u65e5\u6642,\u64cd\u4f5c\u30e6\u30fc\u30b6,\u64cd\u4f5c\u30e6\u30fc\u30b6\u6240\u5c5e\u90e8\u7f72,\u7533\u8acbID,\u7533\u8acb\u7a2e\u985e,\u7533\u8acb\u6bb5\u968e,\u7248\u60c5\u5831,\u90e8\u7f72\u56de\u7b54ID,\u56de\u7b54\u5bfe\u8c61\u90e8\u7f72,\u66f4\u65b0\u3057\u305f\u884c\u653f\u78ba\u8a8d\u767b\u9332\u30b9\u30c6\u30fc\u30bf\u30b9,\u66f4\u65b0\u3057\u305f\u884c\u653f\u78ba\u8a8d\u767b\u9332\u65e5\u6642,\u66f4\u65b0\u3057\u305f\u884c\u653f\u78ba\u8a8d\u767b\u9332\u30b3\u30e1\u30f3\u30c8
    app.answer.deadlineXDaysAgo   〇 回答.期日X日前 3
    app.answer.bufferDays   〇 回答.回答予定のバッファ日数 1
    app.answer.bussinesStatusDays   〇 回答.事業者へ合意登録日時の日数 3
    app.answer.bussinesRegisterDays   〇 回答.事業者合意登録日時のZ日前 3
    app.reminder.mail.enabledTypes   〇 リマインド通知の有効対象 1,2,3,4,5,6
    app.exclude.select.departments   〇 リマインド通知除外選択部署(部署IDカンマ区切り) 1099
    app.ledger.output.detail.ledgerId.list   〇 条項詳細出力を行う帳票IDリスト(カンマ区切り) 1001,2002
    app.ledger.properties   〇 帳票プロパティ定義 [帳票ID:{key:value}]の形式
    プロパティは17-3.帳票プロパティ定義の形式で指定可能
    tomcat.util.scan.StandardJarScanFilter.jarsToSkip       *-*.jar
    spring.mvc.hiddenmethod.filter.enabled       TRUE
    spring.webflux.hiddenmethod.filter.enabled       TRUE
    spring.mvc.pathmatch.matching-strategy       ANT_PATH_MATCHER

    17-2. mail.properties

    各通知メールの件名や本文はこのファイルで設定します。

    テキストエディタ等で編集を行ってください。

    テンプレートファイル中の本システムへのリンクは以下の設定となっておりますので、環境に合わせて修正してください。

    https://[domain name of the environment]/plateau/login/

    プロパティ名 内容
    mail.bussiness.application.accept.subject 回答確認ID/パスワード通知(事業者向け) 件名
    mail.bussiness.application.accept.body 回答確認ID/パスワード通知(事業者向け) 本文
    mail.application.accept.subject 申請受付通知(行政向け) 件名
    mail.application.accept.body 申請受付通知(行政向け) 本文
    mail.application.accept.body.accept.content 申請受付通知(行政向け) 本文 -コメント文言(統括部署管理者の受付通知案内)
    mail.application.accept.body.application.file.changed.content 申請受付通知(行政向け) 本文 -コメント文言(申請ファイル差し替え案内)
    mail.application.file.change.subject 申請提出書類変更通知(行政向け) 件名
    mail.application.file.change.body 申請提出書類変更通知(行政向け) 本文
    mail.bussiness.answer.finish.subject 回答完了通知(事業者向け) 件名
    mail.bussiness.answer.finish.body 回答完了通知(事業者向け) 本文
    mail.bussiness.answer.finish.body.comment.reapplication 回答完了通知(事業者向け) 本文 -コメント文言(再申請案内)
    mail.bussiness.answer.finish.body.comment.agreement.registration 回答完了通知(事業者向け) 本文 -コメント文言(事業者合意登録案内)
    mail.bussiness.answer.finish.body.comment.next.step 回答完了通知(事業者向け) 本文 -コメント文言(次の申請段階への再申請案内)
    mail.answer.update.subject 廃止_回答更新通知(行政向け) 件名
    mail.answer.update.body 廃止_回答更新通知(行政向け) 本文
    mail.answer.finish.subject 全部署回答完了通知(行政向け) 件名
    mail.answer.finish.body 全部署回答完了通知(行政向け) 本文
    mail.inquiry.from.bussiness.subject 事業者からの問合せ通知(行政向け) 件名
    mail.inquiry.from.bussiness.body 事業者から問合せ通知(行政向け) 本文
    mail.inquiry.from.government.subject 行政からの問合せ通知(行政向け) 件名
    mail.inquiry.from.government.body 行政からの問合せ通知(行政向け) 本文
    mail.bussiness.inquiry.subject 問合せ回答通知(事業者向け) 件名
    mail.bussiness.inquiry.body 問合せ回答通知(事業者向け) 本文
    mail.reapplication.accept.subject 廃止_再申請受付通知(行政向け) 件名
    mail.reapplication.accept.body 廃止_再申請受付通知(行政向け) 本文
    mail.reapplication.accept.notification.subject 廃止_再申請受付通知(行政・回答通知担当課向け) 件名
    mail.reapplication.accept.notification.body 廃止_再申請受付通知(行政・回答通知担当課向け) 本文
    mail.application.accept.notification.subject 申請受付通知(行政・回答通知担当課向け) 件名
    mail.application.accept.notification.body 申請受付通知(行政・回答通知担当課向け) 本文
    mail.application.accept.notification.negotiation.additional.comment 申請受付通知(行政・回答通知担当課向け) 本文 -コメント文言(事前協議回答受付案内)
    mail.bussiness.reapplication.answer.finish.subject 廃止_回答完了(再申請)通知(事業者向け) 件名
    mail.bussiness.reapplication.answer.finish.body 廃止_回答完了(再申請)通知(事業者向け) 本文
    mail.bussiness.reapplication.accept.subject 廃止_再申請受付通知(事業者向け) 件名
    mail.bussiness.reapplication.accept.body 廃止_再申請受付通知(事業者向け) 本文
    mail.application.remand.subject 事前協議差戻通知(事業者向け) 件名
    mail.application.remand.body 事前協議差戻通知(事業者向け) 本文
    mail.response.approval.subject 回答許可通知(行政(統括部署管理者)向け) 件名
    mail.response.approval.body 回答許可通知(行政(統括部署管理者)向け) 本文
    mail.consent.denial.notification.subject 同意項目否認通知(行政(回答担当課)向け) 件名
    mail.consent.denial.notification.body 同意項目否認通知(行政(回答担当課)向け) 本文
    mail.consent.regist.notification.subject 同意項目登録通知(行政(回答担当課)) 件名
    mail.consent.regist.notification.body 同意項目登録通知(行政(回答担当課)) 本文
    mail.consent.regist.notification.body.comment.consent.completed 同意項目登録通知(行政(回答担当課)) 本文-コメント文言(事業者側で同意項目登録完了)
    mail.negotiation.confirmed.notification.subject 事前協議行政確定登録完了通知(行政(回答担当課管理者)向け) 件名
    mail.negotiation.confirmed.notification.body 事前協議行政確定登録完了通知(行政(回答担当課管理者)向け) 本文
    mail.negotiation.confirmed.approval.notification.subject 事前協議行政確定登録許可通知(行政(統括部署管理者)向け) 件名
    mail.negotiation.confirmed.approval.notification.body 事前協議行政確定登録許可通知(行政(統括部署管理者)向け) 本文
    mail.answer.remind.notification.subject 回答リマインド通知(行政(回答担当課)向け) 件名
    mail.answer.remind.notification.body 回答リマインド通知(行政(回答担当課)向け) 本文
    mail.negotiation.answer.remind.notification.subject 事前協議回答リマインド通知(事業者) 件名
    mail.negotiation.answer.remind.notification.body 事前協議回答リマインド通知(事業者) 本文
    mail.answer.notification.remind.notification.subject 回答通知リマインド通知(行政(回答通知課)事前相談:回答通知担当、事前協議:①統括部署管理者、②各部署管理者、許可判定:許可判定通知担当課管理者) 件名
    mail.answer.notification.remind.notification.body 回答通知リマインド通知(行政(回答通知課)事前相談:回答通知担当、事前協議:①統括部署管理者、②各部署管理者、許可判定:許可判定通知担当課管理者) 本文
    mail.negotiation.confirm.remind.notification.subject 行政確定登録リマインド通知(行政 事前協議:①統括部署管理者、②各部署管理者、③各部署担当者) 件名
    mail.negotiation.confirm.remind.notification.body 行政確定登録リマインド通知(行政 事前協議:①統括部署管理者、②各部署管理者、③各部署担当者) 本文
    mail.inquiry.remind.notification.subject 問合せリマインド通知(行政 回答担当課) 件名
    mail.inquiry.remind.notification.body 問合せリマインド通知(行政 回答担当課) 本文
    mail.report.receipt.notification.subject 帳票受領通知(行政(許可判定・事前協議回答権限部署管理者)) 件名
    mail.report.receipt.notification.body 帳票受領通知(行政(許可判定・事前協議回答権限部署管理者)) 本文
    mail.answer.all.remind.subject リマインド通知(行政向け) 件名
    mail.answer.all.remind.deadline.body リマインド通知(行政向け) 本文(回答期限)
    mail.answer.all.remind.notification.body リマインド通知(行政向け) 本文(回答通知)
    mail.answer.all.remind.notification.registered.body リマインド通知(行政向け) 本文(行政確定未登録)
    mail.answer.all.remind.chat.registered.body リマインド通知(行政向け) 本文(問い合わせ未回答)
    mail.answer.all.remind.notification.step.body リマインド通知(行政向け) 本文(申請段階)
    mail.answer.all.remind.notification.step.overdue.body リマインド通知(行政向け) 本文(期限超過)
    mail.answer.all.remind.notification.step.xDaysBeforeDueDate.body リマインド通知(行政向け) 本文(期限まで少し)
    mail.answer.all.remind.chat.body リマインド通知(行政向け) 本文(期限超過・問い合わせ)
    mail.answer.all.remind.end.body リマインド通知(行政向け) 本文(末尾・リマインド)
    mail.answer.all.remind.business.subject リマインド通知(事業者向け) 件名
    mail.answer.all.remind.business.title.body リマインド通知(事業者向け) 本文(タイトル)
    mail.answer.all.remind.business.body リマインド通知(事業者向け) 本文
    mail.answer.all.remind.business.end.body リマインド通知(事業者向け) 本文(末尾)
    mail.application.accept.notification.login.info.subject 初回申請受付時、申請受付通知(回答通知担当課向け)(照合ID・パスワードを含む) 件名
    mail.application.accept.notification.login.info.body 初回申請受付時、申請受付通知(回答通知担当課向け)(照合ID・パスワードを含む) 本文

    以下項目について、メール本文に通知対象の内容を表示するように設定することが可能です。

    キー 内容
    ${照合ID} 事業者が申請・回答確認に使用する照合ID
    ${パスワード} 事業者が申請・回答確認に使用するパスワード
    ${申請者氏名} 申請者氏名
    ${申請者メールアドレス} 申請者メールアドレス
    ${申請地番} 申請地番一覧(カンマ区切り)
    ${対象} 判定項目のタイトル(条項)
    ${判定結果} 判定結果のサマリ
    ${申請登録日時} 申請登録日時
    ${回答日数} 回答予定日数
    ${申請月} 申請登録日時の月
    ${申請日} 申請登録日時の日
    ${回答対象} 判定項目のタイトル(条項)
    ${問い合わせ内容} 問合せ内容
    ${部署名} 部署名
    ${回答内容} 問合せ回答内容
    ${申請種類} 申請種類
    ${申請段階} 申請段階 事前相談,事前協議,許可判定
    ${版番号} 申請版番号
    ${申請ID} 申請ID
    ${統括部署管理者の受付確認コメント} 統括部署管理者の受付確認コメント(メール本文)
    ${申請ファイル変更案内} 差し替えた申請ファイルの案内文
    ${コメント} 統括部署管理者の受付確認コメント
    ${申請ファイル名} 申請ファイル名
    ${指示元担当課} 申請ファイル 指示元担当課名
    ${修正内容} 申請ファイル 修正内容
    ${コメント1} メールに付与するコメント
    ${合意内容} 事前協議事業者合意内容
    ${合意日付} 事前協議事業者合意日付
    ${回答期限} 回答期限日
    ${帳票名} 事業者が受領した帳票名

    $rep[ から ]$rep までの内容を繰り返し表示させることができます。

    $rep内で置き換え可能なのは${対象}と${判定結果}のみです。

    ※設定例

    
    ### 申請受付通知(行政向け)
    
    # 件名
    
    mail.application.accept.subject=【開発許可申請受付の通知】
    
    # 本文
    
    mail.application.accept.body=\
    
    ○○市 開発許可申請の受付\r\n\
    
    \r\n\
    
    担当の開発許可申請を新たに受け付けました。\r\n\
    
    受付情報は以下になります。\r\n\
    
    \r\n\
    
    申請者氏名:${申請者氏名}\r\n\
    
    申請者メールアドレス:${申請者メールアドレス}\r\n\
    
    申請地番:${申請地番}\r\n\
    
    \r\n\
    
    以下について回答お願いいたします。\r\n\
    
    $rep\[\
    
    \r\n\
    
    対象:${対象}\r\n\
    
    判定結果:${判定結果}\r\n\
    
    \]$rep\
    

    17-3. 帳票プロパティ定義

    application.propertiesのapp.ledger.propertiesで指定可能なプロパティの一覧を以下に示します。

    キー 必須 説明
    fontName フォント名
    (※設定しない場合、帳票テンプレートのフォントで印字する)
    editSrartRow 編集開始行
    (※設定しない場合、帳票テンプレートの最終行の次行から印字する)
    firstPageMaxRow 〇 編集開始の1ページ目に、印字可能の最大行数
    (※次ページの最大行数とは違う)
    pageMaxRow 〇 編集開始の2ページ目に、印字可能の最大行数
    printAreaStartCol 印刷範囲の開始列
    (※0から設定(例:A列 = 0)、※設定しない場合、テンプレートの印刷範囲のまま)
    printAreaEndCol 印刷範囲の終了列
    (※0から設定(例:A列 = 0)、※設定しない場合、テンプレートの印刷範囲のまま)
    departmentNameStartCol 印字開始列
    (※設定しない場合、課名を印字しない)
    departmentNameFontSize フォントサイズ
    (※設定しない場合、テンプレートファイルのデフォルトフォントサイズで印字する)
    departmentNameRowMaxCharacter 行当たりの最大文字数
    (※設定しない、または、0で設定する場合、改行文字が有っても、改行しないで印字する)
    departmentNameParagraph 段階番号をつけるかフラグ【"true":番号あり、"false":番号なし】
    (※設定しない場合、番号なしとする)
    departmentNameParagraphWithinText 段階番号が文字列と同じセルに印字するかフラグ【"true":同じセルに印字、"false":(印字開始列-1)に印字する】
    (※設定しない場合、同じセルに印字とする)
    departmentNameParagraphCharacter 段階番号の書式文字列
    (※設定しない場合、空文とする)
    departmentNameParagraphType 段階番号の採番種類【0:レコード全件で採番、1:課ごとに採番】
    (※設定しない場合、【1:課ごとに採番】とする)
    departmentNameInsertBlankLine 空白行を挿入するかフラグ【"before":上に1行を挿入、"after":下に1行を挿入】
    (※設定しない場合、空白を挿入しない)
    judgementTitleStartCol 印字開始列
    (※設定しない場合、課名を印字しない)
    judgementTitleFontSize フォントサイズ
    (※設定しない場合、テンプレートファイルのデフォルトフォントサイズで印字する)
    judgementTitleRowMaxCharacter 行当たりの最大文字数
    (※設定しない、または、0で設定する場合、改行文字が有っても、改行しないで印字する)
    judgementTitleParagraph 段階番号をつけるかフラグ【"true":番号あり、"false":番号なし】
    (※設定しない場合、番号なしとする)
    judgementTitleParagraphWithinText 段階番号が文字列と同じセルに印字するかフラグ【"true":同じセルに印字、"false":(印字開始列-1)に印字する】
    (※設定しない場合、同じセルに印字とする)
    judgementTitleParagraphCharacter 段階番号の書式文字列
    (※設定しない場合、空文とする)
    judgementTitleParagraphType 段階番号の採番種類【0:レコード全件で採番、1:課ごとに採番】
    (※設定しない場合、【1:課ごとに採番】とする)
    judgementTitleInsertBlankLine 空白行を挿入するかフラグ【"before":上に1行を挿入、"after":下に1行を挿入】
    (※設定しない場合、空白を挿入しない)
    answerContentStartCol 印字開始列
    (※設定しない場合、課名を印字しない)
    answerContentFontSize フォントサイズ
    (※設定しない場合、テンプレートファイルのデフォルトフォントサイズで印字する)
    answerContentRowMaxCharacter 行当たりの最大文字数
    (※設定しない、または、0で設定する場合、改行文字が有っても、改行しないで印字する)
    answerContentParagraph 段階番号をつけるかフラグ【"true":番号あり、"false":番号なし】
    (※設定しない場合、番号なしとする)
    answerContentParagraphWithinText 段階番号が文字列と同じセルに印字するかフラグ【"true":同じセルに印字、"false":(印字開始列-1)に印字する】
    (※設定しない場合、同じセルに印字とする)
    answerContentParagraphCharacter 段階番号の書式文字列
    (※設定しない場合、空文とする)
    answerContentParagraphType 段階番号の採番種類【0:レコード全件で採番、1:課ごとに採番】
    (※設定しない場合、【1:課ごとに採番】とする)
    answerContentInsertBlankLine 空白行を挿入するかフラグ【"before":上に1行を挿入、"after":下に1行を挿入】
    (※設定しない場合、空白を挿入しない)

    18 アプリケーションデプロイ(3DViewer)

    確認済みサーバ環境:CentOS Stream 9

    確認済み作業PC環境 :Windows 10 Pro

    18-1. 必要ツールのインストール

    ※作業PC上にて行う

    1. Node.js v16.16.0、npm v8.11.0のインストールを行ってください。

      https://nodejs.org/ja/download/

      ※インストール方法の参考サイト:

      https://zenn.dev/y_2_k/articles/e419bcf729e82d

    2. コマンドでyarnのインストールを行ってください。

      npm install -g yarn
      

      ※インストール方法の参考サイト:

      https://qiita.com/kurararara/items/21c70c4adfd3bb323412

    3. Git Bashのインストール

      https://gitforwindows.org/

      ※インストール方法の参考サイト:

      https://qiita.com/suke_masa/items/404f06309bb32ca6c9c5

    18-2. nodejs依存モジュールのインストール

    ※作業PC上にて行う

    1. /SRC/3dview からソースコードを入手し、Git Bashからプロジェクトフォルダ直下に移動してください。

      cd developpermision-3dview
      
    2. Git Bashからnodejs依存モジュールのインストールを行ってください。

      export NODE_OPTIONS=--max_old_space_size=4096
      
      yarn
      

    18-3. 設定ファイルの更新

    ※作業PC上にて行う

    19 アプリケーション設定ファイル更新(3DViewer)の手順で設定ファイルを更新します。

    ※19-1. config.json、19-2. development_permission_init.jsonはビルド後も変更が可能です。

    また、20 アプリケーション設定更新(テーマ色)の手順でテーマ色設定を更新します。

    18-4. PlateauViewのビルド

    ※作業PC上にて行う

    1. プロジェクトフォルダ直下に移動して、ビルドを行います。

      cd developpermision-3dview
      
      yarn gulp release
      
    2. プロジェクトフォルダ直下にある

      devserverconfig.jsonをproductionserverconfig.jsonに名前を変更してください。変更済みの場合は不要です。

    18-5. PlateauViewのデプロイ

    1. デプロイ先の作成を行います。フォルダ名の指定は自由です。

      sudo mkdir -p /var/www/html/plateau/
      
    2. 適当な場所にプロジェクト直下のwwwrootをアップロードしてください。

    3. wwwrootをapache直下へ配置してください。尚、SELinuxが有効な場合、ドキュメントルートに適切なコンテキストを設定します。

      cd /home/upload/
      
      sudo mv ./wwwroot/* /var/www/html/plateau/
      
      sudo chown -R apache:apache /var/www/html
      
      sudo restorecon -Rv /var/www/html
      
      

    18-6. PDF.jsの配置

    本システムでは、PDFビューワとしてオープンソースライブラリであるPDFjsを使用します。

    以下の手順で作業PC上で準備の上、サーバに配置を行ってください。

    1. https://github.com/mozilla/pdf.js/releases/tag/v3.10.111 にアクセスし、「Assets」から「pdfjs-3.10.111-dist.zip」を選択し、作業PC上でダウンロードします。

    2. ダウンロードしたzipファイルをフォルダ名「pdfjs」として展開し、フォルダを開きます。

    3. 展開したフォルダ内のweb/viewer.css を **/SRC/pdfjs/vewer.cssと置き換えます。

    4. サーバ上の適当な場所にpdfjsフォルダをアップロードします。

    5. Apacheのドキュメントルートにpdfjsフォルダを移動させます。

      Apacheのドキュメントルートの設定手順については 11-1. ファイルサーバ連携設定を参照してください。

      sudo mv pdfjs /var/www/html/
      

      本手順完了後はApacheの再起動は不要です。

    18-7. デプロイ後の確認

    1. http://<サーバマシンのIPアドレス>/plateau/ にアクセス

      下記のように表示されていればデプロイが正常に行われています。

    19 アプリケーション設定ファイル更新(3DViewer)

    3DViewerでは、以下3種類の設定ファイルを使用します。

    搭載するデータに合わせて適切に設定を行ってください。

    ファイル名 パス 内容
    config.json /wwwroot

    ・初期ファイルとして参照するファイルの設定

    ・アプリケーション名

    ・ヘルプメニュー内容

    development_permission_init.json

    (Initファイル)

    /wwwroot/init

    ・初期表示位置

    ・搭載レイヤ

    customconfig.json /packages/terriajs

    ・GeoServerのURL

    ・地番レイヤ設定

    ・ランドマーク、建物データ設定

    19-1. config.json

    本書ではカスタマイズが必要な箇所のみ記載します。

    詳細なカスタマイズ手順はTerria公式サイトの以下ページを参照してください。

    https://docs.terria.io/guide/customizing/client-side-config/

    プロパティ名 初期値 内容
    initializationUrls development_permission_init

    ・初期ファイルとして参照するInitファイル名。

    Initファイルを変える場合、記載を変更。

    19-2. development_permission_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

    レイヤ一覧

    ※建物モデル、ランドマーク、判定レイヤ等

    workbench 初期表示するレイヤ一覧

    以下に、各カスタマイズ箇所の設定手順を記載します。

    1. カメラ位置

      homeCameraと inititalCameraを修正し、表示させたい位置に合わせます。

    2. 航空写真

      独自に航空写真と地形データを用意している場合、baseMapsのitemsを編集します。

      デフォルト設定を利用する場合、変更不要です。

      背景地図を追加した場合、

      baseMapsのenabledBaseMapsを編集します。

      背景地図はenabledBaseMapsに指定した最初の要素が常に表示されます。※切替不可

    3. 建物モデル

      catalogのmembersの中の「//データセット/建物モデル」を編集します。

      workbenchを編集します。

    4. ランドマーク

      Catalogのmembersの中の「//データセット/ランドマーク」を編集します。

    5. 判定レイヤ

      「//データセット/判定レイヤ」の下に各判定レイヤの設定を追加してください。

      ※GeoServerのURLは以下のフォーマットとなります。

      http://[WebサーバのIPアドレス]/[ワークスペース名]/wms

      ※GeoServerのレイヤ名は以下のフォーマットとなります。

      [ワークスペース名]:[レイヤタイトル]
      

      GeoServerサイトの「レイヤプレビュー」の「ユーザ名」に表示される内容になります。

    19-3. customconfig.json

    以下プロパティ一覧です。

    環境に合わせて変更してください。

    プロパティ① プロパティ② 内容 初期値
    config apiUrl APIのルートパス /api
    simulatorApiUrl シミュレータAPIのルートパス /simulatorapi
    pdfViewerUrl pdfjsのルートパス /pdfjs
    geoserverUrl GeoServerのベースパス(wms) /geoserver/devps/wms
    geoserverWfsUrl GeoServerのベースパス(wfs) /geoserver/devps/ows
    landmarkUrl ランドマークデータのURL(czml) /gis/landmark/landmark.czml
    maxFileSize アップロードファイル1つの最大サイズ(MB) 50
    maxRequestFileSize アップロードファイル全体の最大サイズ(MB) 100
    answerReportName 回答レポートの出力ファイル名の接頭句 行政回答レポート
    applicationSearchResultFileName 申請情報検索結果の出力ファイル名 申請情報検索結果
    inquirySearchResultFileName 問い合わせ情報検索結果の出力ファイル名 問い合わせ情報検索結果
    governmentAddAnswerTitle 行政 事前協議 追加回答タイトル その他
    answerContentUpdatingInfoText 行政 事前協議 回答精査中表示文言 行政担当者で回答修正中
    topButtonUrl トップ画面URL https://example.com
    questionnaireUrlForBusiness 事業者向けアンケート画面のURL https://path.to.questinnaire/for/business
    questionnaireUrlForGoverment 行政向けアンケート画面のURL

    https://path.to.questinnaire/for/government

    layer lotnumberSearchLayerNameForGoverment 地番検索結果(行政)のGeoServer上のレイヤ名 devps:地番検索結果(行政)
    lotnumberSearchLayerDisplayNameForGoverment 地番検索結果(行政)レイヤの表示名称 地番検索結果(行政)
    lotnumberSearchViewParamNameForGoverment 地番検索結果(行政)のGeoServer問い合わせクエリパラメータ lot_numbers:
    lotnumberSearchLayerNameForBusiness 地番検索結果(事業者)のGeoServer上のレイヤ名 devps:地番検索結果(事業者)
    lotnumberSearchLayerDisplayNameForBusiness 地番検索結果(事業者)レイヤの表示名称 地番検索結果(事業者)
    lotnumberSearchViewParamNameForBusiness 地番検索結果(事業者)のGeoServer問い合わせクエリパラメータ lot_numbers:
    lotnumberSearchLayerNameForSelected 選択中地番のGeoServer上のレイヤ名 devps:選択中地番
    lotnumberSearchLayerDisplayNameForSelected 選択中地番レイヤの表示名称 選択中地番
    lotnumberSearchViewParamNameForSelected 選択中地番のGeoServer問い合わせクエリパラメータ lot_numbers:
    lotnumberSearchLayerNameForApplicationTarget 申請対象地番のGeoServer上のレイヤ名 devps:申請対象地番
    lotnumberSearchLayerDisplayNameForApplicationTarget 申請対象地番レイヤの表示名称 申請対象地番
    lotnumberSearchViewParamNameForApplicationTarget 申請対象地番のGeoServer問い合わせクエリパラメータ lot_numbers:
    lotnumberSearchLayerNameForApplying 申請中地番のGeoServer上のレイヤ名 devps:申請中地番
    lotnumberSearchLayerDisplayNameForApplying 申請中地番レイヤの表示名称 申請中地番
    lotnumberSearchLayerNameForAll 申請中地番のGeoServer問い合わせクエリパラメータ devps:全地番
    lotnumberSearchLayerDisplayNameForAll 全地番レイヤの表示名称 筆界
    lotnumberSearchLayerNameForApplicationSearchTarget 申請情報表示地番のGeoServer上のレイヤ名 devps:申請情報表示地番
    lotnumberSearchLayerDisplayNameForApplicationSearchTarget 申請情報表示地番レイヤの表示名称 申請情報表示地番
    lotnumberSearchViewParamNameForApplicationSearchTarget 申請情報表示地番のGeoServer問い合わせクエリパラメータ lot_numbers:
    lotnumberSearchLayerNameForSelectedFullFlag 全筆対象外地番のGeoServer上のレイヤ名 devps:全筆かからない筆選択地番
    lotnumberSearchLayerDisplayNameForSelectedFullFlag 全筆対象外地番レイヤの表示名称 全筆かからない筆
    lotnumberSearchViewParamNameForSelectedFullFlag 全筆対象外地番のGeoServer問い合わせクエリパラメータ lot_numbers:
    landMark id

    ランドマークレイヤのID

    ※19-2の手順4で設定したIDになります。

    //データセット/ランドマーク
    displayName 申請地選択画面でのランドマークレイヤの表示名称 ランドマーク
    buildingModel id

    3D建物モデルのID

    ※19-2の手順3で設定したIDになります。

    建物モデルを搭載しない場合、空文字としてください。

    //データセット/建物モデル
    buildingModelFor2d id

    2D建物モデルのID

    ※別途2D用の建物モデルを使用している場合使用ください(WMSやMVT等)

    2D用の建物モデルを搭載しない場合、空文字としてください。

    //データセット/2D建物モデル
    wfs identify_text WFSレイヤの識別テキスト @wfs
    road_width_identify_text 道路幅員判定レイヤの識別テキスト {widthText}
    czmlTemplate

    道路幅員ラベルのCZML表示設定

    設定を変更する際はCZMLガイドを参照。

    "road_width": {(省略)}
    NotDraggableItem   レイヤ一覧にドラッグ&トラック不可のレイヤリスト

    //ランドマーク

    //3D都市モデル

    QuestionaryActived UserAgreementView 利用規約画面からアンケート画面開くか否か FALSE
    GeneralConditionDiagnosisView 概要診断結果レポート出力画面からアンケート画面開くか否か TRUE
    ApplyCompletedView 申請完了画面からアンケート画面開くか否か TRUE
    focusCameraSettings cesium.focusCameraDirectionX 3D自動フォーカス時のカメラ視線方向 (Cesium.Cartesian3.x) 0.6984744646088341
    cesium.focusCameraDirectionY 3D自動フォーカス時のカメラ視線方向 (Cesium.Cartesian3.y)※固定変更幅あり(-1.0) -0.6617056496661655
    cesium.focusCameraDirectionZ 3D自動フォーカス時のカメラ視線方向 (Cesium.Cartesian3.z) 0.2725418417221117
    cesium.focusCameraUpX 3D自動フォーカス時のカメラ上方向 (Cesium.Cartesian3.x) -0.21791222301017105
    cesium.focusCameraUpY 3D自動フォーカス時のカメラ上方向 (Cesium.Cartesian3.y) 0.1660947782238842
    cesium.focusCameraUpZ 3D自動フォーカス時のカメラ上方向 (Cesium.Cartesian3.z) 0.9617311410729739
    cesium.adjust.latitudeHeightAdjustmentFactor 最小・最大緯度差に基づくカメラ高さの補正値 400000
    cesium.adjust.baseHeightOffset カメラ高さのベース加算値 100
    defaultViewermode goverment 行政側初期表示Viewer 2d
    business 事業者側初期表示Viewer 3d
    persistViewerMode goverment 行政側Viewerモードの永続化 FALSE
    business 事業者側Viewerモードの永続化 TRUE
    captureRequiredJudgement  

    概況診断レポート キャプチャ必須の概況診断タイプ
    概況診断レポートでキャプチャ機能を使用する場合、21. シミュレータAPIのデプロイ(Spring Boot) の構築作業が別途必要となります。

    0,1
    notifications   地図画面下に表示する通知メッセージ

    以下の形式で指定可能

    {

    "tag":"タグ",
    
    "title":"タイトル",
    
    "message":"メッセージ部分<br>メッセージ部分<br>メッセージ部分<br>メッセージ部分"
    

    }

    extension answerFile アップロード可能な回答ファイルの拡張子

    pdf,tiff,jpeg,png,dxf,dwg

    ※拡張子チェックに、大文字・小文字を区別する

    inquiryFile 添付可能の問合せファイルの拡張

    pdf,tiff,jpeg,png,cad

    ※拡張子チェックに、大文字・小文字を区別する

    inputMaxLength answerContent 回答内容に入力できる文字数上限 1000
    applicantInfo

    申請者情報と申請追加情報にできる文字数上限

    text:一行のみ入力可能のテキスト

    textarea:複数行入力可能のテキストエリア

    初期値は以下で設定されています。

    {

    "text":150,
    
    "textarea":1000,
    

    }

    chatMsg 問合せメッセージに入力できる文字数上限 1000
    reviseContent 再申請の申請ファイルアップロード画面の修正内容に入力できる文字数上限 1000
    notifyComment 事前協議の申請を受付する際に、受付・差戻通知コメントに入力できる文字数上限 1000

    20 アプリケーション設定更新(テーマ色)

    本システムでは、アプリケーションのテーマ色を自由に設定することが可能です。

    テーマ色の設定を変更する際は以下の手順で変更を行ってください。

    1. index.htmlを開き、スタイル「.bg 」のbackground-colorを設定します。

      ※ソースコードコードパス(/SRC/3dview/wwwroot/login/index.html)

      行政ログイン画面のヘッダを設定した色で表示します。

    2. variables.scssを開き、プロパティを設定します。

      ※ソースコードパス(/SRC/3dview/lib/Styles/variables.scss)

      各プロパティ値と画面表示の対応は下表の通りです。

      プロパティ 説明 反映箇所
      $view-main-color プライマリーカラー 選択状態のタブ、テーブルヘッダ、検索ボタン等
      $view-main-pale-color プライマリーカラー(サブ) 検索条件エリア、項目名等の背景色
      $view-gray-color グレーカラー 未選択状態のタブ、クリアボタン等

      以下が表示イメージです。

    21 シミュレータAPIのデプロイ(Spring Boot)

    19-3. customconfig.json でキャプチャありの概況診断レポート出力を設定する場合シミュレータAPIの構築が別途必須となります。

    仮想ブラウザをシミュレートして実行するため、多くのリソースを消費します。

    必ず申請アプリとは別サーバ上で稼働させてください。

    確認済みサーバ環境:CentOS Stream 9

    • 必要なMW/SW:

      • Chrome Version 126.x

      • Chrome Driver Version 126.x

      • Apache Tomcat Version 9.0.65

      • Java Version 17.0.6

      ※MWのインストール方法については5 稼働環境構築(MW,SW) を参照してください。

      ※Java Versionは17.0.6となりますので注意してください。

      ※Chrome及びChrome DriverはGoogle公式の導入方法を参照してください。

    確認済み作業PC環境 :Windows 10 Pro

    21-1. 必要ツールのインストール

    ※作業PC上にて行う

    1. Spring Tool Suite 4のインストールを行ってください。

      https://spring.io/tools

      ※インストール方法の参考サイト:

      https://qiita.com/t-shin0hara/items/d60116ab299a4dc8a9d0

    2. lombokのインストールを行ってください。

      https://projectlombok.org/download

      ※インストール方法の参考サイト:

      https://qiita.com/r_saiki/items/82231ded1450f5ed5671

    21-2. warの作成準備

    ※作業PC上にて行う

    1. /SRC/simulator_apiからソースコードを入手し、適当な場所にworkspaceを作成してプロジェクトを配置してください。

    2. Spring Tool Suite 4を起動して、1. で作成したworkspaceをlaunchしてください。

    3. プロジェクトのインポートを行います。

      Import projects .. > Maven > Existing Maven Projectsを選択してください。

      Root Directoryにworkspace内に配置したproject folderを指定します。

    4. Mavenの更新を行います。

      プロジェクト右クリック> Maven > Update Projectを選択してください。

      更新画面でOKを選択すると、Mavenの更新が始まります。

    5. src/main/resources/application.propertiesの編集を行ってください。

      プロパティ一覧と、編集を行う箇所は次章を参照してください。

      変更が必要な設定箇所は以下になります。

      • データベースとの接続情報 ※申請アプリと同様
      • CORS許可オリジン ※申請アプリと同様
      • JWTの秘密鍵 ※申請アプリと同様
      • ChromeDriverのパス
      • PLATEAU VIEWのURL
      ※application.propertiesが文字化けする場合は、application.propertiesを右クリック>properties>Resource>Text file encodingをUTF-8へ変更してください。

    21-3. warの作成

    ※作業PC上にて行う

    1. プロジェクト右クリック> Run As > Maven buildを選択してください。

    2. Goalsに「package」を入力し、Runボタンを押下します。

    3. targetフォルダにsimulatorapi-0.0.1-SNAPSHOT.warが作られていることを確認してください。

    21-4. warのデプロイ(シミュレータサーバ側)

    1. シミュレータサーバの適当な場所にsimulatorapi-0.0.1-SNAPSHOT.warをアップロードしてください。ここでは /home/upload/ に転送する事としています。

    2. tomcatに配備します。

      ※配備の際、simulatorapi-0.0.1-SNAPSHOT.war からsimulatorapi.warに名前を変更してください。

      cd /home/upload/
      
      sudo mv simulatorapi-0.0.1-SNAPSHOT.war /opt/apache-tomcat/webapps/simulatorapi.war
      

      ※配備後にapplication.propertiesを編集する場合は下記のように行います。編集後、保存して再起動を行ってください。

      sudo vi /opt/apache-tomcat/webapps/simulatorapi/WEB-INF/classes/application.properties
      
      sudo systemctl restart tomcat
      

    21-5. application.properties

    プロパティ名 環境設定 内容 設定値
    必須 任意
    spring.jpa.database     データベース種類 POSTGRESQL
    spring.datasource.url ○   データベース接続情報

    jdbc:postgresql://[DBサーバのIPアドレス]:[DBサーバのポート番号]/[データベース名]

    ※申請アプリと同様

    spring.datasource.username ○   データベースアクセスに使用するユーザ名 postgres
    spring.datasource.password ○   データベースアクセスに使用するパスワード (省略)
    app.cors.allowed.origins ○ CORS許可オリジン

    本API実行を許可するoriginを指定
    例)https://example.com

    ※申請アプリと同様

    app.filter.ignore     フィルタの例外パス (省略)
    app.filter.goverment     フィルタの行政のみ許可するパス (省略)
    app.filter.unable     アクセス不能パス (省略)
    app.jwt.token.secretkey ○

    JWTの秘密鍵

    ※tokenの検証や署名で使用

    [自治体固有のsecretKey]

    ※申請アプリと同様

    app.simulation.task.limit

    シミュレート実行の同時実行数上限

    5
    app.simulation.task.timeout.max.seconds

    シミュレート実行の最大待ち時間(秒)

    1200
    logging.file.nam

    ログ出力定義

    /opt/apache-tomcat/logs/simulatorapi/simulatorapi.log
    webdriver.chrome.driver 〇

    ChromeDriverのパス

    /opt/apache-tomcat/chrome/chromedriver
    webdriver.chrome.driver.log

    ChromeDriverのログパス

    /opt/apache-tomcat/chrome/log/chromedriver.log
    app.plateau.url 〇

    PLATEAU VIEWのURL

    https://example.com/plateau

    ※3DViewerのURL

    tomcat.util.scan.StandardJarScanFilter.jarsToSkip       *-*.jar
    spring.mvc.hiddenmethod.filter.enabled       TRUE
    spring.webflux.hiddenmethod.filter.enabled       TRUE
    spring.mvc.pathmatch.matching-strategy       ANT_PATH_MATCHER
    logging.level.org.springframework.web   ○ アプリケーションログ出力レベル設定 INFO
    logging.level.developmentpermission   ○ アプリケーションログ出力レベル設定 DEBUG

    21-6. Apacheの設定(申請アプリ側)

    1. httpd.conf を編集します。

      sudo vi /etc/httpd/conf/httpd.conf
      

      最終行に以下の内容を追記して保存します。

      ProxyPass /simulatorapi http://<シミュレータサーバのIPアドレス>:8080/simulatorapi
      
      ProxyPassReverse /simulatorapi http://<シミュレータサーバのIPアドレス>:8080/simulatorapi
      
    2. 設定を反映する為、apacheの再起動を行います。

      sudo systemctl restart httpd
      
    In this article
    Back to top Generated by DocFX