人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

GISアプリケーションを探しています。

欲しい機能は次のようなものです。

[1] - 特定の地点を中心に大きさを指定して円を書く(半径:1km)
[2] - 指定した円の中に入る住所(HOGEHOGE1丁目)のリストを表示してくれる。

googlemapでこのような機能、あるいはこの機能を作っているサイトなどはないでしょうか?

●質問者: southgate_01
●カテゴリ:インターネット 科学・統計資料
✍キーワード:GIS アプリケーション サイト リスト
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● pahoo
●50ポイント ベストアンサー

[1] - 特定の地点を中心に大きさを指定して円を書く(半径:1km)

GoogleMaps API には円弧描画機能がないので、多角形描画で代用させます。

具体的な手順は下記を参考にしてください。


[2] - 指定した円の中に入る住所(HOGEHOGE1丁目)のリストを表示してくれる。

これも GoogleMaps API に機能がありません。

中心点の住所を求めるのであれば「rgeocode.php - 逆ジオコーディングサービス」が利用できるのですが、円内となると、適当な方法が思いつきませんでした。

他の方のご回答を参考にしてください。


参考サイト

◎質問者からの返答

コメントありがとうございます。


[1] - 住所の座標をデータベースに入れておく

[2] - googleMap表示エリアの4角の座標を取得する

[3] - [2]の座標内に入っている住所をデータベースから取得する


こうすると、地図をドラッグすると画面内に座標が入っている住所をリストアップできているのですが、やはり円を書いてやりたいところです。

「円に入る」という状態を座標を使って表現するところが難しそうですね。


2 ● pahoo
●50ポイント

「円に入る」という状態を座標を使って表現するところが難しそうですね。

これは、逐次計算させた方がいいと思います。

手順としては、以下が考えられます。


  1. 国交省の位置参照情報をDB化する。
  2. 指定した円に外接する正方形を求め、1のDBテーブルに対し、その4隅の座標(緯度・経度)の範囲内にあるレコードを絞り込む。(southgate_01 さんがコメントしている「[2] - googleMap表示エリアの4角の座標を取得する」を発展させたもの)
  3. 2で絞り込んだレコードの座標が指定した円内に含まれるかどうか計算する。ある座標と円の中心点の距離を計算し、それが円の半径より小さければ「含まれている」と判定する。

サーバに負荷がかかることが予想されるので、rgeocode.php を利用すべきではありません。


また、HeartRails Express の「最寄駅情報取得 API」がどのようなアルゴリズムで計算しているのか調べてみると、案外、良い方法が出てくるかもしれません。

◎質問者からの返答

すいません、お返事が遅くなりました。

なかなか大変そうだということが分かったのです、まずは円を書くところからコツコツ始めたいと思います。


大変参考になり助かりました、ありがとうございます。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ