Upgrade to Pro — share decks privately, control downloads, hide ads and more …

位置情報とオープンソース がやりたくて MIERUNEに転職した話

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on.
Avatar for Taku Fukada Taku Fukada
September 26, 2024

位置情報とオープンソース がやりたくて MIERUNEに転職した話

Avatar for Taku Fukada

Taku Fukada

September 26, 2024
Tweet

More Decks by Taku Fukada

Other Decks in Programming

Transcript

  1. 前職: 東京の報道系ITスタートアップ 準リアルタイム更新用 ベクトルタイルサーバ 気象庁データの扱い 位置情報付きデータの
 RDB→Elasticsearch同期 簡易ジオコーダー ※イメージ ※イメージ

    ※イメージ  リアルタイム同期 (CDC˜  検索基盤の完全移行を行う  道路トラフィックデータo  インメモリ四分木  文章の途中にある住所を検出  気象庁防災情報XM”  イベントソーシン™  ベクトルタイル化 位置情報がらみの開発をよく主導。フルリモート。 CDC
  2. 前職: 東京の報道系ITスタートアップ 準リアルタイム更新用 ベクトルタイルサーバ 気象庁データの扱い 位置情報付きデータの
 RDB→Elasticsearch同期 簡易ジオコーダー ※イメージ ※イメージ

    ※イメージ  リアルタイム同期 (CDC˜  検索基盤の完全移行を行う  道路トラフィックデータo  インメモリ四分木  文章の途中にある住所を検出  気象庁防災情報XM”  イベントソーシン™  ベクトルタイル化 位置情報がらみの開発をよく主導。フルリモート。 CDC もはや 地理情報 (GIS) を専門にしたほうがいいのでは…?
  3. YOUはなぜMIERUNEに 8 求職中、 にたまたま MIERUNE の 記事が出てきた。運命。 アドレスバーの履歴 8 一部の成果を

    として公開 → 日本ではめずらしい OSS 8 小さい会社の をまた得たい。 自由度 8 今は受託がメイン → が付いてる 地に足
  4. 巨大データの高速な変換 Python などでは遅すぎて実用にならなかっただろう クロスプラットフォームビルド Windows, Mac等で動く GUI アプリが要求されていた 初めて Rust

    を使う 納期は5か月後 なぜ Rust ? 不安要素も... 言語の選定(国の仕事で Rust を使うぞ) 結果的には「Rust じゃないと厳しかった」 Github Actions で 簡単に全 OS 用ビルド その他 Â Tauri (GUI) の存Ë Â コードの再利用Ï Â Rustをスタックに加えた´ Â etc. コンピュータってこんなに速かったんだ......
  5. 基礎の部品から自作(一例) ジオメトリまわり 変換まわり 地理まわり ポリゴンの三角形化 mapbox/earcut の移植 MIERUNE/earcut-rs タイル境界でのスライス mapbox/geojson-vt

    を参考に 専用の幾何データ表現 シリアライズ効率を最重視 MIERUNE/flatgeom-rs CityGML パーサの実装 ° XMLスキーマの解ª ° Rustの手続きマクロで導出 3D Tiles の実装 ° 3D Tiles+glTF拡張のモデÖ ° タイリングスキームの検討 外部ソート器の実装 タイル生成パイプラインに必要 MIERUNE/kv-extsort-rs 標高を楕円体高に変換 ° ジオイドモデルの組み込0 ° 測量成果の使用承認申請 MIERUNE/japan-geoid 地心座標系への変換 ° 3D Tiles などで必要 平面直角座標系の扱い ° 横メルカトル投影法の計算
  6. 社内開発環境の整備 パスワードなどの安全な共有 Workers, Pages / Zero Trust / etc. エラーモニタリング

    / APM AWS Organizations
 (AWS Control Tower) AWSマルチアカウント環境の推進 ツールの導入提案 Google Workspaceアカウントでサインイン などなど シングルサインオンの管理と AWSアカウント発行の IaC 化 + +
  7. TypeScript, Python と Rust B 科学系エコシステ1 B 簡便さ(データ処理など$ B etc.

    B 書ける人が多e B Web側とのコードベース共I B 優秀な型システム GISでは Rust を使う必然性がある (NAPI-RS) B 現実的なパフォーマンスの実現。データの規模i B JavaScript や Python から利用しやすい Wasm Compnent Model...? 長所 長所
  8. SvelteKit に Hono を載せる Hono /api/** request フロントエンドと API を分けずにデプロイ。

    (分けることもできる) SvelteKit のモノリシックさを活かしつつ API 部分は Hono で書く。 SvelteKit r OpenAPj r hono/client
  9. Web + GIS Web開発だけでは
 退屈なあなたに 3 少し っぽい要素も欲しい。 サイエンス 3

    新しい や のネタがほしい。 UI/UX 可視化 3 実世界の課題を解決したい。 3 社会やコミュニティに貢献したい。 3 飽きっぽい。 をやりたい。 色々なこと