首页 热点资讯 义务教育 高等教育 出国留学 考研考公
您的当前位置:首页正文

Mysql 拿指定经纬度与数据库多条经纬度进行距离计算

2023-11-11 来源:骅佗教育

公式例如以下,单位米:第一点经纬度:lng1 lat1第二点经纬度:lng2 lat2round(6378.138*2*asin(sqrt(pow(sin((lat1*pi()/180-lat2*pi()/180)/2),2)+cos(lat1*pi()/180)*cos(lat2*pi()/180)*pow(sin( (lng1*pi()/180-lng2*pi()/180)/2),2)))*1000)比如:SELECT store_id,lng,lat,ROUND(6378.138*2*ASIN(SQRT(POW(SIN((22.299439*PI()/180-lat*PI()/180)/2),2)+COS(22.299439*PI()/180)*COS(lat*PI()/180)*POW(SIN((114.173881*PI()/180-lng*PI()/180)/2),2)))*1000)AS juliFROM store_info having juli > 500ORDER BY juli DESCLIMIT 100

Mysql 拿指定经纬度与数据库多条经纬度进行距离计算

标签:指定   class   name   post   limit   数据库   公式   经纬度   ng2   

小编还为您整理了以下内容,可能对您也有帮助:

mysql中怎么根据经纬度计算距离

DROP FUNCTION IF EXISTS func_calcDistance ;
CREATE FUNCTION func_calcDistance(
origLng DECIMAL(20,6), -- 目的地经度
origLat DECIMAL(20,6), -- 目的地纬度
longitude DECIMAL(20,6), -- 当前所在地点经度
latitude DECIMAL(20,6) -- 当前所在地点纬度
)
RETURNS DOUBLE
BEGIN
DECLARE result DOUBLE DEFAULT 0;
SET result = round(6378.138*2*asin(sqrt(pow(sin(
(origLat*pi()/180-latitude*pi()/180)/2),2)+cos(origLat*pi()/180)*cos(latitude*pi()/180)*
pow(sin( (origLng*pi()/180-longitude*pi()/180)/2),2)))*1000);
RETURN result;
END ;

mysql中怎么根据经纬度计算距离

DROP FUNCTION IF EXISTS func_calcDistance ;
CREATE FUNCTION func_calcDistance(
origLng DECIMAL(20,6), -- 目的地经度
origLat DECIMAL(20,6), -- 目的地纬度
longitude DECIMAL(20,6), -- 当前所在地点经度
latitude DECIMAL(20,6) -- 当前所在地点纬度
)
RETURNS DOUBLE
BEGIN
DECLARE result DOUBLE DEFAULT 0;
SET result = round(6378.138*2*asin(sqrt(pow(sin(
(origLat*pi()/180-latitude*pi()/180)/2),2)+cos(origLat*pi()/180)*cos(latitude*pi()/180)*
pow(sin( (origLng*pi()/180-longitude*pi()/180)/2),2)))*1000);
RETURN result;
END ;

sql语句怎么写算坐标经纬度之间的距离?我是mysql数据库。 请详细点!谢谢!

你可以在系统中创建一个二维数组,把每个坐标作为一个二维数组存储起来,写一个方法,输入2个坐标的时候,自动计算两个坐标之间的距离。

比如我的坐标是:2,3;你的坐标是4,6

那么定义一个方法:

public double getDistance(double x1,double y1,double x2,double y2){

double a = Math.abs(x1-x2);//绝对值

double b = Math.abs(y1-y2);//绝对值

return Math.hypot(a,b);//返回两者的平方和的开根

}追问public double getDistance(double longt1, double lat1, double longt2,double lat2) {

private final double PI = 3.14159265358979323; //圆周率

private final double R = 6371229; //地球的半径

double x,y,distance;

x=(longt2-longt1)*PI*R*Math.cos( ((lat1+lat2)/2) *PI/180)/180;

y=(lat2-lat1)*PI*R/180;

distance=Math.hypot(x,y);

return distance;

}

追答你写的基本上没什么问题,但是PI和R的修饰符去掉private,因为定义在方法内部,它们的作用于只于方法内部,没必要加上private等范围修饰符,而且编译也没法通过。

其他的你注意你的计算公式吧,我看你好像用到了弧度计算公式,这个我不太记得了,你可以搜索一下,带入需要的值就行了。

我给你一个建议:你把两点放到一个切面上,计算出两点的直线距离,然后计算角度,最后在计算弧度,这样的结果更精确。没法给你具体的3D效果图。可以自己画图研究研究。。。

好吧,如果你是需要这个的话,下面的 链接可以帮助你;

http://blog.sina.com.cn/s/blog_73ca77220100qhn3.html

sql (mysql)实现查询某一个经纬度周围500米距离的餐馆,数据库存放所有餐馆的经纬度。

mysql两点间距,你也自己弄成函数

公式如下,单位米:
第一点经纬度:lng1 lat1
第二点经纬度:lng2 lat2
round(6378.138*2*asin(sqrt(pow(sin(
(lat1*pi()/180-lat2*pi()/180)/2),2)+cos(lat1*pi()/180)*cos(lat2*pi()/180)*
pow(sin( (lng1*pi()/180-lng2*pi()/180)/2),2)))*1000)

例如:
SELECT store_id,lng,lat,
ROUND(6378.138*2*ASIN(SQRT(POW(SIN((22.299439*PI()/180-lat*PI()/180)/2),2)+COS(22.299439*PI()/180)*COS(lat*PI()/180)*POW(SIN((114.173881*PI()/180-lng*PI()/180)/2),2)))*1000)
AS
juli
FROM store_info
ORDER BY juli DESC
LIMIT 316

sql (mysql)实现查询某一个经纬度周围500米距离的餐馆,数据库存放所有餐馆的经纬度。

mysql两点间距,你也自己弄成函数

公式如下,单位米:
第一点经纬度:lng1 lat1
第二点经纬度:lng2 lat2
round(6378.138*2*asin(sqrt(pow(sin(
(lat1*pi()/180-lat2*pi()/180)/2),2)+cos(lat1*pi()/180)*cos(lat2*pi()/180)*
pow(sin( (lng1*pi()/180-lng2*pi()/180)/2),2)))*1000)

例如:
SELECT store_id,lng,lat,
ROUND(6378.138*2*ASIN(SQRT(POW(SIN((22.299439*PI()/180-lat*PI()/180)/2),2)+COS(22.299439*PI()/180)*COS(lat*PI()/180)*POW(SIN((114.173881*PI()/180-lng*PI()/180)/2),2)))*1000)
AS
juli
FROM store_info
ORDER BY juli DESC
LIMIT 316

如何计算经纬度之间的距离

计算两点距离的如下公式:

C = sin(MLatA)*sin(MLatB)*cos(MLonA-MLonB) + cos(MLatA)*cos(MLatB)

Distance = R*Arccos(C)*Pi/180

这里,R和Distance单位是相同,如果是采用6371.004千米作为半径,那么Distance就是千米为单位,如果要使用其他单位,比如mile,还需要做单位换算,1千米=0.621371192mile

如果仅对经度作正负的处理,而不对纬度作90-Latitude(假设都是北半球,南半球只有澳洲具有应用意义)的处理,那么公式将是:

C = sin(LatA)*sin(LatB) + cos(LatA)*cos(LatB)*cos(MLonA-MLonB)

Distance = R*Arccos(C)*Pi/180

以上通过简单的三角变换就可以推出。

如果三角函数的输入和输出都采用弧度值,那么公式还可以写作:

C = sin(LatA*Pi/180)*sin(LatB*Pi/180) + cos(LatA*Pi/180)*cos(LatB*Pi/180)*cos((MLonA-MLonB)*Pi/180)

Distance = R*Arccos(C)*Pi/180

也就是:

C = sin(LatA/57.2958)*sin(LatB/57.2958) + cos(LatA/57.2958)*cos(LatB/57.2958)*cos((MLonA-MLonB)/57.2958)

Distance = R*Arccos(C) = 6371.004*Arccos(C) kilometer = 0.621371192*6371.004*Arccos(C) mile = 3958.758349716768*Arccos(C) mile

在实际应用当中,一般是通过一个个体的邮政编码来查找该邮政编码对应的地区中心的经纬度,然 后再根据这些经纬度来计算彼此的距离,从而估算出某些群体之间的大致距离范围(比如酒店旅客的分布范围-各个旅客的邮政编码对应的经纬度和酒店的经纬度所 计算的距离范围-等等),所以,通过邮政编码查询经纬度这样一个数据库是一个很有用的资源。

附:C#代码:

private const double EARTH_RADIUS = 6378.137;//地球半径

private static double rad(double d)

{return d * Math.PI / 180.0;}

public static double GetDistance(double lat1, double lng1, double lat2, double lng2)

{double radLat1 = rad(lat1);

double radLat2 = rad(lat2);

double a = radLat1 - radLat2;

double b = rad(lng1) - rad(lng2);

double s = 2 * Math.Asin(Math.Sqrt(Math.Pow(Math.Sin(a/2),2) +

Math.Cos(radLat1)*Math.Cos(radLat2)*Math.Pow(Math.Sin(b/2),2)));

s = s * EARTH_RADIUS;

s = Math.Round(s * 10000) / 10000;

return s;}

知道经纬度怎么算距离?

问题一:怎么根据经纬度计算线路的距离 1、地球赤道上环绕地球一周走一圈共40075.04公里,而@一圈分成360°,而每1°(度)有60,每一度一秒在赤道上的长度计算如下:
40075.04km/360°=111.31955km
111.31955km/60=1.8553258km=1855.3m
而每一分又有60秒,每一秒就代表1855.3m/60=30.92m
任意两点距离计算公式为
d=111.12cos{1/[sinΦAsinΦB十cosΦAcosΦBcos(λB―λA)]}
其中A点经度,纬度分别为λA和ΦA,B点的经度、纬度分别为λB和ΦB,d为距离。
2、分为3步计算:
第1步 分别将两点经纬度转换为三维直角坐标:
假设地球球心为三维直角坐标系的原点,球心与赤道上0经度点的连线为X轴,球心与赤道上东经90度点的连线为Y轴,球心与北极点的连线为Z轴,则地面上点的直角坐标与其经纬度的关系为:
x=R×cosα×cosβ
y=R×cosα×sinβ
z=R×sinα
R为地球半径,约等于6400km;
α为纬度,北纬取+,南纬取-;
β为经度,东经取+,西经取-。
第2步 根据直角坐标求两点间的直线距离(即弦长):
如果两点的直角坐标分别为(x1,y1,z1)和(x2,y2,z2),则它们之间的直线距离为: L=[(x1-x2)^2+(y1-y2)^2+(z1-z2)^2]^0.5
上式为三维勾股定理,L为直线距离。
第3步 根据弦长求两点间的距离(即弧长):
由平面几何知识可知弧长与弦长的关系为:
S=R×π×2[arc sin(0.5L/R)]/180
上式中角的单位为度,1度=π/180弧度,S为弧长。
3、1度的实际长度是111公里。但纬线的距离会越考两端越小,他的距离就会变成111乘COS纬度数,经度不变。
4、南北方向算出两点纬度差,一度等于60海里,1分等于1海里,海里与公里换算关系1海里等于1.852公里。东西方向量出距离到两点间纬度附近量出纬度差,得出海里数,再乘以1.852换算成公里。可按直角三角形原理求出两点间距离。
5、度的实际长度是111公里。但纬线的距离会越考两端越小,他的距离就会变成111乘COS纬度数,经度不变(如果在同一经度)

问题二:我现在知道两个地方的经度和纬度,请用excel相关公式计算出两点的距离 =INT((ACOS(SIN(B1/180*PI())*SIN(B2/180*PI())+COS(B1/180*PI())*COS(B2/180*PI())*COS(A1/180*PI()-A2/180*PI()))*180*60/PI())*100000)/100000*1.852

问题三:请问 知道经纬度 不知道怎样算距离 使用经纬度坐标工具可以计算距离

问题四:根据距离算经纬度 每一度一秒在赤道上的长度计算如下:
40075.04km/360°=111.31955km
111.31955km/60'=1.8553258km=1855.3m
而每一分又有60秒
每一秒就代表 1855.3m/60=30.92m
任意两点距离计算公式为
d=111.12cos{1/[sinΦAsinΦB十 cosΦAcosΦBcos(λB-λA)]}
其中:A点经度,纬度分别为λA和ΦA
B点的经度、纬度分别为λB和ΦB,d为距离
地球上所有地方的纬度一分的距离都是约等于1.86公里,也就是一度等于1.86*60=111公里。
不同纬度处的经度线上的一分的实际长度是不同的,219国道基本在东经29-38度之间,29度处的一分经线长约1.63公里,38度处的一分经线长约1.47公里。

问题五:已知经纬度,怎样计算两点间距离 公式: =6371004*ACOS((SIN(RADIANS(B2))*SIN(RADIANS(D2))+COS(RADIANS(B2))*COS(RADIANS(D2))*COS(RADIANS(C2-A2))))

问题六:根据经纬度求距离 你没有把问题讲清楚。但是我可骇告诉你:在地球上同一条经线上纬度相差一度,实际距离是111公里;在赤道经度相差一度,实际距离是111公里,在其他的纬线上,经度每相差一度,实际距离是111*经度数*cos经度数,例如在北纬30度,经度相差5度,实际距离是:111*5*cos30度。明白了吗?

知道经纬度怎么算距离?

问题一:怎么根据经纬度计算线路的距离 1、地球赤道上环绕地球一周走一圈共40075.04公里,而@一圈分成360°,而每1°(度)有60,每一度一秒在赤道上的长度计算如下:
40075.04km/360°=111.31955km
111.31955km/60=1.8553258km=1855.3m
而每一分又有60秒,每一秒就代表1855.3m/60=30.92m
任意两点距离计算公式为
d=111.12cos{1/[sinΦAsinΦB十cosΦAcosΦBcos(λB―λA)]}
其中A点经度,纬度分别为λA和ΦA,B点的经度、纬度分别为λB和ΦB,d为距离。
2、分为3步计算:
第1步 分别将两点经纬度转换为三维直角坐标:
假设地球球心为三维直角坐标系的原点,球心与赤道上0经度点的连线为X轴,球心与赤道上东经90度点的连线为Y轴,球心与北极点的连线为Z轴,则地面上点的直角坐标与其经纬度的关系为:
x=R×cosα×cosβ
y=R×cosα×sinβ
z=R×sinα
R为地球半径,约等于6400km;
α为纬度,北纬取+,南纬取-;
β为经度,东经取+,西经取-。
第2步 根据直角坐标求两点间的直线距离(即弦长):
如果两点的直角坐标分别为(x1,y1,z1)和(x2,y2,z2),则它们之间的直线距离为: L=[(x1-x2)^2+(y1-y2)^2+(z1-z2)^2]^0.5
上式为三维勾股定理,L为直线距离。
第3步 根据弦长求两点间的距离(即弧长):
由平面几何知识可知弧长与弦长的关系为:
S=R×π×2[arc sin(0.5L/R)]/180
上式中角的单位为度,1度=π/180弧度,S为弧长。
3、1度的实际长度是111公里。但纬线的距离会越考两端越小,他的距离就会变成111乘COS纬度数,经度不变。
4、南北方向算出两点纬度差,一度等于60海里,1分等于1海里,海里与公里换算关系1海里等于1.852公里。东西方向量出距离到两点间纬度附近量出纬度差,得出海里数,再乘以1.852换算成公里。可按直角三角形原理求出两点间距离。
5、度的实际长度是111公里。但纬线的距离会越考两端越小,他的距离就会变成111乘COS纬度数,经度不变(如果在同一经度)

问题二:我现在知道两个地方的经度和纬度,请用excel相关公式计算出两点的距离 =INT((ACOS(SIN(B1/180*PI())*SIN(B2/180*PI())+COS(B1/180*PI())*COS(B2/180*PI())*COS(A1/180*PI()-A2/180*PI()))*180*60/PI())*100000)/100000*1.852

问题三:请问 知道经纬度 不知道怎样算距离 使用经纬度坐标工具可以计算距离

问题四:根据距离算经纬度 每一度一秒在赤道上的长度计算如下:
40075.04km/360°=111.31955km
111.31955km/60'=1.8553258km=1855.3m
而每一分又有60秒
每一秒就代表 1855.3m/60=30.92m
任意两点距离计算公式为
d=111.12cos{1/[sinΦAsinΦB十 cosΦAcosΦBcos(λB-λA)]}
其中:A点经度,纬度分别为λA和ΦA
B点的经度、纬度分别为λB和ΦB,d为距离
地球上所有地方的纬度一分的距离都是约等于1.86公里,也就是一度等于1.86*60=111公里。
不同纬度处的经度线上的一分的实际长度是不同的,219国道基本在东经29-38度之间,29度处的一分经线长约1.63公里,38度处的一分经线长约1.47公里。

问题五:已知经纬度,怎样计算两点间距离 公式: =6371004*ACOS((SIN(RADIANS(B2))*SIN(RADIANS(D2))+COS(RADIANS(B2))*COS(RADIANS(D2))*COS(RADIANS(C2-A2))))

问题六:根据经纬度求距离 你没有把问题讲清楚。但是我可骇告诉你:在地球上同一条经线上纬度相差一度,实际距离是111公里;在赤道经度相差一度,实际距离是111公里,在其他的纬线上,经度每相差一度,实际距离是111*经度数*cos经度数,例如在北纬30度,经度相差5度,实际距离是:111*5*cos30度。明白了吗?

经纬度之间距离怎么算?

经纬度之间的距离计算如下:

计算地球上经纬之间的距离d,知道地球上两点的经纬度:(x1,Y1),(X2,Y2),其中x1,X2为经纬度,Y1,Y2为经纬度;

如果地球半径为r=6371.0公里,则两点之间的距离为d=r*Arcos[cos(Y1)*cos(Y2)*cos(x1-x2)+sin(Y1)*sin(Y2)]。

假设我国极影出现的最短时间为中午13:20,杆长与影长之比为为1,则可以看出该地区为北纬45°(TGα=1),东经100°(从120°到1小时减15°,在表A中需要找到4分钟减去1°的杆长与影长为长度的比值。

计算双日经度的算法是在北半球冬至α+ 23.5°和夏至α- 23.5°的任何一天中增加和减去恒定纬度的校正值。

扩展资料:

经纬度划分:

经度被分为360度,每15度有一个时区,其中零度称为本初子午线,是进入新一天的第一个地方,然后向西的每个时区有一个时差。

例如,早上5点,西边的时区是凌晨4点,另一个要经过的时区是凌晨3点,以此类推。在东边,它与原来的子午线相反。

赤道的纬度是0度,行星平均分为南半球和北半球。纬度是指一个点与地球中心和地球赤道之间的线角,其值在0到90度之间。赤道以北点的纬度称为北纬,记为N,赤道以南点的纬度记为S。

纬度在0到30度之间的地区称为低纬度地区,纬度在30到60度之间的地区称为中纬度地区,纬度在60到90度之间的地区称为高纬度地区。

参考资料来源:百度百科-经纬度

经纬度之间的距离如何计算?

计算经纬度之间的距离方法如下:

计算地球上经纬度之间的距离d,已知地球上两点的经度、纬度:(X1,Y1), (X2,Y2),其中X1,X2为经度,Y1,Y2为纬度;

视计算程序需要转化为弧度(*3.1415926/180)地球半径为R=6371.0 km,则两点距离d=R*arcos[cos(Y1)*cos(Y2)*cos(X1-X2)+sin(Y1)*sin(Y2)]。

假设在中国某地,杆影最短时是中午13点20分,且杆长与影长之比为1,则可知该地是北纬45°(tgα=1),东经100°(从120°里1小时减15°,4分钟减1°)杆长与影长之比需查表求α。再算两至日经度的算法不变 纬度在北半球冬至α+23.5°,夏至α-23.5°在任意一天加减修正值即可。

扩展资料

经纬分度:

经度分为360度,每15度1个时区,其中0度的叫本初子午线,是第一个进入新一天的地方,然后向西每过1个时区就相差1小时。例如是早上5点,那么向西一个时区就是早上4点,再过1个时区就是早上3点,依此类推,向东则相反,一直到本初子午线。

纬度赤道的纬度为0°,将行星平分为南半球和北半球。纬度是指某点与地球球心的连线和地球赤道面所成的线面角,其数值在0至90度之间。位于赤道以北的点的纬度叫北纬,记为N,位于赤道以南的点的纬度称南纬,记为S。

纬度数值在0至30度之间的地区称为低纬地区,纬度数值在30至60度之间的地区称为中纬地区,纬度数值在60至90度之间的地区称为高纬地区。

参考资料:百度百科—经纬度

经纬度之间的距离如何计算?

计算经纬度之间的距离方法如下:

计算地球上经纬度之间的距离d,已知地球上两点的经度、纬度:(X1,Y1), (X2,Y2),其中X1,X2为经度,Y1,Y2为纬度;

视计算程序需要转化为弧度(*3.1415926/180)地球半径为R=6371.0 km,则两点距离d=R*arcos[cos(Y1)*cos(Y2)*cos(X1-X2)+sin(Y1)*sin(Y2)]。

假设在中国某地,杆影最短时是中午13点20分,且杆长与影长之比为1,则可知该地是北纬45°(tgα=1),东经100°(从120°里1小时减15°,4分钟减1°)杆长与影长之比需查表求α。再算两至日经度的算法不变 纬度在北半球冬至α+23.5°,夏至α-23.5°在任意一天加减修正值即可。

扩展资料

经纬分度:

经度分为360度,每15度1个时区,其中0度的叫本初子午线,是第一个进入新一天的地方,然后向西每过1个时区就相差1小时。例如是早上5点,那么向西一个时区就是早上4点,再过1个时区就是早上3点,依此类推,向东则相反,一直到本初子午线。

纬度赤道的纬度为0°,将行星平分为南半球和北半球。纬度是指某点与地球球心的连线和地球赤道面所成的线面角,其数值在0至90度之间。位于赤道以北的点的纬度叫北纬,记为N,位于赤道以南的点的纬度称南纬,记为S。

纬度数值在0至30度之间的地区称为低纬地区,纬度数值在30至60度之间的地区称为中纬地区,纬度数值在60至90度之间的地区称为高纬地区。

参考资料:百度百科—经纬度

经纬度计算距离公式是什么?

tgα= 杆长/影长。

在地球上任何地点,只要有只表,有根竹竿,一根卷尺,就可知道当地经纬度。但表必须与该国标准时校对。

方法如下:

1、先算两分日

比如在中国某地,杆影最短时是中午13点20分,且杆长与影长之比为1,则可知该地是北纬45°(tgα=1),东经100°(从120°里1小时减15°,4分钟减1°)杆长与影长之比需查表求α,这里用了特殊角。

2、再算两至日经度的算法不变纬度在北半球冬至α+23.5°,夏至α-23.5°在任意一天加减修正值即可。

3、修正值算法:就是距两分或两至日的天数差乘以94/365.比如2013年2月17日,2013年3月22日春分差33天,即太阳直射点在南纬。

33×94/365=8.5°

所以今天正午时得到的纬度是(arctgα+8.5)°

在地球上任何地点,只要有只表,有根竹竿,一根卷尺,就可知道当地经纬度。但表必须与该国标准时校对。

1.已知地球上两点的经度、纬度:(X1,Y1), (X2,Y2),其中X1,X2为经度,Y1,Y2为纬度。

视计算程序需要转化为弧度(*3.1415926/180)。

地球半径为R=6371.0 km。

则两点距离d=R*arcos。

2.在地球上同一条经线上纬度相差一度,实际距离是111公里;在赤道经度相差一度,实际距离是111公里,在其他的纬线上,经度每相差一度,实际距离是111*经度数*cos经度数,例如在北纬30度,经度相差5度,实际距离是:111*5*cos30度。

怎么算经纬度和距离呢?

经纬度与距离的换算有以下两种方法:

1、二维转换

二维转换方法是将平面坐标(东坐标和北坐标)从一个坐标系统转换到另一个坐标系统。在转换时不计算高程参数。该转换方法需要确定4个参数(2个向东和向北的平移参数,1个旋转参数和1个比例因子)。如果要保持GPS测量结果独立并且有地方地图投影的信息,那么采用三维转换方法最合适。

2、三维转换

该方法基本操作步骤是利用公共点,也就是同时具有WGS84直角坐标和地方坐标的直角坐标的点位,一般需要3个以上重合点,通过布尔莎模型(或其他模型)进行计算,得到从一个系统转换到另一个系统中的平移参数、旋转参数和比例因子。

坐标转换分类

1、大地坐标(BLH)对平面直角坐标(XYZ)

常规的转换应先确定转换参数,即椭球参数、分带标准(3度,6度)和*子午线的经度。椭球参数就是指平面直角坐标系采用什么样的椭球基准,对应有不同的长短轴及扁率。画到直角坐标系可以写为(x+z*acosθ,y+z*asinθ)a,θ为参数。

2、北京54全国80及WGS84坐标系的相互转换

一种国际上采用的地心坐标系。坐标原点为地球质心,其地心空间直角坐标系的Z轴指向BIH (国际时间)1984.O定义的协议地球极(CTP)方向,X轴指向BIH 1984.0的零子午面和CTP赤道的交点,Y轴与Z轴、X轴垂直构成右手坐标系,称为1984年世界大地坐标系统。

3、任意两空间坐标系的转换

由于测量坐标系和施工坐标系采用不同的标准,要进行精确转换,必须知道至少3个重合点(即为在两坐标系中坐标均为已知的点。采用布尔莎模型进行求解。

怎么算经纬度和距离呢?

经纬度与距离的换算有以下两种方法:

1、二维转换

二维转换方法是将平面坐标(东坐标和北坐标)从一个坐标系统转换到另一个坐标系统。在转换时不计算高程参数。该转换方法需要确定4个参数(2个向东和向北的平移参数,1个旋转参数和1个比例因子)。如果要保持GPS测量结果独立并且有地方地图投影的信息,那么采用三维转换方法最合适。

2、三维转换

该方法基本操作步骤是利用公共点,也就是同时具有WGS84直角坐标和地方坐标的直角坐标的点位,一般需要3个以上重合点,通过布尔莎模型(或其他模型)进行计算,得到从一个系统转换到另一个系统中的平移参数、旋转参数和比例因子。

坐标转换分类

1、大地坐标(BLH)对平面直角坐标(XYZ)

常规的转换应先确定转换参数,即椭球参数、分带标准(3度,6度)和*子午线的经度。椭球参数就是指平面直角坐标系采用什么样的椭球基准,对应有不同的长短轴及扁率。画到直角坐标系可以写为(x+z*acosθ,y+z*asinθ)a,θ为参数。

2、北京54全国80及WGS84坐标系的相互转换

一种国际上采用的地心坐标系。坐标原点为地球质心,其地心空间直角坐标系的Z轴指向BIH (国际时间)1984.O定义的协议地球极(CTP)方向,X轴指向BIH 1984.0的零子午面和CTP赤道的交点,Y轴与Z轴、X轴垂直构成右手坐标系,称为1984年世界大地坐标系统。

3、任意两空间坐标系的转换

由于测量坐标系和施工坐标系采用不同的标准,要进行精确转换,必须知道至少3个重合点(即为在两坐标系中坐标均为已知的点。采用布尔莎模型进行求解。

怎么知道经纬度算距离,

1、如果仅算出两地的南北距离,则计算两地纬度差即可,与经度无关。北京纬度为39°54′N,马来西亚纬度为1°22′N,则两地纬度差为38°32′,根据纬度相差1°,距离相差111km的规律,计算得两地南北距离为4281km。

2、如果计算两地球面距离,计算过程则较为复杂,可根据球面两地距离公式:S=地球半径×arc

cos[cos北京纬度cos马来纬度cos(北京经度-马来经度)+sin北京纬度sin马来纬度]。

解得两地距离为4768km。

同一纬度:cos纬度数×经度差×111km;

同一经度:纬度差×111km;

不同经度,纬度:将它们分别平移到同一经度,纬度后按以上方法计算出两个值,再用钩股定理计算。

扩展资料:

经度的每一度被分为60分,每一分被分为60秒。一个经度因此一般看上去是这样的:东经23°27′

30"或西经23°27′

30"。

更精确的经度位置中秒被表示为分的小数,比如:东经23°27.500′,但也有使用度和它的小数的:东经23.45833°。有时西经被写做负数:-23.45833°。但偶尔也有人把东经写为负数,但这相当不常规。

一个经度和一个纬度一起确定地球上一个地点的精确位置。

赤道上经度的每个度大约相当于111km,经度的每个度的距离从0km到111km不等。它的距离随纬度的不同而变化,等于111km乘纬度的余弦。不过这个距离还不是相隔一经度的两点之间最短的距离,最短的距离是连接这两点之间的大圆的弧的距离,它比上面所计算出来的距离要小一些。

参考资料来源:百度百科-经纬度

显示全文