- 発売日:2024/08/24
- 出版社:秀和システム
- ISBN:9784798072241
通常価格
2,970 円(税込)
通常価格
セール価格
2,970 円(税込)
単価
/
あたり
税込
- 発売日:2024/08/24
- 出版社:秀和システム
- ISBN:9784798072241
読み込み中...
My店舗在庫
My店舗登録で在庫確認と店舗お受け取りのご利用が可能になります。(要ログイン)
店舗在庫
商品説明
本書は『現場のプロがわかりやすく教える位置情報エンジニア養成講座』(位置エン本)の続編にあたります。位置エン本は現代のウェブ地図開発のトレンドを広く解説し、主にクライアントサイトに焦点を当てています。それに対して本書は、サーバーサイドに注力し、位置情報データの配信における技術や手法について、詳しく解説しています。昨今話題の「衛星データ」の配信技術にも言及します。
本書の前半3章は「知識編」で、位置情報技術の応用的な知識を確認します。位置エン本と重複する部分もありますが、特にサーバーサイド実装で必要となる知識を重点的に解説しています。後半の4章の「実践編」となり、知識編で学んだ内容をもとに、アプリケーションを開発するハンズオンで知識の定着・理解を図ります。各章の具体的な内容は、次のようになっています。
第1章 位置情報の基礎知識
「位置エン本」の内容を復習しつつ、本書がカバーする領域への導入を行います。
第2章 位置情報データの配信方法
位置情報データの配信における関心ごと・技術・手法を解説します。
第3章 位置情報データとデータベース
位置情報データをデータベースで扱う際の選択肢・方法を学びます。
第4章 タイルサーバーの実装
位置情報データの配信において重要な技術である「地図タイル」を活用したサーバーを開発します。
第5章 実践編:ベクトルデータのCRUD処理
データベースを利用したベクトルデータのCRUD処理を実装します。
第6章 実践編:衛星画像配信サーバーの構築
衛星画像を事例として使い、ラスターデータを配信するサーバーを開発します。
第7章 応用編:ベクトル・ラスターを組み合わせたアプリケーション開発
本書の集大成として、本書で学んだ技術を総動員してアプリケーションを開発します。
本書の前半3章は「知識編」で、位置情報技術の応用的な知識を確認します。位置エン本と重複する部分もありますが、特にサーバーサイド実装で必要となる知識を重点的に解説しています。後半の4章の「実践編」となり、知識編で学んだ内容をもとに、アプリケーションを開発するハンズオンで知識の定着・理解を図ります。各章の具体的な内容は、次のようになっています。
第1章 位置情報の基礎知識
「位置エン本」の内容を復習しつつ、本書がカバーする領域への導入を行います。
第2章 位置情報データの配信方法
位置情報データの配信における関心ごと・技術・手法を解説します。
第3章 位置情報データとデータベース
位置情報データをデータベースで扱う際の選択肢・方法を学びます。
第4章 タイルサーバーの実装
位置情報データの配信において重要な技術である「地図タイル」を活用したサーバーを開発します。
第5章 実践編:ベクトルデータのCRUD処理
データベースを利用したベクトルデータのCRUD処理を実装します。
第6章 実践編:衛星画像配信サーバーの構築
衛星画像を事例として使い、ラスターデータを配信するサーバーを開発します。
第7章 応用編:ベクトル・ラスターを組み合わせたアプリケーション開発
本書の集大成として、本書で学んだ技術を総動員してアプリケーションを開発します。
目次
まえがき
第1章 位置情報の基礎知識
1-1 位置情報の世界
1-1-1 位置情報アプリケーション
「位置エン本」で作成した防災マップ
Googleマップ
Windy.com
1-1-2 FOSS4G・オープンデータ
OpenStreetMap(OSM)
COLUMN 「オープン」はタダではない!
1-2 「位置」の表現方法
1-2-1 経緯度
1-2-2 地図投影法
1-3 位置情報データの種類
1-3-1 ベクトル
主なファイル形式
1-3-2 ラスター
主なファイル形式
1-4 地図タイル
1-5 ウェブブラウザの性能向上
COLUMN 地図のスタイリング
1-6 Cloud Optimized
1-6-1 主なファイル形式
1-7 QGIS
第2章 位置情報データの配信方法
2-1 最も基本的な方法:ファイル配信
COLUMN ベクトルデータの形式ごとのサイズ
2-2 位置情報データ配信の勘所
2-3 関心領域を受け取るWebAPI
2-3-1 プロトコル
Web Map Service(WMS)
Web Feature Service(WFS)
OGC API - Features
COLUMN GeoServer
2-4 地図タイル・タイルインデックス
2-4-1 静的タイル
COLUMN OpenMapTiles
2-4-2 動的タイル
COLUMN 「バイナリ」ではないベクトルタイル
ベクトルタイルの仕様
2-5 Cloud Optimized
第3章 位置情報データとデータベース
3-1 静的ファイルによる永続化
3-2 リレーショナルデータベース(RDB)
3-2-1 位置情報データの正しいRDBの使い方
カラムを増やす
配列で保持する
座標を別のテーブルで保持する
位置情報専用のデータ型:GEOMETRY型
3-2-2 PostGIS(PostgreSQL)
3-2-3 その他のRDB
3-2-4 クラウドサービス
3-3 NoSQL
3-3-1 Elasticsearch
3-3-2 その他
3-4 PostGISで位置情報データのSQLを学ぶ
3-4-1 PostgreSQLの起動
3-4-2 PostGISの読み込み
3-4-3 データベースの作成
3-4-4 テーブルの作成
3-4-5 データの投入
COLUMN 空間参照系とSRID
WKB(Well-Known Binary)
ジオメトリタイプの制約を確認する
3-4-6 QGISと接続してデータを確認する
PostGISと接続する
テーブルを表示する
3-4-7 ogr2ogrを利用してデータを投入する
COLUMN GDAL/OGRの利用方法
データのダウンロード
データの投入
3-4-8 クエリ
空間クエリ
COLUMN ジオメトリから数値を取り出すクエリ
複数テーブルを利用した空間クエリ
COLUMN QGISで空間クエリを実行する
3-4-9 空間インデックス(spatial index)
COLUMN 空間インデックスの仕組み
3-4-10 空間クエリの書き方によるコストの違い
COLUMN 空間インデックスを持つファイル形式
3-4-11 その他のクエリ
図形の面積や長さを利用する
COLUMN GEOGRAPHY型
あるジオメトリから新たなジオメトリを作成する
特定のフォーマットで出力する
COLUMN postgis_raster
4-1 タイルサーバーとは何か?
4-2 タイルサーバーの種類別実装
4-2-1 静的タイル
ディレクトリ形式のタイルを作成して配信する
MBTiles形式の静的タイル
MBTilesを配信するサーバーを構築する
FastAPIの環境構築
MBTilesを配信するエンドポイントを実装する
COLUMN タイル配信のコストを劇的に低減するPMTiles形式
4-2-2 応用:PMTilesサーバーを実装する
PMTilesファイルを作成する
PMTiles形式を用いてタイルを配信する
COLUMN サーバーでPMTiles形式を利用するメリットとは?
4-2-3 動的タイル
FastAPI + PostGISの環境構築
PostgreSQLと接続する
ベクトルタイルを生成するSQL
動的タイルを配信するエンドポイントを実装する
PostGISのデータを更新して表示を確認する
動的タイルのパフォーマンス
第5章 実践編:ベクトルデータのCRUD処理
5-1 実装するサーバー
5-2 環境構築
5-3 POIを取得するエンドポイントの実装
5-3-1 BBOXで絞り込む
5-3-2 POIを追加するエンドポイントを実装する
5-3-3 POIを削除するエンドポイントを実装する
5-3-4 POIを更新するエンドポイントを実装する
COLUMN ORMを利用する
COLUMN GeoDjango
5-3-5 応用:動的タイル配信を組み合わせる
QGISでタイルを確認する
5-3-6 応用:クライアント側の実装
関心領域に対してGeoJSONを返すエンドポイントを利用する
ベクトルタイルを返すエンドポイントを利用する
データの作成・更新・削除処理を行う
第6章 実践編:衛星画像配信サーバーの構築
6-1 ラスターデータの配信
6-2 衛星データの取得
6-2-1 衛星データの例
EO Browser
G-Portal
Tellus
Registry of Open Data on AWS
6-2-2 データのダウンロード
COLUMN STAC
6-3 配信用データの作成
6-3-1 COG形式に変換する
6-4 環境構築
6-5 配信サーバーの実装
6-5-1 rio-tilerを用いて画像を配信する
6-5-2 COGファイルのピラミッド画像を利用する
6-5-3 NDVIをリクエストする
6-6 COG形式を正しく活用する
6-6-1 COGファイルを配信するサーバーを用意する
6-6-2 リモートサーバーのCOGファイルを読み込む
6-6-3 COG画像の一部分を切り出す
6-6-4 COG形式を用いてラスタータイルを配信する
6-6-5 参考:非同期処理
6-6-6 参考:Sentinel-2のオリジナルCOG画像を読み込む
第7章 応用編:ベクトル・ラスターを組み合わせたアプリケーション開発
7-1 本章で作成するアプリケーション
7-2 開発環境構築
7-2-1 ディレクトリ構成
7-2-2 docker-compose.ymlの記述
データベースの設定
APIサーバーの設定①:コンテナイメージ
APIサーバーの設定②:FastAPI
7-2-3 UI周りの環境構築
プロジェクトを作成
UI配信サーバーの設定
7-2-4 開発サーバーの起動
7-3 APIサーバーの実装
7-3-1 地点のCRUD処理を行う
7-3-2 地点から衛星画像を検索して画像として返す
地点から衛星を検索する
7-4 UIの実装
7-4-1 画面の基本実装
地図画面
7-4-2 APIと通信するモジュール
7-4-3 地点を表示・登録する
7-4-4 地点から衛星画像を検索して表示する
COLUMN Viteで開発したアプリケーションのビルド
7-5 本章のまとめ
7-5-1 発展:さらに拡張する場合のアイデア
地点(ポイント)ではなく領域(ポリゴン)を指定できるようにする
STACに準拠して公開されている他の衛星データを追加する
複数のバンドを用いた画像生成
あとがきに代えて
著者プロフィール
第1章 位置情報の基礎知識
1-1 位置情報の世界
1-1-1 位置情報アプリケーション
「位置エン本」で作成した防災マップ
Googleマップ
Windy.com
1-1-2 FOSS4G・オープンデータ
OpenStreetMap(OSM)
COLUMN 「オープン」はタダではない!
1-2 「位置」の表現方法
1-2-1 経緯度
1-2-2 地図投影法
1-3 位置情報データの種類
1-3-1 ベクトル
主なファイル形式
1-3-2 ラスター
主なファイル形式
1-4 地図タイル
1-5 ウェブブラウザの性能向上
COLUMN 地図のスタイリング
1-6 Cloud Optimized
1-6-1 主なファイル形式
1-7 QGIS
第2章 位置情報データの配信方法
2-1 最も基本的な方法:ファイル配信
COLUMN ベクトルデータの形式ごとのサイズ
2-2 位置情報データ配信の勘所
2-3 関心領域を受け取るWebAPI
2-3-1 プロトコル
Web Map Service(WMS)
Web Feature Service(WFS)
OGC API - Features
COLUMN GeoServer
2-4 地図タイル・タイルインデックス
2-4-1 静的タイル
COLUMN OpenMapTiles
2-4-2 動的タイル
COLUMN 「バイナリ」ではないベクトルタイル
ベクトルタイルの仕様
2-5 Cloud Optimized
第3章 位置情報データとデータベース
3-1 静的ファイルによる永続化
3-2 リレーショナルデータベース(RDB)
3-2-1 位置情報データの正しいRDBの使い方
カラムを増やす
配列で保持する
座標を別のテーブルで保持する
位置情報専用のデータ型:GEOMETRY型
3-2-2 PostGIS(PostgreSQL)
3-2-3 その他のRDB
3-2-4 クラウドサービス
3-3 NoSQL
3-3-1 Elasticsearch
3-3-2 その他
3-4 PostGISで位置情報データのSQLを学ぶ
3-4-1 PostgreSQLの起動
3-4-2 PostGISの読み込み
3-4-3 データベースの作成
3-4-4 テーブルの作成
3-4-5 データの投入
COLUMN 空間参照系とSRID
WKB(Well-Known Binary)
ジオメトリタイプの制約を確認する
3-4-6 QGISと接続してデータを確認する
PostGISと接続する
テーブルを表示する
3-4-7 ogr2ogrを利用してデータを投入する
COLUMN GDAL/OGRの利用方法
データのダウンロード
データの投入
3-4-8 クエリ
空間クエリ
COLUMN ジオメトリから数値を取り出すクエリ
複数テーブルを利用した空間クエリ
COLUMN QGISで空間クエリを実行する
3-4-9 空間インデックス(spatial index)
COLUMN 空間インデックスの仕組み
3-4-10 空間クエリの書き方によるコストの違い
COLUMN 空間インデックスを持つファイル形式
3-4-11 その他のクエリ
図形の面積や長さを利用する
COLUMN GEOGRAPHY型
あるジオメトリから新たなジオメトリを作成する
特定のフォーマットで出力する
COLUMN postgis_raster
4-1 タイルサーバーとは何か?
4-2 タイルサーバーの種類別実装
4-2-1 静的タイル
ディレクトリ形式のタイルを作成して配信する
MBTiles形式の静的タイル
MBTilesを配信するサーバーを構築する
FastAPIの環境構築
MBTilesを配信するエンドポイントを実装する
COLUMN タイル配信のコストを劇的に低減するPMTiles形式
4-2-2 応用:PMTilesサーバーを実装する
PMTilesファイルを作成する
PMTiles形式を用いてタイルを配信する
COLUMN サーバーでPMTiles形式を利用するメリットとは?
4-2-3 動的タイル
FastAPI + PostGISの環境構築
PostgreSQLと接続する
ベクトルタイルを生成するSQL
動的タイルを配信するエンドポイントを実装する
PostGISのデータを更新して表示を確認する
動的タイルのパフォーマンス
第5章 実践編:ベクトルデータのCRUD処理
5-1 実装するサーバー
5-2 環境構築
5-3 POIを取得するエンドポイントの実装
5-3-1 BBOXで絞り込む
5-3-2 POIを追加するエンドポイントを実装する
5-3-3 POIを削除するエンドポイントを実装する
5-3-4 POIを更新するエンドポイントを実装する
COLUMN ORMを利用する
COLUMN GeoDjango
5-3-5 応用:動的タイル配信を組み合わせる
QGISでタイルを確認する
5-3-6 応用:クライアント側の実装
関心領域に対してGeoJSONを返すエンドポイントを利用する
ベクトルタイルを返すエンドポイントを利用する
データの作成・更新・削除処理を行う
第6章 実践編:衛星画像配信サーバーの構築
6-1 ラスターデータの配信
6-2 衛星データの取得
6-2-1 衛星データの例
EO Browser
G-Portal
Tellus
Registry of Open Data on AWS
6-2-2 データのダウンロード
COLUMN STAC
6-3 配信用データの作成
6-3-1 COG形式に変換する
6-4 環境構築
6-5 配信サーバーの実装
6-5-1 rio-tilerを用いて画像を配信する
6-5-2 COGファイルのピラミッド画像を利用する
6-5-3 NDVIをリクエストする
6-6 COG形式を正しく活用する
6-6-1 COGファイルを配信するサーバーを用意する
6-6-2 リモートサーバーのCOGファイルを読み込む
6-6-3 COG画像の一部分を切り出す
6-6-4 COG形式を用いてラスタータイルを配信する
6-6-5 参考:非同期処理
6-6-6 参考:Sentinel-2のオリジナルCOG画像を読み込む
第7章 応用編:ベクトル・ラスターを組み合わせたアプリケーション開発
7-1 本章で作成するアプリケーション
7-2 開発環境構築
7-2-1 ディレクトリ構成
7-2-2 docker-compose.ymlの記述
データベースの設定
APIサーバーの設定①:コンテナイメージ
APIサーバーの設定②:FastAPI
7-2-3 UI周りの環境構築
プロジェクトを作成
UI配信サーバーの設定
7-2-4 開発サーバーの起動
7-3 APIサーバーの実装
7-3-1 地点のCRUD処理を行う
7-3-2 地点から衛星画像を検索して画像として返す
地点から衛星を検索する
7-4 UIの実装
7-4-1 画面の基本実装
地図画面
7-4-2 APIと通信するモジュール
7-4-3 地点を表示・登録する
7-4-4 地点から衛星画像を検索して表示する
COLUMN Viteで開発したアプリケーションのビルド
7-5 本章のまとめ
7-5-1 発展:さらに拡張する場合のアイデア
地点(ポイント)ではなく領域(ポリゴン)を指定できるようにする
STACに準拠して公開されている他の衛星データを追加する
複数のバンドを用いた画像生成
あとがきに代えて
著者プロフィール
カスタマーレビュー
honto本の通販ストアのレビュー(0件)
並び順:
- 最新順
- 評価高い順
- 評価低い順
1/1ページ