2012-05-14 34 views
1

不幸的是,數學從來不是我的強項,我正在努力使用最佳方法/公式(我將需要交給PHP代碼):將地理區域劃分爲一系列較小的區域(可控大小)並計算給定經緯度的哪個區域

1)。從一個大的區域開始(例如覆蓋整個歐洲)

2)。將這個區域分解成一系列較小的塊(即將其變成各種網格)

3)。每個網格塊的寬度應該大致相當於75km的距離(考慮到地球曲率)。 4)。計算每個網格塊的中央緯度/經度點

5)。對於每個網格塊的中心點,針對獨立的經緯度點(代表感興趣的地點)的數據庫運行搜索,以找出每個網格塊最多感興趣的5個關注點。最遠的興趣點距離電網中心不超過150公里。

一旦完成了上述所有工作,我將最終得到一個網格塊數據庫及其相應的5個最近感興趣的地方。

我的希望是,我應該能夠採取任何隨機緯度/長點並計算(使用有效的數學公式)預先計算的網格塊落入其中,從而能夠立即返回5個最接近的點而不必進行任何昂貴的計算。

[注:基於高性能馬克的有益以下響應編輯爲清楚起見]

+0

我想你想根據球面座標(兩個角度的範圍)來定義你的正方形,所以它們都是大致相同的大小,並找到球形座標和經緯度之間轉換的方式。谷歌應該能夠告訴你如何做到這一點,它可以很容易地告訴哪個點在哪個方塊等,並測量距離等。 – Helen

+0

感謝這個海倫。我首先會去探索高性能馬克的想法,因爲它似乎略微超出我的意思(維基百科對於「球座標」的條目讓我感到困惑......) – corford

回答

1

我認爲你最好的選擇是要麼使用,或跟隨的,現有方法的例子,以網格的面積,一個如UTM。既然你承認你的數學很弱,在這個階段使用可能是更好的方法。

UTM會給你1和2

沒有任何事物會給你3個以上的面積一樣大歐洲。你將無法定義一個75平方公里的方陣,這個方陣的總和等於一個正方形,但地球在這麼大的範圍內不夠平坦。

UTM爲您提供了4

一旦你得到了你的頭圓這一切,你不應該有太多的麻煩,5,但後一個問題,當你到達那裏,你是有困難的。

編輯

要擴大3點。我建議你找到你感興趣的區域的中緯度,即北緯中途(在角度測量)北部和南部之間您感興趣的領域的限制。然後谷歌周圍的公式將緯度經度的長度轉換爲緯度的公里。沿中緯度以75km爲間隔的垂直線將成爲您網格的基礎。這些線將在角度測量中等距分佈。

接下來,計算出感興趣區域北部和南部的垂直線之間的距離(以公里爲單位) - 相同的公式。如果線性度量仍然在靈活性的範圍內,那麼您已完成此步驟。如果他們不是(a)我很驚訝,並且(b)你將不得不解決一些棘手的數學和編程問題。

接下來,再次牢記您的中緯度地區,找出符合緯度75km(緯度)的角度測量值。這會給你2個水平線(即與赤道平行)的網格線。由於緯度75km的弧度測量值遠小於緯度變化的線性經度測量值,因此您可能會用相同的角度測量值標記出其他方塊。

+0

感謝您的快速響應!除了我的數學能力之外,我也缺乏與地理相關的編程經驗。例如,我沒有意識到UTM(我現在要讀的是這個)。點3(或類似的東西)對我來說很不幸是至關重要的,也就是說我需要能夠粗略地控制每個網格正方形的大小(它不必像75km那樣固定,但它確實需要適合邊界,例如不小於不超過50公里,不超過100公里)。 – corford

+0

爲了進一步闡述第3點。是否可能有一個公式或一組公式可用於研究一個球體的截面並將其分解爲更小的截面(理想可控尺寸)? – corford

+0

那麼,只要你不希望每邊都有75公里的正方形,但是如你所示,準備靈活地適應地球是一個球體(近乎足夠)的事實,你不應該「沒有任何問題。但有一件事是肯定的,你將必須是靈活的,地球表面將保持(近似)球形。 –

相關問題