自作の、Spatial(GIS)関連の関数をMySQLに追加するプラグインの関数をひとつひとつ動作確認しながら紹介するシリーズ。 https://sakaik.hateblo.jp/entry/20260215/mysql_spatial_functions_plugin STX_AsSvg(geom [, rel [, prec]]) ジオメトリをSVGパースデータに変換する。 動作紹介 正直、正しく動作しているかどうかよくわからないので、ネット上に存在した他システムの実行例を参考に試してみた。 (PolarDBドキュメントより:https://www.alibabacloud.com/he…
The latest from the MySQL community
Ideas, releases, practical guides, and perspectives from the people building with MySQL.
自作の、Spatial(GIS)関連の関数をMySQLに追加するプラグインの関数をひとつひとつ動作確認しながら紹介するシリーズ。 https://sakaik.hateblo.jp/entry/20260215/mysql_spatial_functions_plugin STX_Segmentize(geom, max_length) 動作紹介 一辺が10の正方形を、ひとつの線が「6」を越えないように分割 → なるべく等分になるように頑張ってくれるので各辺5の長さのところに中間点を打ったPOLYGONになる SET @g=ST_GeomFromText('POLYGON((0 0, 10 0…
自作の、Spatial(GIS)関連の関数をMySQLに追加するプラグインの関数をひとつひとつ動作確認しながら紹介するシリーズ。 https://sakaik.hateblo.jp/entry/20260215/mysql_spatial_functions_plugin STX_SnapToGrid(geom, size [, size_y]) 座標を、与えられたサイズのグリッドにスナップ(吸着)させます。複雑な形をシンプルにするのに便利。 動作紹介 linestringを 0.5単位に吸着させる(=まるめる) SET @g=ST_GeomFromText('LINESTRING(1.2 1…
自作の、Spatial(GIS)関連の関数をMySQLに追加するプラグインの関数をひとつひとつ動作確認しながら紹介するシリーズ。 https://sakaik.hateblo.jp/entry/20260215/mysql_spatial_functions_plugin STX_Affine(geom, a, b, d, e, xoff, yoff) 与えられたジオメトリを、与えられた条件に従ってアフィン変換します。 アフィン変換自体を私がよく分かっていなかったので、整理しながら動作検証。 アフィン変換とは 各点の座標を与えられた4つのパラメタと2つのオフセットに従って、各点を移動させるもの…
自作の、Spatial(GIS)関連の関数をMySQLに追加するプラグインの関数をひとつひとつ動作確認しながら紹介するシリーズ。 https://sakaik.hateblo.jp/entry/20260215/mysql_spatial_functions_plugin STX_Scale(geom, sx, sy [,CenterPoint]) / STX_Scale(geom, sx, sy [,CenterX, CenterY]) geomをタテヨコに指定した割合(sx, sy)だけ拡大縮小する。中心点を指定することができる。省略時の原点は (0,0)なので、多くの場合は拡大縮小を行う…
MySQLに Spatial(GIS)関数を大量に追加するプロジェクトをやっています。現在、標準のMySQLが持つSpatial関数に加え、新たに60個以上の関数を使用できるところまで進めて参りました。 https://github.com/sakaik/mysql-spatial-plugin/tree/mainみなさんにぜひ動作を試してもらいたいのですが、動作環境作るのとか大変そうな気がして尻込みしちゃうんですよね。 実際は soファイル置いて INSTALL PLUGIN コマンドを叩くだけなので実質 2ステップなのですが、なかなかみなさん試してくださいません。 (実は動作環境が非常に狭…
自作の、Spatial(GIS)関連の関数をMySQLに追加するプラグインの関数をひとつひとつ動作確認しながら紹介するシリーズ。 https://sakaik.hateblo.jp/entry/20260215/mysql_spatial_functions_plugin STX_RemoveRepeatedPoints(geom [, tol]) 連続する重複頂点を除去する関数。 動作紹介 点が重複するLINESTRINGから重複部分を除去 mysql> SET @g=ST_GeomFromText('LINESTRING(0 0, 0 0, 1 1, 1 1, 2 2)'); mysql>…
自作の、Spatial(GIS)関連の関数をMySQLに追加するプラグインの関数をひとつひとつ動作確認しながら紹介するシリーズ。 https://sakaik.hateblo.jp/entry/20260215/mysql_spatial_functions_plugin STX_HexGrid(size, geom) 与えられたgeomのバウンディングボックスを覆うように、与えられた一辺のサイズの六角形を生成し、マルチポリゴンとして返す。ポリゴンそのものではなく、それを覆う矩形を覆うように、というところが気持ち悪さを感じるが、PostGISの ST_HexagonGrid()でもそのような動…
自作の、Spatial(GIS)関連の関数をMySQLに追加するプラグインの関数をひとつひとつ動作確認しながら紹介するシリーズ。 https://sakaik.hateblo.jp/entry/20260215/mysql_spatial_functions_plugin STX_SquareGrid(size, geom) 指定されたgeomを覆うような矩形グリッドを MULTIPOLYGONで返す。矩形は、第1引数で与えられた長さが一辺となるように組み立てられる。原点(0,0)を基準としたグリッドになるように位置調整される。 動作紹介 一辺10のPOLYGON全体を覆うような、一辺4の矩形…
自作の、Spatial(GIS)関連の関数をMySQLに追加するプラグインの関数をひとつひとつ動作確認しながら紹介するシリーズ。 https://sakaik.hateblo.jp/entry/20260215/mysql_spatial_functions_plugin STX_MinimumBoundingCircle(geom [, segs]) 最小外接円を求めて、Polygon として返す関数。 動作紹介 正方形の最小外接円。大量のPOINTにより擬似的に円を表現していることがわかる mysql> SET @g=ST_GeomFromText('POLYGON((0 0, 10 0,…