SlideShare a Scribd company logo
1 of 36
boiledorange73
PostGISトポジオメトリを
使ってみる
boiledorange73
2018/11/10 FOSS4G 2018 Tokyo 1
boiledorange73
トポロジについて
2018/11/10 FOSS4G 2018 Tokyo 2
boiledorange73
点と線と面
• 点がつながって線ができる
• 線で囲まれて面ができる
2018/11/10 FOSS4G 2018 Tokyo 3
boiledorange73
点と線と面を相互依存させる
• 点をつなげて線を作る
• 線で囲んで面を作る
F2
F1
N1 N2
N3
E1
E2
E3
E4
E1 = N1→N2
E2 = N2→N3
E3 = N3→N1
E4 = N2→N3
F1 = E1→E2→E3
F2 = E4→-E2
2018/11/10 FOSS4G 2018 Tokyo 4
boiledorange73
ノードとエッジとフェイス
• 点はノード
• 線はエッジ
• 面はフェイス
F2
F1
N1 N2
N3
E1
E2
E3
E4
エッジ
ノード
フェイス
2018/11/10 FOSS4G 2018 Tokyo 5
boiledorange73
点と線と面を相互依存させる
• ノードが動くとエッジが動く
• エッジが動くとフェイスが動く
E1 = N1→N2
E2 = N2→N3
E3 = N3→N1
E4 = N2→N3
F1 = E1→E2→E3
F2 = E4→-E2
F1
F2
N1 N2E1
E3
E4
E2
N3
2018/11/10 FOSS4G 2018 Tokyo 6
boiledorange73
F2
ジオメトリの場合は
• 地物の頂点は独立している
• F1は動くけどF2はそのまま→重複
F1
N1 N2
N3
2018/11/10 FOSS4G 2018 Tokyo 7
boiledorange73
トポロジのデータモデル
• ノード、エッジ、フェイスのテーブルを繋げる
edge (線)
edge_id
start_node
geom
end_node
next_left_edge
next_right_edge
left_face
right_face
node (点)
containing_face
geom
node_id
face (面)
face_id
mbr
スキーマ (=トポロジ名)
2018/11/10 FOSS4G 2018 Tokyo 8
boiledorange73
でも属性が無い
スキーマ (=トポロジ名)
node
edge
face
任意テーブル
ジオメトリ
(属性)
任意テーブル
トポロジ
(属性)
地物を個別に保存
個別に保存できない
絡み合っている
• トポロジは個別保存できない
2018/11/10 FOSS4G 2018 Tokyo 9
boiledorange73
トポジオメトリ
2018/11/10 FOSS4G 2018 Tokyo 10
boiledorange73
スキーマ (=トポロジ名)
Relationテーブル
• トポロジ(部品)をまとめて地物を形成
relation
layer_id
element_id
topogeo_id
element_type
TopoGeometry型
id
type
layer_id
topology_id
node
edge
face
node_id
face_id
edge_id
2018/11/10 FOSS4G 2018 Tokyo 11
boiledorange73
スキーマ (=トポロジ名)
TopoGeometry型
• 任意テーブルとrelationテーブルをつなげる
relation
layer_id
element_id
topogeo_id
element_type
TopoGeometry型
id
type
layer_id
topology_id
node
edge
face
任意テーブル
トポジオメトリ
(属性)
全カラムをまとめてUNIQUE制約
2018/11/10 FOSS4G 2018 Tokyo 12
boiledorange73
トポジオメトリの利点 1/2
• ポリゴンを投入すると
ノードとエッジとフェイスを作ってくれる
• 属性は保持
F2
F1
N1 N2
N3
E1
E2
E3
E4
2
1
属性持ち属性持ち
2018/11/10 FOSS4G 2018 Tokyo 13
boiledorange73
トポジオメトリの利点 2/2
• トポロジ壊れないなら属性保持した編集可
2
1
F1
F2
N
1
N
2
E1
E3
E4
E2
N
3
1
2
F2
F1
N
1
N
2
N
3
E1
E2
E3
E4
属性持ち
属性持ち
属性持ち
属性持ち
2018/11/10 FOSS4G 2018 Tokyo 14
boiledorange73
都道府県ポリゴンの
簡略化
2018/11/10 FOSS4G 2018 Tokyo 15
boiledorange73
前準備
• PostgreSQL 10.5+PostGIS 2.4 を使用
• 市区町村ポリゴン w_mncpl があったとする
• CREATE TABLE w_mncpl (
gid SERIAL PRIMARY KEY,
mcode INT,
geom GEOMETRY(POLYGON, 4612)
);
• 国土数値情報から作る等する
2018/11/10 FOSS4G 2018 Tokyo 16
boiledorange73
都道府県ポリゴンを作る
CREATE TABLE w_pref (
gid SERIAL PRIMARY KEY,
pcode INT,
geom GEOMETRY(POLYGON, 4612)
);
INSERT INTO w_pref (pcode, geom)
SELECT pcode, (ST_Dump(geom)).geom AS geom
FROM (
SELECT mcode/1000 AS pcode,
ST_Union(geom) AS geom
FROM w_mncpl GROUP BY mcode/1000
) AS Q ORDER BY pcode;
2018/11/10 FOSS4G 2018 Tokyo 17
boiledorange73
メルカトルに投影
CREATE TABLE w_pref_3395 (
gid SERIAL PRIMARY KEY,
pcode INT,
geom GEOMETRY(POLYGON, 3395)
);
INSERT INTO w_pref_3395 (gid, pcode, geom)
SELECT gid, pcode, ST_Transform(geom, 3395)
FROM w_pref ORDER BY gid;
2018/11/10 FOSS4G 2018 Tokyo 18
boiledorange73
• 不正ポリゴン(自己接触・自己交差)発生
(対応策は後述)
10cmスナップ
CREATE TABLE w_pref_3395_s10c (
gid SERIAL PRIMARY KEY,
pcode INT,
geom GEOMETRY(POLYGON, 3395)
);
INSERT INTO w_pref_3395_s10c (gid, pcode, geom)
SELECT gid, pcode, ST_SnapToGrid(geom, 0.1, 0.1)
FROM w_pref_3395 ORDER BY gid;
2018/11/10 FOSS4G 2018 Tokyo 19
boiledorange73
不正なポリゴンを除く?
2018/11/10 FOSS4G 2018 Tokyo 20
CREATE TABLE w_pref_3395_notsmall (
gid SERIAL PRIMARY KEY,
pcode INT,
geom GEOMETRY(POLYGON, 3395)
);
INSERT INTO w_pref_3395_notsmall (pcode, geom)
SELECT pcode, geom FROM (
SELECT pcode, (ST_Dump(ST_CollectionExtract(
ST_MakeValid(geom),3))).geom
FROM w_pref_3395_s10c) AS Q
WHERE ST_Area(geom) >= 15000000;
boiledorange73
不正なポリゴンを除くとダメ
• 不正が混じった県は
全体が消える
• 離島除く
• 香川・愛媛は残存
• 徳島は大毛島だけ
残存
2018/11/10 FOSS4G 2018 Tokyo 21
boiledorange73
不正なポリゴンを妥当にする
• ST_MakeValid(): 不正な地物を妥当にする
• ST_CollectionExtract(): (マルチ)ポリゴン抽出
• ジオメトリコレクションが混じったため
2018/11/10 FOSS4G 2018 Tokyo 22
INSERT INTO w_pref_3395_notsmall (pcode, geom)
SELECT pcode, geom FROM (
SELECT pcode, (ST_Dump(
ST_CollectionExtract(ST_MakeValid(geom),3)
)).geom
FROM w_pref_3395_s10c) AS Q
WHERE ST_Area(geom) >= 15000000;
boiledorange73
トポロジ作成
• 戻り値はトポロジID (使わない)
2018/11/10 FOSS4G 2018 Tokyo 23
SELECT topology.CreateTopology('topo_pref_3395_2', 3395);
createtopology
----------------
3
boiledorange73
トポジオメトリ作成
• 戻り値はレイヤID (使う)
2018/11/10 FOSS4G 2018 Tokyo 24
CREATE TABLE topogeom_pref_3395_2 (
gid serial primary key, pcode INT
);
SELECT topology.AddTopoGeometryColumn(
'topo_pref_3395_2’,
'public', 'topogeom_pref_3395_2', 'topogeom’,
'POLYGON’
);
addtopogeometrycolumn
-----------------------
1
boiledorange73
レイヤに格納
• toTopoGeom()の第3引数がレイヤID (1)
• AddTopoGeometryColumn()の返り値
2018/11/10 FOSS4G 2018 Tokyo 25
INSERT INTO topogeom_pref_3395_2(pcode, topogeom)
SELECT pcode, topology.toTopoGeom(
geom, 'topo_pref_3395_2’, 1
)
FROM w_pref_3395_notsmall_v2;
boiledorange73
ここで地図をみてみましょう
• 日本全体の
ノード(青点)とエッジ(赤線)
• フェイス非表示
2018/11/10 FOSS4G 2018 Tokyo 26
boiledorange73
もうちょっと拡大
• ノードは
• ポリゴンの開始点
• 他ポリゴンとの接触点
(正確にはリング)
• エッジはノードを
結んでいるだけ
2018/11/10 FOSS4G 2018 Tokyo 27
boiledorange73
トポジオメトリを見てみる
• カテゴリ塗り分け
ができてる
→ 属性を持っている
• ただし
インデックスなし
→ 表示遅い
2018/11/10 FOSS4G 2018 Tokyo 28
boiledorange73
レイヤに格納
• ST_Simplify(topogeometry, double) がある
2018/11/10 FOSS4G 2018 Tokyo 29
CREATE TABLE sp_pref (
gid SERIAL PRIMARY KEY,
pcode INT,
geom GEOMETRY(POLYGON, 4612)
);
INSERT INTO sp_pref(pcode,geom)
SELECT pcode, ST_Transform(
(ST_Dump(ST_Simplify(topogeom,1000))).geom,
4612
) FROM topogeom_pref_3395_2;
boiledorange73
トポジオメトリ簡略化結果
• こんなかんじ
2018/11/10 FOSS4G 2018 Tokyo 30
boiledorange73
個々のジオメトリの簡略化
CREATE TABLE sp_pref_each (
gid SERIAL PRIMARY KEY,
pcode INT,
geom GEOMETRY(POLYGON, 4612)
);
INSERT INTO sp_pref_each(pcode,geom)
SELECT pcode, ST_Transform(
(ST_Dump(ST_Simplify(geom,1000))).geom,
4612
) FROM w_pref_3395_notsmall;
2018/11/10 FOSS4G 2018 Tokyo 31
boiledorange73
個々のジオメトリの簡略化
• 差はないようにも
見えるけど
• おかしなところ
あります
• 隙間や重複がある
2018/11/10 FOSS4G 2018 Tokyo 32
boiledorange73
みよトポジオメトリの能力を
• トポジオメトリだと
隙間も重複もない
2018/11/10 FOSS4G 2018 Tokyo 33
boiledorange73
かかった時間
• Windowsパソコン使用
• Xeon W3530 @2.80GHz (4コア, 8スレッド)
• 12.0GB PC3-8500
• SSD 読み込 み550MB/S,書き込み
500MB/S
• 都道府県ポリゴン生成 約4時間(参考値)
• レイヤに格納 約32時間(参考値)
• 他は短時間
• 簡略化 約3秒 等
2018/11/10 FOSS4G 2018 Tokyo 34
boiledorange73
おわりに
• トポロジの簡単な説明
• トポジオメトリのごく簡単な説明
• 属性が持てるよ
• 都道府県簡略化を実施
• 結構時間がかかる
• ST_SnapToGrid()で不正な地物が出る
→ ST_MakeValid()とST_CollectionExtract()
2018/11/10 FOSS4G 2018 Tokyo 35
boiledorange73
ありがとうございました
本スライドの画像は、国土数値情報(行政区域)の
平成27年データを使用したものです
2018/11/10 FOSS4G 2018 Tokyo 36

More Related Content

What's hot

GeoPackageを使ってみた(おざき様)
GeoPackageを使ってみた(おざき様)GeoPackageを使ってみた(おざき様)
GeoPackageを使ってみた(おざき様)OSgeo Japan
 
Data platformdesign
Data platformdesignData platformdesign
Data platformdesignRyoma Nagata
 
Nippondanji氏に怒られても仕方ない、配列型とJSON型の使い方
Nippondanji氏に怒られても仕方ない、配列型とJSON型の使い方Nippondanji氏に怒られても仕方ない、配列型とJSON型の使い方
Nippondanji氏に怒られても仕方ない、配列型とJSON型の使い方kwatch
 
JenkinsとCodeBuildとCloud Buildと私
JenkinsとCodeBuildとCloud Buildと私JenkinsとCodeBuildとCloud Buildと私
JenkinsとCodeBuildとCloud Buildと私Shoji Shirotori
 
QGISセミナー中級編(V2.4)
QGISセミナー中級編(V2.4)QGISセミナー中級編(V2.4)
QGISセミナー中級編(V2.4)IWASAKI NOBUSUKE
 
Clojureの世界と実際のWeb開発
Clojureの世界と実際のWeb開発Clojureの世界と実際のWeb開発
Clojureの世界と実際のWeb開発Tsutomu Yano
 
グラフ構造のデータモデルをPower BIで可視化してみた
グラフ構造のデータモデルをPower BIで可視化してみたグラフ構造のデータモデルをPower BIで可視化してみた
グラフ構造のデータモデルをPower BIで可視化してみたCData Software Japan
 
QGIS はじめてのラスタ解析
QGIS はじめてのラスタ解析QGIS はじめてのラスタ解析
QGIS はじめてのラスタ解析Mayumit
 
Qiita Engineer Summit 2021 LT 食べログでフロントエンドのリプレースやっていってます!
Qiita Engineer Summit 2021 LT 食べログでフロントエンドのリプレースやっていってます!Qiita Engineer Summit 2021 LT 食べログでフロントエンドのリプレースやっていってます!
Qiita Engineer Summit 2021 LT 食べログでフロントエンドのリプレースやっていってます!Tsuji Yuko
 
メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?Takuya Ueda
 
正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース増田 亨
 
QGISを森林GISとして使うために
QGISを森林GISとして使うためにQGISを森林GISとして使うために
QGISを森林GISとして使うためにKouichi Kita
 
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011Hiroh Satoh
 
土器の形態・軸を測ってみた
土器の形態・軸を測ってみた土器の形態・軸を測ってみた
土器の形態・軸を測ってみたNOGUCHI Atsushi
 
データモデリング・テクニック
データモデリング・テクニックデータモデリング・テクニック
データモデリング・テクニックHidekatsu Izuno
 
Power bi勉強会 1202_小林
Power bi勉強会 1202_小林Power bi勉強会 1202_小林
Power bi勉強会 1202_小林寿 小林
 
基幹システムの可視化技法
基幹システムの可視化技法基幹システムの可視化技法
基幹システムの可視化技法Zenji Kanzaki
 
データ収集の基本と「JapanTaxi」アプリにおける実践例
データ収集の基本と「JapanTaxi」アプリにおける実践例データ収集の基本と「JapanTaxi」アプリにおける実践例
データ収集の基本と「JapanTaxi」アプリにおける実践例Tetsutaro Watanabe
 

What's hot (20)

GeoPackageを使ってみた(おざき様)
GeoPackageを使ってみた(おざき様)GeoPackageを使ってみた(おざき様)
GeoPackageを使ってみた(おざき様)
 
Data platformdesign
Data platformdesignData platformdesign
Data platformdesign
 
Nippondanji氏に怒られても仕方ない、配列型とJSON型の使い方
Nippondanji氏に怒られても仕方ない、配列型とJSON型の使い方Nippondanji氏に怒られても仕方ない、配列型とJSON型の使い方
Nippondanji氏に怒られても仕方ない、配列型とJSON型の使い方
 
JenkinsとCodeBuildとCloud Buildと私
JenkinsとCodeBuildとCloud Buildと私JenkinsとCodeBuildとCloud Buildと私
JenkinsとCodeBuildとCloud Buildと私
 
QGISセミナー中級編(V2.4)
QGISセミナー中級編(V2.4)QGISセミナー中級編(V2.4)
QGISセミナー中級編(V2.4)
 
Clojureの世界と実際のWeb開発
Clojureの世界と実際のWeb開発Clojureの世界と実際のWeb開発
Clojureの世界と実際のWeb開発
 
グラフ構造のデータモデルをPower BIで可視化してみた
グラフ構造のデータモデルをPower BIで可視化してみたグラフ構造のデータモデルをPower BIで可視化してみた
グラフ構造のデータモデルをPower BIで可視化してみた
 
QGIS はじめてのラスタ解析
QGIS はじめてのラスタ解析QGIS はじめてのラスタ解析
QGIS はじめてのラスタ解析
 
今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門今さら聞けない人のためのDevOps超入門
今さら聞けない人のためのDevOps超入門
 
Qiita Engineer Summit 2021 LT 食べログでフロントエンドのリプレースやっていってます!
Qiita Engineer Summit 2021 LT 食べログでフロントエンドのリプレースやっていってます!Qiita Engineer Summit 2021 LT 食べログでフロントエンドのリプレースやっていってます!
Qiita Engineer Summit 2021 LT 食べログでフロントエンドのリプレースやっていってます!
 
メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?メルカリ・ソウゾウでは どうGoを活用しているのか?
メルカリ・ソウゾウでは どうGoを活用しているのか?
 
正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース正しいものを正しく作る塾-設計コース
正しいものを正しく作る塾-設計コース
 
QGISを森林GISとして使うために
QGISを森林GISとして使うためにQGISを森林GISとして使うために
QGISを森林GISとして使うために
 
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
 
Leaflet.js超入門
Leaflet.js超入門Leaflet.js超入門
Leaflet.js超入門
 
土器の形態・軸を測ってみた
土器の形態・軸を測ってみた土器の形態・軸を測ってみた
土器の形態・軸を測ってみた
 
データモデリング・テクニック
データモデリング・テクニックデータモデリング・テクニック
データモデリング・テクニック
 
Power bi勉強会 1202_小林
Power bi勉強会 1202_小林Power bi勉強会 1202_小林
Power bi勉強会 1202_小林
 
基幹システムの可視化技法
基幹システムの可視化技法基幹システムの可視化技法
基幹システムの可視化技法
 
データ収集の基本と「JapanTaxi」アプリにおける実践例
データ収集の基本と「JapanTaxi」アプリにおける実践例データ収集の基本と「JapanTaxi」アプリにおける実践例
データ収集の基本と「JapanTaxi」アプリにおける実践例
 

Recently uploaded

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...博三 太田
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?akihisamiyanaga1
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineerYuki Kikuchi
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfFumieNakayama
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)UEHARA, Tetsutaro
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)Hiroshi Tomioka
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案sugiuralab
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfFumieNakayama
 

Recently uploaded (8)

モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察  ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
 
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
 
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
 
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdfクラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
 
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
 
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
 
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
TataPixel: 畳の異方性を利用した切り替え可能なディスプレイの提案
 
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdfAWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
 

PostGISトポジオメトリを使ってみる