public const double earth_radius = 6378137.0;//地球半徑(m)
///
/// 以乙個經緯度為中心計算出四個頂點
///
/// 半徑(公尺)
///
public static degree getdegreecoordinates(degree degree1, double distance)
;///
/// 角度數轉換為弧度公式
///
///
///
private static double radians(double d)
///
/// 弧度轉換為角度數公式
///
///
///
private static double degrees(double d)
///
/// 代表經度, 緯度
///
public class poin
// 緯度 x
private double lat;
// 經度 y
private double lng;
///
/// 代表緯度 x軸
///
public double lat
///
/// 代表經度 y軸
///
public double lng
public double radlat }
public double radlng }
}///
/// 經緯度座標
///
public class degree
private double x;
public double x
set
}private double y;
public double y
set }}
///
/// 計算座標點的距離
///
public void getdistance()
{//x經度 y緯度
string enbid = "";
double distance = 0;
double x1 = convertoradian(31.499605);
double x2 = convertoradian(31.4996);
double y1 = convertoradian(104.73775);
double y2 = convertoradian(104.73783);
double d = 0;
if (math.sin(x1) * math.sin(x2) + math.cos(x1) * math.cos(x2) * math.cos(y1 - y2) > 1)
d = earth_radius * math.acos(1);
else if (math.sin(x1) * math.sin(x2) + math.cos(x1) * math.cos(x2) * math.cos(y1 - y2) < -1)
d = earth_radius * math.acos(-1);
else
d = earth_radius * math.acos(math.sin(x1) * math.sin(x2) + math.cos(x1) * math.cos(x2) * math.cos(y1 - y2));
根據經緯度 角度 距離獲取另乙個點的經緯度
這就需要根據獲取到的經緯度獲取計算半徑內4個點的座標 計算方法 phppublic static function getrandlnglat lng,lat,angle,distance 其實高德地圖提供了方法,使用很簡單 amap.event.addlistener placesearch,ma...
關於經緯度的兩個計算 Teaks xgluxv
一 子午線周長 公里 40008.548 赤道周長 公里 40075.704 緯度40008.548 360 度 111.135 公里 度 40008.548 360 60 分 1.85 公里 分 40008.548 360 60 60 秒 30.87 公尺 秒 經度首先算相應經度位置的緯度圈長度 ...
關於經緯度的兩個計算 Teaks xgluxv
一 子午線周長 公里 40008.548 赤道周長 公里 40075.704 緯度40008.548 360 度 111.135 公里 度 40008.548 360 60 分 1.85 公里 分 40008.548 360 60 60 秒 30.87 公尺 秒 經度首先算相應經度位置的緯度圈長度 ...