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
FOSS4G KYUSHU 2025
Search
sasaki MIERUNE
August 09, 2025
36
0
Share
FOSS4G KYUSHU 2025
asdf
sasaki MIERUNE
August 09, 2025
More Decks by sasaki MIERUNE
See All by sasaki MIERUNE
AIと共に乗りこなす 地理空間情報の世界
groovyjovy
0
8
AIと共に乗りこなす 地理空間情報の世界
groovyjovy
1
56
huyuyasumi_lt_ssk.pdf
groovyjovy
0
53
ブログを作ってみる
groovyjovy
0
55
Featured
See All Featured
Reality Check: Gamification 10 Years Later
codingconduct
0
2.1k
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
110
Why Our Code Smells
bkeepers
PRO
340
58k
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
5
1.1k
Game over? The fight for quality and originality in the time of robots
wayneb77
1
170
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
160
Prompt Engineering for Job Search
mfonobong
0
290
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
440
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
70
39k
A Tale of Four Properties
chriscoyier
163
24k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
350
How to train your dragon (web standard)
notwaldorf
97
6.6k
Transcript
FOSS4GKYUSHU 2025 Supabaseを使って高速に WebGISを構築する 佐々木 遥人
©Project PLATEAU / MLIT Japan 株式会社MIERUEでWebGISを作っていま す。元々は土木業界で建設コンサルをやってい たのですが、ITが面白すぎて転職しました。 IT業界3年目!位置情報1年目! 自己紹介
佐々木 遥人 SASAKI Haruto WebGISエンジニア
©Project PLATEAU / MLIT Japan 自己紹介 •普段はTSでフロントバックを書い ています。趣味でRustも時々。 •土、ボーリングデータに関心があ り、柱状図を3Dで可視化したり、
土の色を判別しやすくしたりして います
©OpenStreetMap contributors 01 Supabaseとは 02 高速にWebGISを構築する 03 その他ヨサミ・ツラミ 04 まとめ・宣伝 目次
©OpenStreetMap contributors 01 Supabaseとは
©Project PLATEAU / MLIT Japan Supabaseとは •Backend as a service
•IaaSよりもさらに抽象度の高いも のを提供している。 •サービスをSQLで管理する •「すーぱーべーす」がよりネイティ ブに近い発音らしい What is Supabase ? https://x.com/kiwicopple/status/191 6813407350911292
©Project PLATEAU / MLIT Japan Supabaseとは • DB、ストレージ、静的ファイルのキャッシュ、認証、定期実行、などの一般的な Web開発に利用されるコンポーネントが高い抽象度で提供されている •
それらを繋ぎこみが容易。直接的な価値を提供することのないインフラを高速 で構築することができる。 • それらは(ほぼ)SQLで記述されており、サービスを構築する上ではSQLをか ければ良い。 Why use Supabase ?
©Project PLATEAU / MLIT Japan Supabaseとは •ストレージを作成するSQL SQLでサービスを記述する例
©OpenStreetMap contributors 02 高速にWebGISを構築する
©Project PLATEAU / MLIT Japan 高速にWebGISを構築する •WebGISでタイル配信をする時は主に動的タイル、静的タイルの2つの 配信方式が存在する •今回は以下の場合を考える ◦
動的タイル: DBからMVTをリクエスト毎に生成して配信 ◦ 静的タイル: ストレージにPMTilesを配置して配信 Supabase ✖ WebGIS
©Project PLATEAU / MLIT Japan 高速にWebGISを構築する • Supabaseの裏側で動作しているのはPostgreSQL • なので、MVTを返すことができるPostGIS拡張機能を利用できる
◦ 他にも日本語検索で便利なPGroongaなど、様々なものが利用可能で ある • また、SupabaseではPostgRESTという拡張機能を用いることで、DBの関 数を作成し、それをSupabaseのクライアントから呼び出すことができる 動的タイル
©Project PLATEAU / MLIT Japan 高速にWebGISを構築する •PostgreSQLに関数を定義する
©Project PLATEAU / MLIT Japan 高速にWebGISを構築する •Supabaseのクライアントから呼 び出せる
©Project PLATEAU / MLIT Japan 高速にWebGISを構築する •定期的に実行する処理を PostgreSQLの関数に定義して、 定期的に実行させる
©Project PLATEAU / MLIT Japan 高速にWebGISを構築する •PMTilesが配置されるサーバーはHTTP Range Requestに対応し ている必要がある
◦ Supabase Storageは上記に対応しているので、問題なく利用 できる •さらに、Storageの設定さえしてしまえばCDNでキャッシュされる 静的タイル
©Project PLATEAU / MLIT Japan 高速にWebGISを構築する •ストレージを作成するSQL
©Project PLATEAU / MLIT Japan 高速にWebGISを構築する •Supabaseのクライアントから署 名付きURLを生成 •MaplibreでPMTilesを読み込む
©OpenStreetMap contributors 03 その他ヨサミ・ツラミ
©Project PLATEAU / MLIT Japan その他ヨサミ・ツラミ •特にTypeScriptとの相性がよく、DBから型を自動生成してくれる •上記の型とSupabase クライアントを利用することで、Prismaなどの ORMを利用することなくフロントエンドとバックエンドとの通信をより近
い距離感で行うことができる •工数の削減が実現でき、より良い成果物を提供することができる ヨサミ
©Project PLATEAU / MLIT Japan その他ヨサミ・ツラミ • DBのブランチング機能がある ◦ アプリに破壊的な変更を加える時、ブランチングされているとレビュー
がしやすい ◦ フロントをVercel、AWS Amplify、Cloudflareにデプロイするとフ ロントもバックもPRごとにブランチングされた環境が構築できる ◦ 💰はみないことにする ヨサミ
©Project PLATEAU / MLIT Japan その他ヨサミ・ツラミ •IaCが辛い ◦ DBの設定以外の部分(SSOの設定や、JWTの有効期限)は Terraformで設定することができる、対応していない部分がある
◦ 直接APIを叩けば解決するものもある ツラミ
©Project PLATEAU / MLIT Japan その他ヨサミ・ツラミ •Supabaseで対応できない要件が出てきた時にどうするか問題 ◦ 管理するコンポーネントが増えてしまい、2つのインフラ間で連携 を取らなければいけないシチュエーションが出てくると本末転倒感
がある •ただ、成長中のサービスなのでもっと機能が補強されていくはず ツラミ
©OpenStreetMap contributors 04 まとめ・宣伝
©Project PLATEAU / MLIT Japan まとめ・宣伝 •Supabaseを使って動的タイル、静的タイルは簡単に配信できる! •説明だけではわかりづらいことがたくさんあったと思います。すみません いかがだったでしょうか?
©Project PLATEAU / MLIT Japan ヨサミ・ツラミ •FOSS4G Hokkaido 2025で 「SupabaseでWebGISを構築す
る」というタイトルでハンズオンをや ります •今回の内容をやるつもりなので、ご 興味があればぜひ来て下さい ハンズオンやります!