狠狠撸

狠狠撸Share a Scribd company logo
惭测厂蚕尝と空间データ(骋滨厂)
~Software Design誌への
GIS連載と、公開されている地
理情報データをMySQLに取り
込むお話 とユーザ会からのお知らせ
2020/01/28
日本MySQLユーザ会
坂井 恵(@sakaik)
MySQL Casual Talks #13
自己紹介
? 坂井 恵(さかい けい)
? @sakaik
? 日本MySQLユーザ会 副代表
? Oracle Certified Professional, MySQL 5.7 Database Administrator
? 測量士補
? MySQLに対する接し方は「パフォーマンスより機能」派
ユーザ会からのお知らせ
日本MySQLユーザ会は 2020年に設立20周年を迎えます。
20年を記念して、20周年記念パー
ティを開催します!
日時: 2020年3月4日(水) 18:30~
会場: SCSK様(豊洲)
内容: 20年を記念してのセミナーと交流会
テーマ: 「MySQLとユーザ会の20年」
※開催3週間くらい前になったら参加受付を開始します(Connpassを予定)
カジュアルなみなさんにお願い
発表募集
? この20年(もっと短くてもいいです)で、MySQLが変わったなーと
いうのを感じられる発表
? ご自身がMySQLを触り始めた時と今との違い
? 今ならラクできているけど、当時はその機能がなくて苦労した話
発表してくださる方は、
twitter @sakaik まで連絡ください!
(10分程度)
LTも募集しています
? テーマ
「いまはむかしLT」
?昔になりきって発表してください
? 例:「バージョン4.1がでましたー! こんな新機能が便利です!」
? 昔の発表資料を引っ張り出してくるのもOK!
さて本题
ここまでのあらすじ
2018年4月。MySQL 8.0 が正式リリースされた。
そこに含まれていたのは、丸い地球。そう、地球上
のあらゆる地点の情報を、MySQLで扱えるように
なったのである。しかしそれは、大きな壁に向かう
挑戦の始まりでもあった。
INFORMATION_SCHEMA.ST_SPATIAL_REFERENCE_SYSTEMS に記された符
号の数々は、ここにたくさんの種類の地球があるこ
とを示していた。MySQL上の謎多き地球。
この謎に関心を持ち立ち向かった一人の男(文字数)
要約(ある男の話)
?位置の情報をデータとして持つ方法に興味を持ってしまった
?データの発生源や、値の意味?原理を知ることは大切
?世の中には「位置」を決めるための実在オブジェがたくさん
?そりゃ、見に行ってみたくなるでしょう
?色々なモノを見に行き、色々な事を知った。面白い!
?ふと気づくと「MySQLは、どこ行った!?」
?でも、手元に溜まった膨大な(当社比)知識と体験
膨大な体験(当社比)の
披露の場を得た!
連載内容
回 号 タイトル 行ったところ
1 2019/08月号 MySQL と空間情報 水準原点
2 2019/09月号 東経135度を求める旅 明石市(東経135度)
3 2019/10月号 位置情報の扱い方の基本 FOSS4G(北海道ほか)
4 2019/11月号 三角点を巡る旅① 日本の原点を訪ねて 日本経緯度原点
5 2019/12月号 三角点を巡る旅② 三角点探訪の実際 新潟の三角点
6 2020/01月号 三角点を巡る旅③ 長い距離を測る工夫~基
線測量
札幌基線、薫別基線(北海道)、三
方原基線(浜松)
7 2020/02月号 メートルで地球上の位置を表現?~平面直
角座標系
2系原点(阿蘇)、唐津城(佐賀)
8 2020/03月号 地図と測量の科学館へ行こう 科学館 、VLBI原点(つくば)
9 2020/04月号 日本の地図を作ってきた人々(予定) (2020年3月発売予定)
『MySQLの話をしない(こともある)MySQL連載!』
※連載に登場する ほぼ全ての写真は、筆者自身で撮影したもの!
连载の中で登场した场所
連載で伝えたかったこと
?位置情報は楽しい!
?位置情報は現実世界と密接に結びついている
(というか現実世界の、もっともわかりやすい投影)
「会社にこの本あったなぁ」
「家にあるわ!」
という方、ぜひMySQL GIS 連載をご覧ください!
補足
「空間情報」(Spatial Data)
簡易的に「位置情報」という言葉で語ったりしていますが、
ある「点」の情報だけだと思っていませんか?
?全国のコンビニのある場所とか
?ランチマップにおけるお店の場所を表す点とか
→線や面の情報も表すことができます(MySQLで扱えます)
線: (例)道路や川などの情報。ルート(経路)を表す情報
面: (例)都道府県や市区町村の形。建物の形。敷地の形。
→境界線を表すデータなので「境界データ」とも呼ばれる
空間情報のデータ
国土数値情報 ダウンロードサービス
http://nlftp.mlit.go.jp/ksj/index.html
e-Stat: 統計で見る日本/地図で見る統計
https://www.e-stat.go.jp/gis/
などをはじめとして、たくさんのデータが公開されている。
空間情報のデータ
データ公開フォーマット
? shapefile (シェープファイル)
? xml
? json
? csv
? excel / pdf
シェープファイルで公開されている空間情報データは非常に多い。
→シェープファイルをMySQLに取り込む方法を知っていると、
MySQL-GIS活用の幅が大きく広がる!
シェープファイルの取り込み方
を、
宮内はじめさんに、私の連載の中で書いてもらいました!
Software Design 2020年2月号
? GDALの ogr2ogr というツールを使います。
? いくつかの課題がありましたが、オラクル社MySQLチームの山﨑さんとと
もに、ノウハウを溜めて、安定して取り込みができるようになりました。
ogr2ogrより便利なもの
SD2月号より(宮内氏)
『シェープファイルをインポートするツール(shp2pgsql)が同梱されてい
るPostGISに比べて、MySQLに(略)ひと手間かかります』
解説
? ogr2ogrは、最初の環境をつくる所だけがちょっと面倒なんです
? PostGISには、shapefileを取り込むツールがついているんです
技術者魂に火が付いた!らしい
shp2pgsql (ライセンスはGPL)を改造して、shp2mysql を作っちゃった!
https://github.com/hajime-miyauchi/shp2mysql/
GitHubで公開されています
実は私も
? shapefileの仕様が公開されているので、これ、自力で読み取れるん
じゃないかと思っていた
? 年末年始に時間が取れるので、休みに入る前に電車の中で仕様書を読
んだりして把握
? とりあえず、特定の条件のファイルだけ読み取ってSQLを吐くものを
作成
? 見てもらいたくて、宮内さんと山﨑さんに連絡
→ 宮内「えっ、私も作ってて、ついさっき MacとLinuxでの確認完
了したところで????」
12月29日のできごとでした。
MySQLへのシェープファイル取
り込みは多様化の時代へ!
宮内版 shp2mysql
? shp2pgsqlをベースに開発(C)
? Linux, Windows, MacOS版の実行ファイルが提供されている
? GPLなので勿論ソースコードも公開
坂井版 shp2sql (仮称)
? バイナリファイルを読んで解析するものをスクラッチで開発(Python)
? 本日時点では、まだ非公開
? 現在、Polygonデータの解析ができるようになったところ。順次Pointや
Linestring のデータを解析できるようにしていくフェーズ
? スクラッチで書いた理由は、ライセンス上の制約をなるべく受けないよう
にするため(あと、単純に技術的関心から)
ますます面白いことになりそうです。
まとめ
? Software Design 誌の連載、読んでね!
「なんで終わっちゃったんですか。もっと読みたい!」とお便りをしていた
だくと、続編か何かの連載枠をもらえるかもしれません(笑)
(でも正直なところ、お伝えしたかった大きなものはかなりカバーしたので、
枠をもらえるなら今度は、名所紹介ではなく、正面から技術と向かい合った
特集記事とか、書きたいですね)
? 公開されている shapefileデータをぜひ読み込んでみてね!
? より汎用的(というかツールとして歴史はある)にやるならまずは ogr2ogr
の使い方を学ぶのも良いと思います
? 手っ取り早く取り込んでみたいなら、宮内版 shp2mysql を!
? しばらくして坂井版ツールも公開されたらぜひ触ってみてください
あと、ユーザ会20周年イベントでお話してくださる方も募
集していますのでよろしくです。
ありがとうございました
私からの本日のおすすめツイート:
「宮内さんはすごい人! 」
Hmatsuさんの言う
「Poooooooo界隈の方」

More Related Content

惭测厂蚕尝と空间データ(骋滨厂)