2008年09月21日
UTM座標上での半径検索続き
前の記事にレスポンスをいただきました。
2点間距離(1点からの距離)による検索方法3:MugeSoの日記
これはあるゾーンでの第2象限における等距離円とUTMで得た外接矩形(赤)、経緯度座標での外接矩形(青)、expand_by_meterで得られるポリゴンのバウンディングボックスの関係を示したものです。このように、青で示した外接矩形よりも大きくはなりますが、ポリゴンのバウンディングボックスは等距離円を内包しています。
本当だ...スゲエ。
私のほうが頭の中だけで考えて、メルカトル脳的に結論だしちゃってました。
やっぱりちゃんと図に描かないと判らないですね。
感動、感服いたしました。
中央経線を跨ぐ場合にはバウンディングボックスの北側の辺が等距離円に食い込みますが
これはUTM上の緯線の、もっとも凸なところを跨いじゃうから、ということですね。
で、解決法が、
これは前のエントリの方法で回避できます。
>解決方法としてはUTM上で中央経線と正方形の交点を求め、元の座標系でこの点も含めたバウンディングボックスを得ればOKなはずです。
と。
なるほど、その通りじゃないかなと思います。
ただ、そこまでして経緯度座標系上でのバウンディングボックスを求める理由が、
私がなぜこのような方法に固執するのかというと、検索対象レコードが等距離円を持っていて条件として与えた点をその等距離園内に含むすべてのレコードを得たいからです。等距離円は中心を示すgeometry型列と半径を示すdouble型列を用いて表現しています。このとき、中心点の列で空間インデックスを張っても半径を得るために逐次検索となってしまうのです。
考えてみるとUTM上で外接矩形を用いたインデックスを張る手もありますが、国内で動かす場合6つのゾーンすべてについてインデックスを張らなければいけないのが気になります。検索対象が頻繁に移動することがあるため避けたいところなのです。
だとすれば、UTMではなくメルカトル図法を用いる方法を検討されてはどうでしょうか。
元ネタはここ↓
Geographic/Photogrammetric/Cartographic - 1点からの半径検索は、Google 投影に変換してから検索するのがベストプラクティス?
メルカトル図法なので、検索中心の緯度が変わるごとに検索範囲に補正係数をかけてやる必要がありますが、関数インデックスは単一で済みます。
1エントリ:1アイヌリンク
アサンカラ(旭川)アイヌの血を引く、カラフト・アイヌの伝統弦楽器「トンコリ」の奏者、OKIさんのページ。
DUB AINU BANDを率いて活躍中とのこと。
初めて聞きましたけど、幻想的な感じですごくいいです。
Fuji Rock Festとかにも出てるんですね。
恥ずかしながら知りませんでした。
メルカトル図法検討してみます。 ありがとうございす。
Posted by: MugeSo at 2008年09月21日 17:22![[ここギコ!]](http://kokogiko.net/logo.png)



・国連人権委、アイヌ・琉球文化の保護を日本に勧告(ほるほる)
・GoogleMapsと連動したいならPostGISの他にmysqlという選択肢も出てきた あとジオメディアサミット関西も(okumula)
・人員がクラスタ化できている職場と言うのはうらやましい そろそろ限界です(「ま」のつく人)
・もうAmazonクレジットカードは使いません...楽天カード一本で。(名無し)
・ジオメディア忘年会 新年会から始まり東京1、2、関西と続いたジオメディア2008の締めくくり(ぴかぴか)
・GoogleMapsと連動したいならPostGISの他にmysqlという選択肢も出てきた あとジオメディアサミット関西も(kokogiko)
・GoogleMapsと連動したいならPostGISの他にmysqlという選択肢も出てきた あとジオメディアサミット関西も(かやま)
・なんか天から2兆円降ってくるらしいので みんな思い思いのところに募金なり寄付するのはどうか(大阪府民)
・なんか天から2兆円降ってくるらしいので みんな思い思いのところに募金なり寄付するのはどうか(kokogiko)