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 | …[さらに読む]