導入事例
【事例】WebGISで施設情報を共有
WebGISで施設情報を可視化し、関係者との情報共有を効率化した事例を紹介します。
企業概要
| 業種 | 施設管理業 |
|---|---|
| 規模 | 従業員8名 |
| 所在地 | 地方都市 |
| 主な業務 | 公共施設の維持管理、設備点検、修繕工事の手配 |
導入前の課題
課題1: 施設情報の管理
状況
- Excelで施設台帳を管理
- 位置情報は住所のみ
- 写真は別フォルダで管理
- 情報が分散している
【影響】 ・情報検索に時間がかかる ・現地確認が必要になる ・全体像が把握しにくい
課題2: 関係者との情報共有
状況
- 発注者への報告は書類ベース
- 現場作業者への指示が口頭中心
- 情報の更新が追いつかない
【影響】 ・コミュニケーションコスト増 ・認識のズレ ・対応の遅れ
課題3: 点検業務の効率
状況
- 紙の点検表を使用
- 結果を事務所で入力
- 過去の点検履歴が見にくい
【影響】 ・二重作業 ・傾向分析ができない ・予防保全が困難
導入したソリューション
WebGIS(Leaflet + PostgreSQL)
選定理由
- オープンソースで低コスト
- ブラウザで利用可能
- スマホからもアクセス可
- 必要な機能に絞れる
システム構成
| 区分 | 内容 |
|---|---|
| フロントエンド | Leaflet(地図表示)、HTML/CSS/JavaScript |
| バックエンド | Node.js、PostgreSQL + PostGIS |
| ホスティング | クラウドサーバー |
主な機能
施設管理
- 地図上に施設を表示
- クリックで詳細情報表示
- 写真・書類へのリンク
- 検索・フィルター機能
点検管理
- 点検結果の登録
- 履歴の閲覧
- 異常箇所のマーキング
レポート
- 一覧表出力
- 地図付きレポート
- 統計情報表示
導入プロセス
ステップ1: 要件定義(2週間)
実施内容
- 関係者へのヒアリング
- 必要機能の洗い出し
- 優先順位付け
- プロトタイプ作成
ポイント
- 発注者のニーズも確認
- シンプルな機能から開始
ステップ2: データ整備(3週間)
実施内容
- 既存データの整理
- 住所→座標への変換
- 写真データの紐付け
- データベース構築
ポイント
- データ品質の確認
- 欠損データの補完
ステップ3: 開発(1ヶ月)
実施内容
- 地図表示機能
- 施設情報表示
- 検索機能
- 点検記録機能
ポイント
- MVP(最小限の機能)で開始
- 段階的に機能追加
ステップ4: 運用開始
実施内容
- 関係者への説明会
- 操作研修
- 並行運用
- 本格運用
具体的な機能
機能1: 施設マップ
JavaScript
// Leafletで施設を表示
var map = L.map('map').setView([35.6812, 139.7671], 13);
// 地理院タイルを追加
L.tileLayer('https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png', {
attribution: '国土地理院'
}).addTo(map);
// 施設データを読み込み
fetch('/api/facilities')
.then(response => response.json())
.then(data => {
data.forEach(facility => {
L.marker([facility.lat, facility.lng])
.bindPopup(`
<h3>${facility.name}</h3>
<p>種別: ${facility.type}</p>
<a href="/facility/${facility.id}">詳細</a>
`)
.addTo(map);
});
});
機能2: 詳細情報表示
HTML
<!-- 施設詳細ページ -->
<div class="facility-detail">
<h2>○○公民館</h2>
<div class="map-small" id="detail-map"></div>
<table class="info-table">
<tr><th>所在地</th><td>○○市△△町1-2-3</td></tr>
<tr><th>建築年</th><td>1985年</td></tr>
<tr><th>構造</th><td>RC造2階建</td></tr>
</table>
<h3>点検履歴</h3>
<table class="history-table">
<tr><th>日付</th><th>結果</th><th>担当</th></tr>
<tr><td>2025/01/15</td><td>良好</td><td>山田</td></tr>
</table>
</div>
機能3: 点検記録
JavaScript
// スマホからの点検記録
function submitInspection() {
const data = {
facilityId: document.getElementById('facilityId').value,
date: document.getElementById('date').value,
result: document.getElementById('result').value,
notes: document.getElementById('notes').value
};
fetch('/api/inspections', {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify(data)
})
.then(response => {
if (response.ok) {
alert('登録しました');
}
});
}
導入効果
定量的効果
| 項目 | 導入前 | 導入後 | 削減率 |
|---|---|---|---|
| 施設検索 | 15分/件 | 1分/件 | 93% |
| 報告書作成 | 3時間/月 | 30分/月 | 83% |
| 現地確認 | 月5回 | 月2回 | 60% |
| 点検データ入力 | 30分/件 | 5分/件 | 83% |
年間効果(概算)
時間削減
- 施設検索:約30時間/年
- 報告書作成:約30時間/年
- 現地確認移動:約20時間/年
- 点検データ入力:約50時間/年
- 合計:約130時間/年
金額換算:130時間 × 3,000円 = 約39万円/年
投資対効果
| 開発費用 | 外部委託:30万円 |
|---|---|
| サーバー費用 | 月3,000円 |
| 年間効果 | 約39万円相当 |
| 回収期間 | 約10ヶ月 |
定性的効果
業務品質
- 情報の一元管理
- 履歴の可視化
- 傾向分析が可能
コミュニケーション
- 関係者との情報共有
- 認識のズレ解消
- 迅速な対応
発注者評価
- わかりやすい報告
- 透明性の向上
- 信頼関係の構築
成功のポイント
ポイント1: シンプルな機能
- 最初は表示と検索だけ
- 使われる機能を優先
- 複雑な機能は後回し
ポイント2: データ品質
- 既存データの整理に時間
- 座標の精度確認
- 継続的なメンテナンス
ポイント3: モバイル対応
- 現場からアクセス可能
- スマホで操作しやすく
- オフライン対応も検討
ポイント4: 段階的な機能追加
- 利用状況を見ながら拡張
- ユーザーの要望を反映
- 無理に機能を増やさない
発注者の反応
発注者コメント
地図で施設の位置がわかるので、現地の状況がイメージしやすくなりました。過去の点検履歴もすぐに確認でき、計画的な修繕の検討に役立っています。
課題と今後
現在の課題
- データ更新の手間
- オフライン対応
- 他システムとの連携
今後の計画
- PWA化(オフライン対応)
- 写真AI分析の導入
- BIMデータとの連携
- 住民向け公開版の検討
技術構成の詳細
| 区分 | 技術 |
|---|---|
| フロントエンド | Leaflet 1.9、Bootstrap 5、vanilla JavaScript |
| バックエンド | Node.js + Express、PostgreSQL 15 + PostGIS 3 |
| インフラ | クラウドVPS、nginx、Let’s Encrypt(SSL) |
まとめ
導入のポイント
1. シンプルな機能から開始 2. データ品質を重視 3. モバイル対応 4. 段階的な拡張
得られた効果
- 年間約39万円相当の効率化
- 約10ヶ月で投資回収
- 関係者との情報共有改善
- 業務品質の向上
関連記事
