Seo-4d696b75 / ekisagasu

駅メモ!支援ツールサイト「駅サガース」のリポジトリ
https://ekisagasu.seo4d696b75.com/
MIT License
0 stars 0 forks source link

fix: 一部の駅のVoronoi範囲計算が失敗する #46

Closed Seo-4d696b75 closed 1 year ago

Seo-4d696b75 commented 1 year ago

条件

近傍に緯度・経度の値が完全に一致した駅がある場合

再現

東京都の荒川車庫前・栄町

9930513,3769c9,荒川車庫前,荒川車庫前,あらかわしゃこまえ,35.750909,139.752617,13,116-0011,荒川区西尾久7,0,NULL,NULL,1,cool
9930514,767822,梶原,梶原,かじわら,35.751162,139.747403,13,114-0004,北区堀船3,0,NULL,NULL,1,cool
9930515,d831ed,栄町(東京),栄町,さかえちょう,35.750909,139.742124,13,114-0005,北区栄町,0,NULL,NULL,1,cool

修正

座標計算のアルゴリズムを修正

x, y 軸並行な直線との交点は本来 y, x 座標が完全に一致するが、浮動小数で計算すると微妙にズレる。すると Point.compareによる自然順序付けがバグる→その他の正規化もバグる