「2地点間の緯度経度から直線距離でもっとも近いデータを取得する話」をSQLで書く話
SASYAMAさんの記事を見て、SQLで書いてみました。
データステップ100万回 SAS新手一生
2地点間の緯度経度から直線距離でもっとも近いデータを取得する話 geodist関数
http://sas-tumesas.blogspot.jp/2016/02/2-geodist.html?spref=tw
市の名称を処理しようとするとエラーになるので、
レコードの番号で処理。
直積ですけどねー(47×47程度なら...)
データはSASYAMAさんのデータセットをそのまま使わせて頂きました。
proc sql; select t1.no as from, geodist(t1.ido,t1.keido,t2.ido,t2.keido) as distance, t2.no as to from q1 as T1 cross join q1 as t2 where t1.no <> t2.no and t1.no < t2.no order by geodist(t1.ido,t1.keido,t2.ido,t2.keido) ;
なんだか久しぶりにSQL書いたな。