demouth::blogスマートフォン用の表示で見るdemouth::blogこの広告は、90日以上更新していないブログに表示しています。LibrariesDmGeocorderというPHPで実装された日本国内用ジオコーディングライブラリを作りました。住所から緯度経度を調べたり(ジオコーディング)、緯度経度から住所を調べたりすること(逆ジオコーディング)が出来ます。APIのようなジオコーディングAPIを利用しますが、当ライブラリは地理情報をライブラリ内に持ちジオコーディングAPIを利用しません。これによりジオコーディングAPIを利用した実装とは違い、回数制限など気にせず利用することが可能です。これがこのライブラリ最大の特徴です。当ライブラリのソースをサーバーに配置するだけで利用可能です(ジオコーディングAPIやDBを使っていない為特にライブラリを利用するための準備、サーバー設定は不要)。丁番号程度の多少の表記の揺らぎについては対応しています(詳しくは使い方を参照)。日本国内のみに対応していて、国外のジオコーディングは出来ません。緯度経度は世界測地系です。精度は大字・町丁目レベルで、街区情報は持ちません。位置情報は平成24年度版のデータを利用しています。翌年版のデータが公開されたらcsvディレクトリに配置されているcsvファイルを差し替えれば利用可能です。PHP5.0以上で利用可能で、PHP5.3以下でも使えるようにnamespaceは使用していません。住所名から緯度経度を取得する住所文字列をDm_Geocoder::geocode()の第一引数に渡すと、引数を元に住所検索を行い、詳細な住所情報を返します。この住所情報には緯度経度情報を含みます。可能性の高い位置情報が複数存在した場合は、それらの住所をすべて返します。(大字町丁目コード)検索結果が複数件存在した場合、より可能性の高い住所を複数返します。0住所の表記ゆらぎをある程度サポートしていますので、下記例のような検索が可能です。下記の例に出てこないような検索、例えば「新宿区」を「しんじゅくく」といったものには対応していません。緯度経度から該当する住所を検索するDm_Geocoder::reverseGeocode(緯度,軽度)と渡すと、その緯度経度から近い順に住所情報を複数返します。下記のいずれかの方法でライブラリを読み込んでください。読み込みができていればクラスを使える状態になっています。下記のcomposer.jsonを書いてinstallしてください。}}手動でファイルをrequireする場合こちらからソースをダウンロードして、下記のようにsrcディレクトリ以下のソースを読み込んでください。$LIB_DIR.'Dm/Geocoder/GISCSV/Reader.php';注意点UTF-8以外はサポートしません。mb_internal_encoding('UTF-8');にした状態で、検索文字列にはUTF-8の文字列を渡してください。検索結果もUTF-8で返します。ご利用いただければと思います。(2)月別アーカイブ検索リンクdemouth.netはてなブログをはじめよう!y_dさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。