0

我正在處理一大組我需要插值的座標點。基本上它是什麼,是不同緯度和經度的溫度。我想插入以獲取緯度和經度的緯度。矩陣插值算法

例如,我知道在

44.56N,56.42W,溫度= 50

47.82N,57.845 W,溫度= 44.2度

45.74N,59.216 W,溫度= 60.1度

我想獲取這些數據並將溫度內插到46.0N 58.0W處。有人能指出我的方向是否正確嗎?我甚至不知道從哪裏開始。即使是一些僞代碼或維基百科鏈接也會有所幫助。插值不一定要太精確,只需要讓我進入球場。

謝謝

回答

0

有趣的問題。我想最簡單的方法就是加權距離(每個點的平均溫度,加權距離目標點的距離)。要確定距離看:Calculate distance between two latitude-longitude points? (Haversine formula)http://www.movable-type.co.uk/scripts/latlong.html

如果您想要更好的插值方法,請考慮面插值。我不知道如何適用於特定的點而不是區域,但似乎是最適用的方法。

+0

感謝您的幫助。我的想法是做一個加權距離方法,我繼續並實施。但是,我有大約60,000個座標,因此查看我要計算的每個插值的所有座標都非常慢。我正在考慮創建某種數據結構,以便快速訪問附近的點,所以我不必每次都查看全部60,000個數據結構。任何想法如何可以工作?或者減少數據集的不同方法? – user2539552

+0

幾個選項。如果您使用的是啓用地理空間的數據庫,請使用地理查詢功能選擇距所需點一定距離內的所有點,然後使用這些點。 – user1676075

+0

如果它是一個數據結構,你可以在一定距離內編寫自己的點快速測試(盒子搜索會很快,但是60k點很多)。另一方面,這是一個很好的觀點......如何獲得圍繞它的好的選擇......如果你只有10個最接近的點,但是從目標點開始只有一個方向,這不是一個好的答案。因此,您可以根據+/-緯度/經度或在特定角度(每個象限中的一個或兩個最近點)選擇最接近的四個點。不過,所有這些都需要更多的計算。 – user1676075

0

如果有其他人遇到此問題,我最終將我的數據點存儲在一個Quadtree中,然後使用查詢範圍方法查找每個象限中最接近的兩個座標。然後我根據距離目標座標的每個點距離做一個反距離平均值。這似乎給了相當不錯的結果,但運行時間有點慢。將我的60,000個數據點加載到四叉樹大約需要30秒。然後,大約需要一分鐘時間查詢該數據以計算2500點。如果我更快地提出任何問題,我會更新。