2012-02-02 5 views
0

これは大きな質問です。私はここでこれについて多くのことを知っています。固定位置からデータベース(オーストラリア)のlanに自動化された緯度経度

私が見つけた中で最高です:this link

は今ここに私たちの問題がある(これはちょうどオーストラリアの距離です) 私たちは、オーストラリアのすべての単一の郊外のための緯度とLNG値のデータベースを持っています。

私の質問は...私たちのサーバーにpingを実行して結果を大規模なデータベースに保存するスクリプトを実行する方法はありますか?

だからのようなビット:

レコード:LAT LNG - >レコードB:LAT LNG(レコードの計算及び格納距離を行う) レコードA:LAT LNG - >レコードB:LAT LNGが(計算を行います現時点では、これをアクセスする最も簡単な方法を

: - :と店舗のレコードの距離)

など(LAT LNG(これは既に知られているように>レコードA LAT LNGとレコードBをしません)データは郊外の州や郵便番号のような現実の世界の名前を経由しています。これは緯度経度とともにdb内にあります。

これらは、それぞれのデータエントリにIDがあるため、実際には余計です。上記の私の例に似ています。

目的は得ることです:

ID 1 - > ID2の距離= 75キロ

ID1 = -27.4561899、153.3564564(知られている名前ラビーベイQLD 4163) とID2 = -27.1054534、 152.948145(知られている名前Morayfield QLD 4560)

私はこれでつもりどこで入手できますか...

だから私の質問は、IDをつかむだろうつまり、私たちは自動化されたスクリプトを実行することができる方法を誰も知っていますさ次のIDレコードa関数を実行し、結果をdbに保存してから、次の処理を実行します。

明らかに私たちに私たちを約84506500結果(.ish)

を与えるどの

...私たちは、非常に高速なサーバを持っている、と私たちはお互いに対してピットにするためのいくつかの13000の個々のレコード(郊外)があります我々は0 kmをエコーすることができるので、同じIDの計算をする必要があります

だから、どのような提案は、誰も見たことがあるか、前にこのような何かをしましたか?

は良い方法はあります、私たちは、理想的には、これはメンバーサイトと広告されたアイテムですので、ページの読み込み...

上でそれらを吐き出す、このサーバ側(およびストア結果を)やりたい...そう我々は知っている:

広告主の場所とヴィスターの場所は、その場でバイヤーから売り手までの距離を広げたいと思うだろう。大規模なクライアントサイドコードを実行しないでください。ほぼ確実にそれらの非常に少数がこれまでに使用されるテーブルで84M +行を事前に計算確かに価値がない -

サント

答えて

2

計算は本当に難しくありません。

このようなデータがデータベースの各場所に「最も近い場所」のリストを格納することであり、はるかに小さなテーブルで実行できる場合は、事前に計算を行う必要があるのは唯一の時間です。

このアーキテクチャでは、このテーブルをキャッシュとして使用して、そのデータを格納することを検討しましたか?人々がそれらを求めるときの結果と、新しいクエリが到着したときにあなたのアプリケーションが答えを探す最初の場所となるのでしょうか?

+0

代替手段として私の考えを超えていて、ユーザーがいつも類似の場所からの広告を見て、データが既に取得されて保存されているために意味があると思います。私は非常にいくつかのサイトを見て、ベースの場所(から)と売り手の場所を使用して..と私はかなりSQL経由でフェッチされていることを確認しています。その例:http://brisbane.gumtree.com.au/f-Jobs-graphic-web-design-Logan-Area-Bethania-W0QQCatIdZ18470QQLocationZ3005932 – 422

関連する問題