2011-02-28 40 views
0

我有一個Bing Map應用程序,帶有Bing Map控件,顯示一系列可編輯的MapPolygons,用戶可以隨意調整大小。這些MapPolygons當然被定義爲地理座標。我如何計算多邊形的面積?如何計算Bing Maps MapPolygon的地理區域?

多邊形在SQL Server中作爲地理類型存儲,我可以回到服務器尋找答案,但是當用戶重新塑造多邊形時,用戶失去了交互式更新區域。準確度在百分之幾以內是可取的。

回答

0

如果您不介意回到WCF服務,可以使用Microsoft.SqlServer.Types庫來執行計算。 SqlGeometry有一個名爲STArea的方法,它可以做到這一點:http://blogs.msdn.com/b/davidlean/archive/2008/10/17/this-site-under-construction.aspx

您不一定會失去應用程序的交互性。當用戶完成大小調整時,您可以請求該區域的服務並簡要顯示一個微調框或其他內容。我知道這不會像在調整大小時那樣光滑,但您也不必計算客戶端上的區域。

對不起,我在回答如何在飛行中做的更有幫助。

1

我解決了這個問題,通過編寫一個例程來在客戶端上進行「球面幾何」面積計算。作品一種享受,無需返回到服務器。

總之,我作弊。我找到該區域的質心,將其平面化爲以質心爲中心的平面,並使用平面幾何體將多邊形視爲一系列三角形,從而進行多邊形區域計算。

儘管這是一個近似值,但對於我的目的來說,這相當準確。如果我需要一個確切的答案,我會使用SCHUMMBOs方法。

戴夫。