Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
誰でもすぐにWebGISを始められるsimple-geo-viewerを作成しました!
Search
nokonoko1203
December 17, 2021
Technology
720
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
Claudeで位置情報を触ってみる
nokonoko1203
0
260
PLATEAUエージェントとCity Data Toolkitの実装
nokonoko1203
1
180
Introduction to Point Tiler
nokonoko1203
0
120
CloudflareでGIS × AIエージェント開発!
nokonoko1203
0
530
GISエンジニアから見たLINKSデータ
nokonoko1203
0
280
釣り地図SNSにおける有料機能の実装
nokonoko1203
0
310
EMがLLMで仕様書駆動開発したらすごい捗った
nokonoko1203
1
120
都市をデータで見るってこういうこと PLATEAU属性情報入門
nokonoko1203
1
880
日本全国・都市3D化プロジェクト「PLATEAU」とデータ変換OSS「PLATEAU GIS Converter」の公開
nokonoko1203
4
7.5k
Other Decks in Technology
See All in Technology
なぜ東京にいる私が、新潟の技術コミュニティを運営するのか by 八雲慎之助
yakumo
0
130
Agent 活用環境の構築・運用のための AWS サービスのご紹介/agentcore-for-building-and-operating-agents
ren8k
1
280
国際カードブランドルール変更に伴うクレジットカード決済取引仕様変更について
k1style
0
270
AX時代の自治体支援リソース再配分と役割分担の再構成:戦略とロードマップ(概要)
sishi2026
0
120
ひとりで始めた AI駆動開発、チームに広げて何が変わったのか
kenichiodo
1
160
なぜAI時代に技術記事を書くのか?どう書くのか? 〜bunの場合〜
kworkdev
PRO
0
1k
基本から分かる!AWSセキュリティ運用の考え方と任せ方
cmusudakeisuke
1
230
これだけは抑えておきたい!後悔しない re:Invent の過ごし方 / AWS re:Invent 2026 prestudy
kinunori
2
580
コンテナサービスは ECS だけじゃない!Google Cloud の Cloud Runの魅力
gre212
0
120
新卒エンジニア、 介護士になる
ryu1013
1
470
SLOを阻む不安
sraku2159
0
130
AI時代のエンジニアの情報発信〜個人の発信を組織の力に変える〜
ryo_kawamata
0
790
Featured
See All Featured
The Power of CSS Pseudo Elements
geoffreycrofte
82
6.6k
Building the Perfect Custom Keyboard
takai
2
930
Amusing Abliteration
ianozsvald
1
370
Building Adaptive Systems
keathley
44
3.3k
Testing 201, or: Great Expectations
jmmastey
46
8.4k
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
570
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
47k
Producing Creativity
orderedlist
PRO
348
41k
Darren the Foodie - Storyboard
khoart
PRO
4
4k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.9k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
750
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のサンプルも用意してます