Skip to content

Project-PLATEAU/PLATEAU-SNAP-Server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PLATEAU-SNAP-Server

アーキテクチャ

1. 概要

本リポジトリでは、2024 ~ 2025 年度の Project PLATEAU で開発した「PLATEAU-SNAP-Server」のソースコードを公開しています。
「PLATEAU-SNAP-Server」は、スマートフォン撮影画像を活用した3D都市モデルへのテクスチャ付与システム (PLATEAU SNAP) のバックエンドサーバーです。

2. 「PLATEAU-SNAP-Server」について

スマートフォンで撮影した画像をもとに 3D 都市モデルの建物物のテクスチャ(地物の外観)を抽出・生成し、PLATEAU SNAPのデータベースに登録・蓄積可能なツールを開発しました。

本システムは、同ツールのバックエンドサーバーとして機能します。

  • スマートフォン向けアプリ「PLATEAU-SNAP-App」向けには、撮影可能面一覧の取得および撮影した画像を「PLATEAU SNAP Server」にアップロードする機能を提供します。
  • ブラウザ向けアプリ「PLATEAU-SNAP-CMS」向けには、撮影した画像をもとにテクスチャを更新する機能を提供します。

各リポジトリの役割は以下の通りです。

  • PLATEAU-SNAP-App: 画像の撮影・アップロード
  • PLATEAU-SNAP-Server: データの蓄積、画像処理、モデル生成(バックエンド処理)
  • PLATEAU-SNAP-CMS: テクスチャの生成・貼り付け、データベース更新、データ出力

3. 利用手順

本システムの構築手順については、操作マニュアルを参照してください。

4. システム概要

機能名 機能説明
撮影可能面一覧取得機能 現在位置で撮影した際に、画像をテクスチャとして貼り付け可能な面を計算し、取得する機能
画像アップロード機能 撮影画像と貼り付け先の面情報をデータベースにアップロードする機能
建築物モデル取得機能 撮影画像が登録されている建築物モデルを取得する機能
面一覧取得機能 撮影画像が登録されている面と屋根面、つまり、テクスチャ更新可能な面を取得する機能
画像取得機能 撮影画像を取得する機能
正射変換機能 撮影画像を正射変換する機能
屋根面生成機能 PLATEAU-Ortho から屋根面の画像を生成する機能
データベース更新機能 テクスチャを更新する機能
データ出力機能 データベースから CityGML を出力する機能

5. 利用技術

Web API

種別 名称 バージョン 詳細
プログラミング言語 C# 12~ プログラミング言語。本ツールは画像処理部分を除き C# で実装する。
フレームワーク ASP.NET Core 8.0~ C#の Web アプリフレームワーク。Web API テンプレートおよび Lambda テンプレートを使用。
データベース PostgreSQL 16~ オープンソースのデータベース管理システム。
PostGIS 3.4~ PostgreSQL で地理情報システム(GIS)を扱えるようにするためのオープンソースの拡張機能。
ライブラリ NetTopologySuite 2.5.0~ オープンソースの.NET 用の GIS ライブラリ。
Npgsql 8.0.6~ オープンソースの ADO.NET ドライバ。
AWSSDK 3.7.400.86~ .NET 用の AWS にアクセスするための SDK。
Swashbuckle.AspNetCore 7.2.0~ オープンソースの.NET 用の Swagger ライブラリ。

画像処理

種別 名称 バージョン 詳細
プログラミング言語 Python 3.12 プログラミング言語。画像処理部分は Python で実装する。
ライブラリ boto3 1.37.20 AWS SDK for Python。AWS サービスへのアクセスを提供。
opencv-python-headless 4.9.0.80 オープンソースの画像処理ライブラリ。
numpy 1.26.4 オープンソースの数値計算ライブラリ。
mercantile 1.2.1 オープンソースの Web メルカトルタイルユーティリティ。
shapely 2.0.4 オープンソースの幾何学的オブジェクトの操作・解析ライブラリ。

6. 動作環境

項目 最小動作環境 推奨動作環境
OS Microsoft Windows 11 / ubuntu 22.04 同左
CPU Intel Core i3 以上 Intel Core i5 以上
メモリ 8GB 16GB
ネットワーク インターネット接続 同左

7. 本リポジトリのフォルダ構成

フォルダ名 詳細
data 環境設定で必要なデータ
docs ドキュメント (操作マニュアル等)
lambdas/src/ortho_transform 正射変換機能を提供
lambdas/src/roof_extraction 屋根面生成機能を提供
lambdas/src/shared 共通で使うユーティリティ群
lambdas/src/texture_building テクスチャ生成機能を提供
sql 環境設定で必要なSQL
src/PLATEAU.Snap.Models モデルクラス
src/PLATEAU.Snap.Server Web API のアプリケーション本体
src/PLATEAU.Snap.Server.Entities DB から自動生成した O/RM
src/PLATEAU.Snap.Server.Geoid ジオイド高を利用して楕円体高に補正する機能を提供
src/PLATEAU.Snap.Server.Lambda 非同期で動作する機能を提供
src/PLATEAU.Snap.Server.Repositories リポジトリ層のインターフェース
src/PLATEAU.Snap.Server.Repositories.PostgreSQL リポジトリ層の PostgreSQL 実装
src/PLATEAU.Snap.Server.Repositories.S3 リポジトリ層の S3 実装
src/PLATEAU.Snap.Server.Services サービス層のインターフェース
src/PLATEAU.Snap.Server.Services.Impl サービス層の実装
src/PLATEAU.Snap.Server.Test Unit テスト
terraform AWS にデプロイするためのコード

8. ライセンス

  • ソースコード及び関連ドキュメントの著作権は国土交通省に帰属します。
  • 本ドキュメントはProject PLATEAU のサイトポリシー(CCBY4.0 及び政府標準利用規約 2.0)に従い提供されています。

9. 注意事項

  • 本リポジトリは参考資料として提供しているものです。動作保証は行っていません。
  • 本リポジトリについては予告なく変更又は削除をする可能性があります。
  • 本リポジトリの利用により生じた損失及び損害等について、国土交通省はいかなる責任も負わないものとします。

10. 参考資料

About

撮影画像を補完するサーバー

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors