18 件中 1 - 10 件を表示
次の 8 件 »
Displaying posts with tag: GIS (reset)
MySQLのSRID()でSRID変換する際にaxis-orderで悩んだ話

訳あって、MySQLで「GEOMETRY型のカラムに、いったん SRID=0で登録したあと、一気に正しいSRIDに変換する」ということをやろうとしたところ、思惑通りにいかず随分悩んだので、整理しておきます。

やろうとしたこととエラー発生

 ここではシンプルな例に置き換えた再現実験で紹介します。

 まず、GEOMETRY型を入れられるテーブルを作りデータを1件登録します。

CREATE TABLE g1 (g GEOMETRY);
INSERT INTO  g1 VALUES (ST_GeomFromText("POINT(35 135)"));

 SRIDを指定していないので、SRID=0で登録されています。axis-orderは lat-long です(というか、そうなっていることを期待して登録しました)。登録された内容を確認してみます。

mysql> SELECT …
[さらに読む]
解決:高緯度ほど緯度1度が広くなる謎(追記あり)

数日前の日記の中で、「緯度1度あたりの長さは、緯度の高低に依らず一定と予想して、MySQLで計算してみたところ、差が出てびっくり」という実験結果を紹介しました。
http://sakaik.hateblo.jp/entry/20191202/mysql_gis_metre_per_degree

これは、地球が(そして今回計算に使用した JGD2011が)真球ではなく回転楕円体だからということに起因するものであると、すぐに想像できましたが、いやまて、よく見ると高緯度のほうが1度あたりの距離が長い。 

mysql> SELECT id, ST_Distance(pos1, pos2)  FROM g3 ORDER BY ID;
+------+-------------------------+
| id   | ST_Distance(pos1, pos2) |
+------+-------------------------+
|    0 | …
[さらに読む]
MySQL Technology cafe #6 でMySQLのGISの話をしてきました

 そんなわけで、12月5日に開催された Oracle Technology Cafe #6 にて、発表の機会をいただき、あんなことやこんなことを語ってきました。
 この2年間、色々なところでMySQLGISについてお話をしてきて、そろそろ「 …

[さらに読む]
経度一度はどれくらいの長さ?MySQLをつかって調べてみよう

この日記は、RDBMS-GIS(MySQL,PostgreSQLなど) Advent Calendar 2019 の2日目の記事です。
( https://qiita.com/advent-calendar/2019/rdbms_gis )

経度一度ってどれくらい?

 赤道付近の一周の長さが だいたい 40,000km だというのはみんな知っていますよね。実際はもう少し長いのですが、とりあえず感覚的なものでいいです。で、経度というのは、緯度が上がっていくごとに円が小さくなりますから、1度の長さもどんどん短くなるはずです。どんな感じなのかな、と …

[さらに読む]
MySQL: ストアドで度分秒変換

GIS関係のデータを探していると、緯度経度を表す数値として、度で表されているものと、度分秒で表されているものがあります。MySQLで扱えるのは、度(「35.65810012度」のような数字)です。度分秒(「35度39分29.172秒」のような表現)で公開されているデータを度単位に直すのが意外と面倒くさいので、こんなストアドを試しに作ってみました。

delimiter //
CREATE FUNCTION dfb2deg(d float, f float, b float)
                RETURNS float DETERMINISTIC
  RETURN d+f/60+b/60/60
//
delimiter ;

こうやって使います。

mysql> SELECT dfb2deg(139, 44, 28.8869);
+---------------------------+
| dfb2deg(139, 44, 28.8869) |
+---------------------------+
|        139.74136352539062 | …
[さらに読む]
FOSS4G 2019 Niigata 参画

FOSS4G Niigata に参加してきました。この分野は新参者だし、趣味で素人なので、ひっそりと一参加者としてです。
とは言いつつも、懇親会ではライトニングトーク(LT)の枠も頂戴して、趣味全開のお話を披露させていただきました(後述)。



www.osgeo.jp

前日(=ハンズオンデイ)日中

[さらに読む]
測量士補試験を受けてみた話

 MySQL 8.0 で GIS の機能が本格的になった(測地系の概念が入った)ことをきっかけに、位置情報的なものに興味を持った私です。最近はもう、MySQLの機能とは関係ないところで …

[さらに読む]
MySQLのSpatialでのPOLYGONの同一性

boiledorange73さんのこの記事を見て、むくむくと疑問が湧き上がったわけですよ。本題とは全然関係ないところで、単に「右回り左回り」というキーワードだけに反応して、妄想全開モードになっただけなのですが。
qiita.com

MySQLは 記述方法の違うポリゴンを同一と見なしてくれるのか

 点A、点B、点C、点D からなるポリゴンって、A-B-C-D-A とも、B-C-D-A-B とも、B-A-D-C-B ともあらわすことができますよね。感覚的にはこれらはすべて同じと見なして欲しいな、と思うのですが、実際にはどうなのだろう。というのが今回の疑問です。

[さらに読む]
JGD2011からのST_Transform()、JGD2011へのST_Transform()

この日記は RDBMS-GIS Advent Calendar20日目の枠です。


 一昨日に書いた MySQL 8.0.13 の ST_Transform()を試す - sakaikの日々雑感~(T)編 に対する返歌を 有意識者の boiledorange73 さんにいただいた(JGD2011の座標系にtowgs84が無いとかそもそもtowgs84って何やねん - Qiita)ので、それに対する恋文返しです。実際には、boiledorange73 さんへのお返事になっているというよりも、boiledorange73 …

[さらに読む]
MySQL 8.0.13 の ST_Transform()を試す

この日記は RDBMS-GIS Advent Calendar の 18日目の枠です。

MySQLの残念な ST_Transform()

 ST_Transform() という関数があります。測地系を変換できる機能です。Tokyo測地系(別名日本測地系)で記述されている緯度経度を、JGD2000/2011 に変換したり、あるいは地理座標系の JGD2011の緯度経度を JGD2011の平面直角座標系の9系の座標 …

[さらに読む]
18 件中 1 - 10 件を表示
次の 8 件 »