雖然MSDN文檔可以做更多的信息,但它並沒有指定值的度量,因爲它的變化取決於SRID(或缺少)。
沒有SRID,幾何只是在平面網格(或平面)系統上工作(想想老派的方形紙)。因此你的距離的答案是
A2 + B2 = C2 >>>>>>C = SQRT(A2 + B2)的簡單畢達哥拉斯結果。
例如:
using System.Data.Entity.Spatial;
DbGeometry geom1 = DbGeometry.FromText("POINT(0 0)");
DbGeometry geom2 = DbGeometry.FromText("POINT(50 50)");
Console.WriteLine(geom1.Distance(geom2));
//Returns 70.71067811 (the square root of (50 sq'd + 50 sq'd)).
你會發現這blog一個有趣的閱讀,跳到一半時頁面,你會發現如何創建一個用戶自定義半正矢計算方法,這將讓你將結果轉換爲距離。
儘管如此,如果您不能在EF for MySQL中映射Stored Procedures,那麼您需要使用老式的ADO來獲得結果。請確保您使用st_distance超過mbr_distance,因爲st_distance將是準確的,並且mbr_distance將包含誤報。您將需要MySQL 5.6.1 for st_distance。
最後,如果可能的話,如果空間數據很重要,則考慮另一個數據庫。