27 件中 21 - 27 件を表示
« 前の 10 件
Displaying posts with tag: newfunc (reset)
MySQL GIS拡張関数: STX_Angle()

MySQLにSpatial(GIS)関数を追加しています(プラグインとして)。ひとつひとつの関数を動作確認しつつ紹介するシリーズ。ひとつ前に続いて、角度関係です。 STX_Angle(p1, p2, p3) 3つのPOINTを与えてそれが為す角(p1-p2-p3)の角度を求めます。戻り値はラジアン。PostGISに倣い、本関数は与えられた座標を平面として扱います。また、PostGISに実装されている「4つのPOINTを与える機能」「2つのLINESTRINGを与える機能」は実装されていません(要望があったら考えます)。 角度はp1からp2を経由してp3に向かう p2における角度を、「反時計回り…

MySQL GIS拡張関数: STX_Azimuth()

MySQL にSpatial(GIS)関数を大量に追加する(ひとり)プロジェクト、MySQL Spatial Functions Plugin。実装した関数を、ひとつひとつ動作確認しながら紹介していきます。今回は方位角。 STX_Azimuth(p1, p2) 点1から点2への方位角をラジアンで返します。方位角は、上(または北)を 0 とし、右回りに数えます。 ラジアンなので、真右が Pi/2(=90度)、真下がPi(=180度)、真左が 3* Pi/2 (=270度) です。2つの点が同じ時は 0 を返します(PostGISではnullとなるそうですが)。 動作紹介 原点と、そこから右にひと…

MySQL GIS拡張関数:STX_MaximumInscribedCircle()

MySQL Spatial Functions Plugin の関数動作確認中。この関数は面白い。ポリゴンの内接円に関する情報を返してくれる関数。 STX_MaximumInscribedCircle() POLYGONに内接する「最大内接円」の半径となるLINESTRINGを返します。LINESTRINGは中心から「最近接境界点」という場所への線となります。 動作紹介 SET @g=ST_GeomFromText('POLYGON((0 0, 10 0, 13 10, 0 15, 0 0))'); SELECT CAST(@g as polygon) , CAST( STX_Maximumi…

MySQL GIS拡張関数: STX_Rotate()

MySQL Spatial Functions Plugin の関数紹介(動作テストがてら)。今回はちょっと楽しい STX_Rotate()。 STX_Reverse() 指定した点を中心にジオメトリデータを回転します。 動作紹介 (35 135) を中心としてPOLYGONを30度回転します mysql> SET @g1=ST_GeomFromText('POLYGON((35 135, 35.5 135, 35.3 135.5, 35 135.5, 35 135))',6668); mysql> SET @gc=ST_GeomFromText('POINT(35 135)',6668); …

MySQL GIS拡張関数: STX_Reverse()

MySQL Spatial Functions Plugin(自作)の関数ひとつひとつ検証中。今回は STX_Reverse()。 STX_Reverse() ポリゴンやラインを構成する点の順序を逆にする関数です。 動作紹介 LINESTRINGに対して、構成点の順序を逆転する例 +---------------------------------------------------------------------------+ | ST_AsText(STX_Reverse(ST_GeomFromText('LINESTRING(1 2, 3 4, 5 6, 7 8)'))) | +--…

MySQL GIS拡張関数: STX_Translate(), STX_Translate_latlon()

自作MySQL spatial functions plugin の関数を、ひとつひとつ検証しながら紹介してくシリーズ。第(もう数えられなくなった)段。 sakaik.hateblo.jp STX_Translate(geom, dx, dy) ジオメトリを、指定した座標分だけ平行移動する関数です。測地系の設定によらず、dxが経度(右方向)、dyが緯度(上方向)です。 個人的にはそれが気持ち悪かったので、lat-lon(緯度-経度)の順序で与えらる独自関数、STX_Translate_latlon(geom, lat, lon) も作成しました。 動作紹介 ポリゴンの平行移動。経度に0.3、緯…

MySQL GIS拡張関数: STX_IsRing()

MySQL Pluginの機能を使って、MySQLにSpatial(GIS;地理空間情報)データを扱う関数を爆増させる試みをしています。 (MySQL Spatial Functions Plugin を公開しました(α版) - sakaikの日々雑感~(T)編)検証しながら関数を紹介していくエントリー、6個目の関数は IsRing です。 ST_IsRing() 引数で与えられた LINESTRINGが「閉じているか」を検証して True/False( 1/0 ) を返す関数です。MySQL標準には似た関数として ST_IsClosed() というのがありますが、こちらは始点と終点が同じであ…

27 件中 21 - 27 件を表示
« 前の 10 件