新技術ガイド:WebGIS・3D・VLMの最前線
Link Fieldでは、最新技術の検証と実験的なプロジェクトに取り組んでいます。
このガイドでは、WebGIS、3D表現、点群データ、VLM応用など、GIS分野の新技術を紹介します。miru-lab.jp、neta-lab.comでの実験成果も公開しています。
1. このガイドについて
1.1 Link Fieldの技術探求
Link Fieldでは、実務で使える技術だけでなく、将来有望な新技術の検証も行っています。
技術探求の姿勢
- 新しい技術を積極的に試す
- 実用性を見極める
- 成果を共有する
1.2 実験的プロジェクトの紹介
検証中の技術
- 最新VLMモデルのGIS活用
- ローカルLLMの性能評価
- WebGLを使った3D地図表現
- 点群データの軽量化手法
2. WebGIS・地図表現技術
2.1 インタラクティブマップ
技術スタック
- Leaflet:軽量、学習コスト低
- MapLibre GL JS:高機能、ベクタータイル対応
- OpenLayers:高機能、多機能
- Deck.gl:大規模データ、3D対応
選定ガイド
| 要件 | おすすめ |
|---|---|
| シンプルな地図表示 | Leaflet |
| スタイリッシュな地図 | MapLibre GL JS |
| 大量データの可視化 | Deck.gl |
| 多機能・カスタマイズ | OpenLayers |
Leaflet基本実装
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="https://unpkg.com/leaflet/dist/leaflet.css" />
<script src="https://unpkg.com/leaflet/dist/leaflet.js"></script>
</head>
<body>
<div id="map" style="height: 400px;"></div>
<script>
const map = L.map('map').setView([35.6812, 139.7671], 13);
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '© OpenStreetMap contributors'
}).addTo(map);
L.marker([35.6812, 139.7671])
.addTo(map)
.bindPopup('東京駅');
</script>
</body>
</html>
2.2 3D地図表現
3D地図の種類
- 2.5D(押し出し):建物を高さで押し出し表現
- 真の3D:地形、建物の3Dモデル表示
- 点群表示:LiDARデータの3D表示
MapLibre GL JSでの3D建物
map.on('load', () => {
map.addLayer({
'id': '3d-buildings',
'source': 'composite',
'source-layer': 'building',
'type': 'fill-extrusion',
'paint': {
'fill-extrusion-color': '#aaa',
'fill-extrusion-height': ['get', 'height'],
'fill-extrusion-opacity': 0.6
}
});
});
2.3 歴史地図アーカイブ
miru-lab.jpでの取り組み
- 古地図のデジタルアーカイブ
- 現代地図との重ね合わせ
- 時系列スライダーでの変化表示
技術的なポイント
- 古地図のジオリファレンス(座標合わせ)
- タイル化による軽量配信
- 透明度調整によるレイヤー比較
体験デモはこちら
2.4 時系列可視化
時系列データの表現方法
- アニメーション再生
- タイムスライダー
- スモールマルチプル(並列表示)
実装例(時系列アニメーション)
let currentIndex = 0;
const timestamps = ['2020-01', '2020-02', '2020-03', ...];
function animate() {
// データを更新
updateMapData(timestamps[currentIndex]);
// 次のフレームへ
currentIndex = (currentIndex + 1) % timestamps.length;
setTimeout(animate, 1000); // 1秒ごと
}
animate();
3. 点群・3Dデータ処理
3.1 点群データの基礎
点群データとは
- 3次元空間上の点の集合
- 各点に座標(X,Y,Z)と属性(色、強度など)
- LiDARやSfMから取得
主なフォーマット
| 形式 | 特徴 |
|---|---|
| LAS/LAZ | 標準形式、LAZは圧縮版 |
| PLY | シンプル、3Dソフト互換 |
| E57 | 測量向け、メタデータ豊富 |
| PCD | Point Cloud Library形式 |
3.2 ドローン測量との連携
【ワークフロー】
ドローン撮影(写真)
│
▼
SfM処理(Structure from Motion)
│
├── 点群データ
├── メッシュ(3Dモデル)
└── オルソ画像
│
▼
後処理(ノイズ除去、分類)
│
▼
GISへ統合・分析
使用ソフト
| ソフト | 特徴 |
|---|---|
| Metashape | 高機能、商用 |
| OpenDroneMap | オープンソース、無償 |
| Pix4D | クラウド対応 |
3.3 3Dモデル生成
点群から3Dモデルへ
- ノイズ除去:不要な点を削除
- サンプリング:点の密度を調整
- メッシュ化:点群を面に変換
- テクスチャ:写真から色を付与
CloudCompareでの処理
1. 点群を読み込み
2. Noise filter で異常点除去
3. Subsample で点数削減
4. Poisson Surface Reconstruction でメッシュ化
5. エクスポート(OBJ, PLY等)
体験デモはこちら
4. 画像認識・VLM応用
4.1 最新VLMモデル検証
2025年時点の注目モデル
| モデル | 特徴 | ローカル実行 |
|---|---|---|
| GPT-4V/4o | 高精度、マルチモーダル | × |
| Claude 3 | 高精度、詳細な説明 | × |
| LLaVA 1.6 | オープン、ローカル可 | ○ |
| Qwen-VL | 日本語対応 | ○ |
| Llama 3.2 Vision | Meta製、高性能 | ○ |
検証結果(地図読み取り)
- 一般的な地図記号の認識:良好
- 等高線の読み取り:やや困難
- 文字認識:フォントによる
- 複雑な図面:精度にばらつき
4.2 地図・図面の自動読み取り
実験内容
- 古い紙図面のデジタル化支援
- 地図記号の自動認識
- 凡例からの情報抽出
プロンプトのコツ
この地図画像について、以下の形式で情報を抽出してください:
1. 地図の種類(都市計画図、地形図、等)
2. 縮尺(わかれば)
3. 主要な地物(道路、河川、建物等)
4. 特徴的な記号や表記
できるだけ具体的に、位置関係も含めて説明してください。
4.3 現場写真の分析実験
活用シナリオ
- 工事現場の安全チェック
- 設備の状態確認
- 作業進捗の記録
実験結果
- 全体的な状況把握:良好
- 特定物体の識別:良好
- 数値読み取り(メーター等):困難な場合あり
- 異常検知:学習なしでは限界あり
5. エンタメ×GIS
5.1 ゲーム的要素の活用
ゲーミフィケーションの例
- スタンプラリー型マップ
- クイズ形式の地理学習
- ARを使った現地探索
- 競争要素のあるデータ収集
neta-lab.comでの実験
- 城郭3Dマップ
- 歴史イベントマップ
- 「ここ何の場所?」クイズ
5.2 可視化の新しいアプローチ
従来の地図表現を超えて
- 3D地形のフライスルー
- データドリブンアート
- ジェネラティブマップ
実験例
- 人流データのパーティクル表現
- 音響データの空間可視化
- SNS投稿の感情マッピング
体験デモはこちら
6. データ可視化実験
6.1 野生動物被害マッピング
課題
- 獣害情報が散在、全体像が見えない
- 対策の効果検証が困難
実験内容
- 被害報告の位置情報収集
- ヒートマップでの可視化
- 時系列での変化分析
miru-lab.jpでのデモ
- インタラクティブな被害マップ
- フィルタリング機能
- 統計ダッシュボード
6.2 シャドウシミュレーション
用途
- 日影規制の検討
- 太陽光発電の適地選定
- 建物配置の検討
実装方法
- DEMデータから地形影を計算
- 建物3Dモデルからの影
- 時刻・日付によるアニメーション
6.3 人流・動態分析
データソース
- 携帯電話位置情報(統計化されたもの)
- GPS軌跡データ
- SNSの位置情報
- センサーデータ
可視化手法
- フローマップ(移動の流れ)
- ヒートマップ(滞在密度)
- OD行列(出発地-目的地)
6.4 miru-labでのデモ紹介
| デモ | 内容 |
|---|---|
| 歴史地図重ね合わせ | 古地図と現代地図の比較 |
| CS立体図ビューア | 地形の微細な起伏を可視化 |
| 日影シミュレーター | 建物の影を時刻別に表示 |
| 時系列変化アニメーション | データの経時変化を動画表示 |
デモを体験
7. ローカルAI最前線
7.1 最新ローカルLLM検証
2025年注目モデル
| モデル | サイズ | 日本語 | 特徴 |
|---|---|---|---|
| Llama 3.2 | 1B-90B | ○ | Meta最新、軽量版あり |
| Qwen 2.5 | 0.5B-72B | ◎ | 日本語強い |
| Gemma 2 | 2B-27B | ○ | Google製、高品質 |
| Phi-3 | 3B-14B | △ | Microsoft製、軽量高性能 |
検証ポイント
- 日本語の自然さ
- 専門用語の理解
- 推論速度
- メモリ使用量
7.2 エッジAI活用
エッジAI = 端末上で動くAI
活用シーン
- 現場でのリアルタイム判定
- オフライン環境での処理
- プライバシー重視の処理
デバイス例
| デバイス | 用途 |
|---|---|
| NVIDIA Jetson | 高性能エッジAI |
| Raspberry Pi + Coral | 軽量推論 |
| スマートフォン | モバイルAI |
7.3 オフライン環境での運用
【オフラインGIS×AIワークステーション】
ノートPC
├── OS: Ubuntu / Windows
├── QGIS(GIS処理)
├── Ollama(ローカルLLM)
├── Python環境
│ ├── PyQGIS
│ └── 機械学習ライブラリ
└── ローカルデータ
├── 地図データ
├── 衛星画像
└── 点群データ
8. 今後の展望
8.1 開発中のプロジェクト
検討中の取り組み
- VLMによる図面自動読み取りシステム
- ドローン映像のリアルタイム解析
- 点群データの自動分類
- 歴史地図アーカイブの拡充
8.2 技術相談・実証実験の受付
対応可能な相談
- 新技術の適用可能性検討
- PoCの企画・実施
- 技術選定のアドバイス
- プロトタイプ開発
実証実験の受け入れ
- 新しいアイデアの検証
- 研究プロジェクトへの協力
- 共同研究
関連記事
