Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
誰でもすぐにWebGISを始められるsimple-geo-viewerを作成しました!
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
nokonoko1203
December 17, 2021
Technology
700
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
誰でもすぐにWebGISを始められるsimple-geo-viewerを作成しました!
nokonoko1203
December 17, 2021
More Decks by nokonoko1203
See All by nokonoko1203
CloudflareでGIS × AIエージェント開発!
nokonoko1203
0
390
GISエンジニアから見たLINKSデータ
nokonoko1203
0
240
釣り地図SNSにおける有料機能の実装
nokonoko1203
0
290
EMがLLMで仕様書駆動開発したらすごい捗った
nokonoko1203
1
100
都市をデータで見るってこういうこと PLATEAU属性情報入門
nokonoko1203
1
810
日本全国・都市3D化プロジェクト「PLATEAU」とデータ変換OSS「PLATEAU GIS Converter」の公開
nokonoko1203
4
7.2k
Hono・Prisma・AWSでGeoなAPI開発
nokonoko1203
5
1.3k
日本全国の都市3D化プロジェクト「PLATEAU」の紹介
nokonoko1203
0
190
PLATEAU Hands-on 11 PLATEAUデータの高さや位置合わせについて理解する
nokonoko1203
0
910
Other Decks in Technology
See All in Technology
実装だけじゃない! CCA-F取得エンジニアが教えるClaude Code開発プロセス活用術
diggymo
2
510
ruby.wasmとPicoRuby.wasmに対応した仮想DOMライブラリを作ってる話 #kaigieffect_kaigi
sue445
PRO
0
130
Zoom2Youtube.Claude
kawaguti
PRO
3
490
Mastraエージェント、どのクラウドにデプロイする?
minorun365
PRO
2
180
人を動かすのは時間ではなく、納得感 〜新任EMが入社3ヶ月、組織を2回変えた話〜
kakehashi
PRO
3
200
「ちゃんとやっている」は独りよがりだった ― 不安に寄り添うインシデント対応へ / Towards incident response that addresses anxieties
chmikata
1
4.6k
DatabricksにおけるMCPソリューション
taka_aki
1
210
Amazon EVS で VCF 9.0 / 9.1 のサポート開始まとめ
mtoyoda
0
290
“全部コピーしない”ファイルデータの活用 : — FSx for ONTAP × S3 Tables × Icebergで作るメタデータカタログ
yoshiki0705
0
690
最適な自走を最小限の支援で — M&Aで拡大する組織で少人数SREが挑んだ1年 / SRE NEXT 2026
genda
0
930
プロダクトだけじゃない、社内プロセスにおける自動化・省力化ノススメ
kakehashi
PRO
1
3.5k
デジタル・デザイン構想 by Sayaka Ishizuka
y150saya
0
200
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
34
9.5k
Writing Fast Ruby
sferik
630
63k
The SEO identity crisis: Don't let AI make you average
varn
0
510
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
590
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
870
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
490
Docker and Python
trallard
47
3.9k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
260
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
630
A Soul's Torment
seathinner
6
3k
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
460
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
340
Transcript
誰でもすぐにWebGISを始められる simple-geo-viewerを作成しました!
登壇者写真・アイコンが入るスペースです 誰でもすぐにWebGISを始められる simple-geo-viewerを作成しました! ・西尾悟(株式会社MIEURNE所属) (@nokonoko_1203: https://twitter.com/nokonoko_1203) ・バックエンドもフロントもインフラ(クラウド)も全部やります
異種シミュレーション比較サイト(益城)
None
特徴 ・地物の色分けと凡例 ・レイヤークリック時に地図移動 ・データのグルーピング ・属性表示 ・様々なデータ形式
一般的なWebGISを作るだけでも手間
・データ加工がそもそも大変 ・データが増えると可視化状態の管理もまぁ手間 ・属性値ごとの色分けは個別に設定しないといけないよね ・凡例は一枚ずつ用意しないといけないんですか…? ・全部表示させたらパフォーマンスきついかな… ・レイヤーはグループごとにまとめたいよね… ・地物のタイプごとにアイコン分けたいよね ・アコーディオンは閉じたいよね… ・3D構造物どうやって表示させるんじゃ… ・あぁ…ログイン機能があるなぁ…
WebGISのここが大変 はい、あっという間にスパゲッティ
ただの可視化でも、苦しい 解決策はないのか…
simple-geo-viewer
None
https://github.com/aigidjp/simple-geo-viewer
・GeoJSON/MVT/ラスタータイルがサクッと可視化できる ・JSONファイルを書き換えるだけで、タイトル・ヘッダーの色・表示レイヤー・配色・ グルーピング・画面移動位置などを設定できる ・サイドバーのアイコンを個別に設定できる ・Next.jsの機能で静的ファイルを吐き出せるので、手軽にホスティングできる ・(多少複雑な)設定をすれば地物ごとに色分け・凡例表示ができる 特徴
{ "title": "Simple Geo Viewer", "background_color": "#17a2b8" } タイトル等設定 ・タイトル、ヘッダー色も変更可能
{ "map": { "center": [139.77, 35.67], "zoom": 11, "bearing": 0,
"pitch": 60 } } 初期描画設定 ・緯度経度、ズームレベルを指定 ・傾きや方角も設定可能
{ "layers": [ { "id": "hinanbasho-tokyo", "type": "geojson", "source": "./data/13.geojson",
"getPointRadius": 50 }, { "id": "gyosei-tokyo", "type": "geojson", "source": "./data/N03-21_13_210101.geojson", "getFillColor": [100, 200, 255, 150], "getLineColor": [0, 0, 0, 255], "getLineWidth": 10 } ] } 表示レイヤー設定 ・表示するレイヤー自体の設定と、グ ルーピングの設定は分かれている ・Mapbox Style仕様ライクな記述 ・idとtypeとsourceは必須 (利用可能なtypeはrepoに記載) ・その他のパラメーターはDeck.glに準 拠
表示レイヤー設定
[ { "category": "指定緊急避難場所データ ", "url": "https://www.geospatial.jp/ckan/dataset/hinanbasho-13/resource/54b500b8-ef85-47fc-83d7-895b54 88810e", "data": [
{ "title": "東京都の避難場所 ", "type": "point", "lng": 139.77132890862, "lat": 35.676572613649, "zoom": 12, "id": ["hinanbasho-tokyo"], "checked": false, "color": "#333333" } ] }, { "category": "行政区域データ ", "url": "https://nlftp.mlit.go.jp/ksj/jpgis/datalist/KsjTmplt-N03.html#prefecture13", "data": [ { "title": "東京都の行政界 ", "type": "polygon", "lng": 139.77132890862, "lat": 35.676572613649, "zoom": 12, "id": ["gyosei-tokyo"], "checked": true, "color": "#333333" } ] } ] サイドバー設定 ・categoryにはグループ名を指定 ・dataでは以下の項目を設定 ・レイヤ名 ・画面移動位置 ・初期表示状態 ・表示レイヤーid ・配列の中に複数入れることでグルー ピング 詳しくはリポジトリを参照
[ { "category": "指定緊急避難場所データ ", "url": "hogehoge", "data": [ {
"title": "東京都の避難場所", "type": "point", "lng": 139.77132890862, "lat": 35.676572613649, "zoom": 12, "id": ["hinanbasho-tokyo"], "checked": false, "color": "#333333" } ] },... ] サイドバー設定
MVTも表示可能
{ "layers": [ { "id": "town-boundary", "type": "mvt", "source": "./data/boundary_mvt/{z}/{x}/{y}.pbf",
"getFillColor": [255, 255, 0, 100], "getLineColor": [0, 0, 0, 255], "getLineWidth": 15, "minZoom": 10, "maxZoom": 18, "visible": true } ] } 表示レイヤー設定 ・xyzでpbfを指定 ・typeはmvt ・getFillColorなどgeojsonと似たよう な設定が可能 ・描画されるズームレベルもOK
3dtilesも表示可能に!(実験的機能) めちゃくちゃ重いです。
{ "layers": [ { "id": "plateau-sapporo", "type": "3dtiles", "source": "./data/bldg/tileset.json"
} ] } 表示レイヤー設定 ・tileset.jsonを指定 ・typeは3dtiles
まとめ ・簡単にブラウザ上にデータ可視化するツールを作りました ・誰でも利用することができます ・設定値を変更することでそれなりにカスタマイズ可能です ・手軽にホスティング可能です ・GitHub Actionsのサンプルも用意してます