★データ解析備忘録★

ゆる〜い技術メモ

SASで緯度経度から地域メッシュコードを計算する

はじめに

検索してもでてこなかったので、緯度経度からその点が含まれる3次メッシュ(基準地域メッシュ)コードを算出する関数をSASで作成しました。(僕が知らないだけでもしかしたら既にあるのかもしれませんが。)

地域メッシュコードの概要については統計局ホームページ/地域メッシュ統計についてに、その算出方法については 緯度経度からメッシュコードを作成する方法に解説が載っていますが、標準地域メッシュコーどは約1km四方で、大体の粒度は地図上で標準地域メッシュを確認するページで確認できます。ちなみに、JR田町駅周辺だとこのくらいの粒度です。 f:id:songcunyouzai:20170715142017p:plain

方針

今回はSASマクロではなく、関数を自作する方針でいきたいとおもいます。SASで自作関数を定義するには、 PROC FCMP を使います。これの使い方は以下に解説と具体例が出ているので参考にしてください。 blog.n-insight.co.jp

コード

プログラム作成にあたって、Rで同じことができるGitHub - uribo/jpmesh: Utilities for Japanese mesh codeを参考にさせていただきました。

また、緯度経度→地域メッシュはすでに公式があるような手法ですのでプログラム自体はそんなに難しくなくて、単に小数点以下を切り捨てたり、引き算割り算、あと文字列と数値の変換のような基礎的な方法でできてしまいます。

使ってみる

サンプルデータは、前回と同じ金閣寺とディズニーシーに加えて慶應義塾大学の緯度経度を入れています。 f:id:songcunyouzai:20170715144012p:plain

結果

f:id:songcunyouzai:20170715144036p:plain ちゃんと取得できてますね! Enjoy!