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地図表現
- 点群データの軽量化手法
1.3 miru-lab / neta-lab との連携
| サイト | 役割 | コンテンツ |
|---|---|---|
| miru-lab.jp | データ可視化・技術デモ | インタラクティブマップ、デモ |
| neta-lab.com | エンタメGIS・実証実験 | 遊び心のあるGIS活用 |
| link-field.jp | 技術解説・ノウハウ | ガイド、記事 |
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投稿の感情マッピング
5.3 neta-labでの実験紹介
公開プロジェクト:
- 城郭3Dマップ: 日本の城を3Dで再現
- 鉄道路線図ジェネレーター: 架空路線図生成
- 地名しりとりマップ: 地名でしりとり
6. データ可視化実験
6.1 野生動物被害マッピング
課題:
- 獣害情報が散在、全体像が見えない
- 対策の効果検証が困難
実験内容:
- 被害報告の位置情報収集
- ヒートマップでの可視化
- 時系列での変化分析
miru-lab.jpでのデモ:
- インタラクティブな被害マップ
- フィルタリング機能
- 統計ダッシュボード
6.2 シャドウシミュレーション
用途:
- 日影規制の検討
- 太陽光発電の適地選定
- 建物配置の検討
実装方法:
- DEMデータから地形影を計算
- 建物3Dモデルからの影
- 時刻・日付によるアニメーション
6.3 人流・動態分析
データソース:
- 携帯電話位置情報(統計化されたもの)
- GPS軌跡データ
- SNSの位置情報
- センサーデータ
可視化手法:
- フローマップ(移動の流れ)
- ヒートマップ(滞在密度)
- OD行列(出発地-目的地)
6.4 miru-labでのデモ紹介
公開デモ:
- 歴史地図重ね合わせ
- 標高段彩図ジェネレーター
- 時系列変化アニメーション
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の企画・実施
- 技術選定のアドバイス
- プロトタイプ開発
実証実験の受け入れ:
- 新しいアイデアの検証
- 研究プロジェクトへの協力
- 共同研究
関連記事
お問い合わせ
新技術の検証、実証実験についてのご相談は、お気軽にお問い合わせください。
最終更新: 2025年1月