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


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

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

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

回答の条件
  • 1人5回まで
  • 登録:2008/07/24 11:34:15
  • 終了:2008/07/25 08:56:25

ベストアンサー

id:pahoo No.1

pahoo回答回数5960ベストアンサー獲得回数6332008/07/24 13:03:30

ポイント50pt

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

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

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


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

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

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

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


参考サイト

id:southgate_01

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


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

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

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


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

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

2008/07/24 15:04:11

その他の回答(1件)

id:pahoo No.1

pahoo回答回数5960ベストアンサー獲得回数6332008/07/24 13:03:30ここでベストアンサー

ポイント50pt

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

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

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


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

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

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

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


参考サイト

id:southgate_01

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


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

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

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


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

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

2008/07/24 15:04:11
id:pahoo No.2

pahoo回答回数5960ベストアンサー獲得回数6332008/07/24 15:57:11

ポイント50pt

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

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

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


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

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


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

id:southgate_01

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

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


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

2008/07/25 08:55:48

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません