谁能解释一下在测绘中的后方交会和前方交会的定义和原理

谁能解释一下在测绘中的后方交会和前方交会的定义和原理,第1张

已知A、B两点的坐标,为了计算未知点P的坐标,只要观测∠A和∠B即可。这种测定未知点P的平面坐标的方法称为前方交会。

后方交会是指仅在待定点上设站,向三个已知控制点观测两个水平夹角a、b,从而计算待定点的坐标,称为后方交会。

原理为利用后方交会计算外方位元素,利用前方交会解算待定地面点坐标。

扩展资料

交会点测量常用的方式有测角的前方交会,侧方交会、后方交会和两点法交会。

1、前方交会方法简便,精度可靠;当待定点的个数多于设站已知点时,能有效地节省工作量,故被广泛应用。

2、侧方交会应用亦较多。后方交会只在待定点上设站,当待定点个数不多时可节省工作量,但若待定点与已知点位于或接近于同一圆周(称为危险圆)上时,将失去求解条件或者点位误差增大至超过允许限度,所以一般只在图形条件良好时使用。

3、两点法交会通常只在条件困难的个别情况下使用。上述几种交会方法的基本特点。

4、用测边代替测角,同样可以进行前方交会、侧方交会、后方交会和两点法交会,称为边交会 。

参考资料来源:百度百科--前方交会

参考资料来源:百度百科--后方交会

参考资料来源:百度百科--交会点测量

Program:

using System

using System.Collections.Generic

using System.Linq

using System.Text

namespace 测绘工程

{

class Program

{

static void Main(string[] args)

{

string a

Console.WriteLine("1:距离计算")

Console.WriteLine("2:度、分、秒转换")

Console.WriteLine("3:度与弧度转换")

Console.WriteLine("4:前方交会")

Console.WriteLine("5:距离交会")

Console.WriteLine(" ")

a=Console.ReadLine()

switch (a)

{

case "1"://计算距离

Distance distance = new Distance()

Console.WriteLine("请输入第一个点位坐标:")

distance.X1 = Convert.ToDouble(Console.ReadLine())

distance.Y1 = Convert.ToDouble(Console.ReadLine())

Console.WriteLine("请输入第二个点位坐标:")

distance.X2 = Convert.ToDouble(Console.ReadLine())

distance.Y2 = Convert.ToDouble(Console.ReadLine())

distance.Calcu()

Console.ReadLine()

break

case "2"://度、分、秒转换

zhuanhuan zhuanhuan = new zhuanhuan()

string b

Console.WriteLine("1:度转换为分")

Console.WriteLine("2:度转换为秒")

Console.WriteLine("3:分转换为秒")

Console.WriteLine("4:分转换为度")

Console.WriteLine("5:秒转换为度")

Console.WriteLine("6:秒转换为分")

Console.WriteLine(" ")

b = Console.ReadLine()

switch(b)

{

case "1":

Console.WriteLine("度数:")

double dushu=Convert.ToDouble(Console.ReadLine())

zhuanhuan.A(dushu)

Console.WriteLine("转换后度数为:"+"{0:f4}"+"分",dushu)

Console.ReadLine()

break

case "2":

Console.WriteLine("度数:")

dushu = Convert.ToDouble(Console.ReadLine())

dushu=(zhuanhuan.A(dushu))

dushu = (zhuanhuan.A(dushu))

Console.WriteLine("转换后度数为:" + "{0:f4}" + "秒", dushu)

Console.ReadLine()

break

case "3":

Console.WriteLine("分:")

dushu = Convert.ToDouble(Console.ReadLine())

zhuanhuan.A(dushu)

Console.WriteLine("转换后度数为:" +"{0:f4}"+ "秒", dushu)

Console.ReadLine()

break

case "4":

Console.WriteLine("分:")

dushu = Convert.ToDouble(Console.ReadLine())

dushu = (zhuanhuan.B(dushu))

Console.WriteLine("转换后度数为:" + "{0:f4}" + "度", dushu)

Console.ReadLine()

break

case "5":

Console.WriteLine("秒:")

dushu = Convert.ToDouble(Console.ReadLine())

dushu = (zhuanhuan.B(dushu))

dushu = (zhuanhuan.B(dushu))

Console.WriteLine("转换后度数为:" + "{0:f4}" + "度",dushu)

Console.ReadLine()

break

case "6":

Console.WriteLine("秒:")

dushu = Convert.ToDouble(Console.ReadLine())

dushu = (zhuanhuan.B(dushu))

Console.WriteLine("转换后度数为:" + "{0:f4}" + "分", dushu)

Console.ReadLine()

break

}

break

case "3":

{

string aa

double bb

huduzhi huduzhi = new huduzhi()

Console.WriteLine("1:角度制转换为弧度制")

Console.WriteLine("2:弧度制转换为角度制")

Console.WriteLine(" ")

aa = Console.ReadLine()

if (aa == "1")

{

Console.WriteLine("角度为:")

bb =Convert.ToDouble(Console.ReadLine())

bb=huduzhi.A(bb)

Console.WriteLine("弧度为: "+"{0:f4}",bb)

Console.ReadLine()

}

if (aa == "2")

{

Console.WriteLine("弧度为:")

bb = Convert.ToDouble(Console.ReadLine())

bb=huduzhi.B(bb)

Console.WriteLine("角度为: " + "{0:f4}", bb)

Console.ReadLine()

}

break

}

case "4":

{

jiaohui jiaohui = new jiaohui()

Console.WriteLine("请输入第一个控制点X坐标:")

jiaohui.XA =Convert.ToDouble(Console.ReadLine())

Console.WriteLine("请输入第一个控制点Y坐标:")

jiaohui.YA =Convert.ToDouble(Console.ReadLine())

Console.WriteLine("请输入第二个控制点X坐标:")

jiaohui.XB =Convert.ToDouble(Console.ReadLine())

Console.WriteLine("请输入第二个控制点Y坐标:")

jiaohui.YB = Convert.ToDouble(Console.ReadLine())

Console.WriteLine("请输入第一个观测方位角(弧度制):")

jiaohui.QBAP = Convert.ToDouble(Console.ReadLine())

Console.WriteLine("请输入第二个观测方位角(弧度制):")

jiaohui.QPBA = Convert.ToDouble(Console.ReadLine())

jiaohui.qianfang()

}

break

case "5":

{

julijiaohui julijiaohui = new julijiaohui()

Console.WriteLine("请输入第一个控制点X坐标:")

julijiaohui.XA = Convert.ToDouble(Console.ReadLine())

Console.WriteLine("请输入第一个控制点Y坐标:")

julijiaohui.YA = Convert.ToDouble(Console.ReadLine())

Console.WriteLine("请输入第二个控制点X坐标:")

julijiaohui.XB = Convert.ToDouble(Console.ReadLine())

Console.WriteLine("请输入第二个控制点Y坐标:")

julijiaohui.YB = Convert.ToDouble(Console.ReadLine())

Console.WriteLine("请输入第一个控制点与待求点距离:")

julijiaohui.DAP = Convert.ToDouble(Console.ReadLine())

Console.WriteLine("请输入第二个控制与待求点距离:")

julijiaohui.DBP = Convert.ToDouble(Console.ReadLine())

julijiaohui.juli()

}

break

}

}

}

}

如果按你追问里的 前方交会 的话,可以不用棱镜啊,

首先必须要有至少2个控制点(假如分别为A,B),在A上架设仪器对中整平,瞄准B后水平角置零,然后瞄准目标点P(比如塔尖),记下水平角度∠BAP,然后将仪器搬至B上架设仪器对中整,瞄准A后水平角置零,然后瞄准目标点P(比如塔尖),记下水平角度∠ABP.(这样计算只有平面坐标,如果需要高程值话还需要量取仪器高,棱镜高,同时还要测量竖直角)。计算公式你可以看这里http://wenku.baidu.com/view/732a0e6b011ca300a6c3901e.html

像你说这种瞄塔尖的方式通常是加密控制点用的,放样的话用后方交会啊,仪器任意架设,瞄准已知点


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12082361.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存