$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
地理情報システム入門 - CADDi STUDDi
Search
[email protected]
January 27, 2022
Technology
0
1.1k
地理情報システム入門 - CADDi STUDDi
[email protected]
January 27, 2022
Tweet
Share
More Decks by
[email protected]
See All by
[email protected]
[ English ] Company Overview for Engineers
caddi_eng
0
910
エンジニア向け会社紹介資料
caddi_eng
15
310k
CADDi 会社紹介・採用説明資料
caddi_eng
11
830k
機械学習チームのモノレポ移行
caddi_eng
0
500
BtoB SaaS を支える 認証認可基盤の設計
caddi_eng
0
1k
2023.01_CADDi Thailand Company Overview
caddi_eng
0
15k
20220826_Company Briefing Online Event
caddi_eng
0
520
OpenSearchで実現する画像検索とテスト追加で目指す安定運用
caddi_eng
4
6.1k
製造業向け新事業の基盤をエンジニア1人のチームでローコード&マネージドで半年で立ち上げた話_220810
caddi_eng
0
1.1k
Other Decks in Technology
See All in Technology
同一クラスタ上でのFluxCDとArgoCDのリソース最適化の話
kumorn5s
0
140
プロダクトの爆速開発を支える、 「作らない・削る・尖らせる」技術
applism118
10
8.8k
最近のUplift Modeling手法にRでトライ
hskksk
0
130
PostgreSQL Conference Japan 2024 A4 Comparison of column-oriented access methods
nori_shinoda
0
150
職能を超えたモブプログラミングが品質に与えた良い影響
tonionagauzzi
1
190
まだチケットを手動で書いてるの?!GitHub Actionsと生成AIでチケットの作成を自動化してみた話 / 20241207 Yoshinori Katayama
shift_evolve
1
790
「品質とスピードはトレード・オンできる」に向き合い続けた2年半を振り返る / Quality and speed can be traded on.
mii3king
0
740
Amazon Bedrock Multi-Agent Collaboration Workshop の紹介 - ワークショップでAIエージェントを学ぼう
nasuvitz
3
320
Will Positron accelerate us?
lycorptech_jp
PRO
1
130
ナレッジベースはどのようにSQLを生成するのか / Knowledge Bases supports structed data retrieval
hayaok3
1
150
Explain EXPLAIN
keiko713
10
2.8k
Ruby on Browser - RubyWorld Conference 2024
tmtms
1
110
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
94
13k
Into the Great Unknown - MozCon
thekraken
33
1.5k
It's Worth the Effort
3n
183
27k
Docker and Python
trallard
41
3.1k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
The Cost Of JavaScript in 2023
addyosmani
45
6.9k
KATA
mclloyd
29
14k
Making Projects Easy
brettharned
116
5.9k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
27
890
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
45
2.2k
Writing Fast Ruby
sferik
627
61k
Transcript
地理情報システム入門 2022/01/25
概要 対象 • 地理情報システム(GIS)にまったく触れたことがない人 内容 • GIS を扱う際に出てきそうな概念やツールを簡単に紹介 • 将来
GIS を扱う時に色々と調べたりする際の足がかり的な感じになれば
これは何? 35.6998929,139.7892573
キャディ 東京本社 • 35.6998929,139.7892573
キャディ 東京本社??? • 35.6998929,139.7892573
測地系 • 緯度経度だけでは一意に場所は定まらない。 • 地球上の位置を緯度経度で表すのに採用した楕 円体が異なり対象の場所がズレる。 ◦ 日本測地系(旧日本測地系、TOKYO) ▪ 昔日本で利用されていた測地系。
▪ まだ一部で利用されている。 ◦ 世界測地系(JGD2000, JGD2011, WGS84) ▪ 現在広く利用されている測地系。 ▪ GPS などでも利用されている。 https://www.gsi.go.jp/LAW/G2000-g2000-h3.htm
空間参照系 • 地図上に表示する場合は更に考慮する項目がある ◦ 座標系:座標を平面な地図上に配置する手法 ▪ 地理座標系 ▪ 投影座標系 •
空間参照系 = 測地系 × 座標系 • SRID: 空間参照系の識別コード。コード体系としてよく EPSG が利用される SRID(EPSG) 測地系 座標系 備考 6668 JGD2011 地理座標系 4301 Tokyo 地理座標系 4326 WGS84 地理座標系 GPS 3857 / (900913) WGS84 Webメルカトル Google Maps など
データ形式 WKT(Well-known text) • ベクタ形式幾何学オブジェクトを投影法 (地図)を基に変換し地図上に表現させる マークアップ言語 ◦ POINT (139.0
35.0) ◦ LINESTRING (139.0 35.0, 139.5 35.5) ◦ POLYGON ((139.0 35.0, 139.5, 35.5, 138.5 35.5, 139.0 35.0)) • データをテキストで保存する場合に利用する • 対応ツール ◦ PostgreSQL(PostGIS) ◦ MySQL ◦ BigQuery, Athena ◦ etc…
データ形式 Shapefile(シェープファイル) • Esri 社が提唱したベクター形式のデータフォーマット ◦ 実質業界標準フォーマット ◦ 位置情報データを静的に配布される際はこの形式が多い印象 ▪
国土数値情報、位置参照情報、国土調査(土地分類・水基本調査)成果データ • QGIS や ArcGIS などで描画が可能 ◦ 業界標準なので多くの GIS ツールは対応してる https://note.com/kinari_iro/n/n93c85c88b77d
GIS ソフト • QGIS ◦ 無料 ◦ オープンソースの GIS ソフト
◦ 無料ながらかなり高機能 ◦ Windows, mac OS, Linux などで利用可能 • ArcGIS ◦ 有償 ◦ ESRI社により提供されている GISソフト
区域 地理情報データを集計や解析などで利用する際に特定の区域単 位で集計することはよくある。 例:都道府県(市区町村, …) • 生活のあらゆるところで利用されており一番馴染み深い • 統計情報として利用する場合 ◦
大きさがバラバラなので単一面積など、数値的に同じ条件で可視化し たい場合に向かない ◦ 基本的に範囲が陸地のみなので、海上部分を表現するに向かない ▪ 海ほたる、etc… ▪ 降水量の表示 https://www3.nhk.or.jp/news/special/coronavirus/data/
地域メッシュ • 緯度経度に基づいてほぼ同じ大きさの四角形で分 割された領域 • 各メッシュには地域メッシュコードが付与されている • JIS 規格(JIS X
0410) 地域メッシュ - MULTISOUP https://www.biodic.go.jp/kiso/col_mesh.html https://www.data.jma.go.jp/fcd/yoho/meshjirei/jirei 03/highresorad/index.html
GeoHex • 地図上を六角形で分割された領域 • 大きさによってレベルが 0 ~ 25 で指定可能 •
純国産 • 統計情報の集計よりもゲームなどでの利用が目立つ ◦ ドラクエウォーク、駅メモ … • 利用用途 ◦ 個人情報保護 ◦ データサイズの削減 ◦ 距離算出の簡略化 https://next.rikunabi.com/tech/docs/ct_s03600.jsp?p=002115
Web地図描画 描画ライブラリ • Leaflet • OpenLayers • Mapbox GL JS
◦ 現在 v2 から有償っぽい?
Web地図描画 配信データ形式 • ラスターデータ ◦ 基本的に画像データなので複雑な形状でもデータサイズが小さい ◦ 地図内のオブジェクトに属性を持たせたりなどはできない ◦ 利用者側での加工が困難
• ベクターデータ ◦ 描画するオブジェクトに属性を持たせたりできる ▪ インタラクティブなアクションが可能 ◦ 描画するオブジェクト数が増えたり、複雑になるとデータサイズが大き くなる ◦ 利用者側で加工が可能 ▪ 色の切り替え
ラスタータイル地図 Web 地図では背景として使用される 配信データ • 地理院タイル ◦ 国土地理院が配信するデータ ◦ 地理院タイル一覧
◦ https://cyberjapandata.gsi.go.jp/xyz/std/{z}/{x}/{y}.png • OpenStreetMap(OSM) ◦ 世界中の人で作成されるオープン地図データ ◦ https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png 地理院タイル OSM
XYZ 方式 タイル状に分割された地図データを配信する際によく使用される方式 URL 上で {z}/{x}/{y} 形式で表現される • z: ズームレベル
• x, y: タイル座標 タイル座標確認ページ で確認することができる • (ただしズームレベル 3 以上から) https://maps.gsi.go.jp/development/siyou.html
GeoJson • JSON 形式で空間データを表すフォーマット ◦ ベクターデータ • Web 地図の地理情報を保存・配信するのに広く一般的に利用されている •
JSON なのでテキスト形式 ◦ 人が読み書きしやすく ◦ エンコード・デコードは速くない ▪ オブジェクト数が増えファイルサイズが大きくなると厳しい https://github.com/gsi-cyberjapan/vector-tile-experiment
MVT(Mapbox Vector Tile) • Mapbox 社主導で策定されたベクトルタイル地図 ◦ Mapbox Vector Tile
Specification • Protocol Buffers が利用されている ◦ 拡張子は mvt が推奨(should) ▪ (pbf とか見かけたような…) • バイナリデータで配信される ◦ 通信データ量の削減 ◦ 描画速度の向上 • 描画ライブラリ ◦ Leaflet.VectorGrid 地理院地図Vector|国土地理院
Vue.js + Leaflet を使用したサンプル
まとめ • 緯度経度だけでは場所は一意に決まらない ◦ 空間参照系(測地系、座標系) • データ形式 ◦ WKT ◦
Shapefile • 区域 ◦ 地域メッシュ ◦ GeoHex • Web地図 ◦ ライブラリ ▪ Leaflet ◦ データ ▪ タイル地図 ▪ GeoJSON ▪ MVT