c#距离计算、角度转换、前方交会、距离交会程序

c#距离计算、角度转换、前方交会、距离交会程序,第1张

Program:

using System;

using SystemCollectionsGeneric;

using SystemLinq;

using SystemText;

namespace 测绘工程

{

class Program

{

static void Main(string[] args)

{

string a;

ConsoleWriteLine("1:距离计算");

ConsoleWriteLine("2:度、分、秒转换");

ConsoleWriteLine("3:度与弧度转换");

ConsoleWriteLine("4:前方交会");

ConsoleWriteLine("5:距离交会");

ConsoleWriteLine(" ");

a=ConsoleReadLine();

switch (a)

{

case "1"://计算距离

Distance distance = new Distance();

ConsoleWriteLine("请输入第一个点位坐标:");

distanceX1 = ConvertToDouble(ConsoleReadLine());

distanceY1 = ConvertToDouble(ConsoleReadLine());

ConsoleWriteLine("请输入第二个点位坐标:");

distanceX2 = ConvertToDouble(ConsoleReadLine());

distanceY2 = ConvertToDouble(ConsoleReadLine());

distanceCalcu();

ConsoleReadLine();

break;

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

zhuanhuan zhuanhuan = new zhuanhuan();

string b;

ConsoleWriteLine("1:度转换为分");

ConsoleWriteLine("2:度转换为秒");

ConsoleWriteLine("3:分转换为秒");

ConsoleWriteLine("4:分转换为度");

ConsoleWriteLine("5:秒转换为度");

ConsoleWriteLine("6:秒转换为分");

ConsoleWriteLine(" ");

b = ConsoleReadLine();

switch(b)

{

case "1":

ConsoleWriteLine("度数:");

double dushu=ConvertToDouble(ConsoleReadLine());

zhuanhuanA(dushu);

ConsoleWriteLine("转换后度数为:"+"{0:f4}"+"分",dushu);

ConsoleReadLine();

break;

case "2":

ConsoleWriteLine("度数:");

dushu = ConvertToDouble(ConsoleReadLine());

dushu=(zhuanhuanA(dushu));

dushu = (zhuanhuanA(dushu));

ConsoleWriteLine("转换后度数为:" + "{0:f4}" + "秒", dushu);

ConsoleReadLine();

break;

case "3":

ConsoleWriteLine("分:");

dushu = ConvertToDouble(ConsoleReadLine());

zhuanhuanA(dushu);

ConsoleWriteLine("转换后度数为:" +"{0:f4}"+ "秒", dushu);

ConsoleReadLine();

break;

case "4":

ConsoleWriteLine("分:");

dushu = ConvertToDouble(ConsoleReadLine());

dushu = (zhuanhuanB(dushu));

ConsoleWriteLine("转换后度数为:" + "{0:f4}" + "度", dushu);

ConsoleReadLine();

break;

case "5":

ConsoleWriteLine("秒:");

dushu = ConvertToDouble(ConsoleReadLine());

dushu = (zhuanhuanB(dushu));

dushu = (zhuanhuanB(dushu));

ConsoleWriteLine("转换后度数为:" + "{0:f4}" + "度",dushu);

ConsoleReadLine();

break;

case "6":

ConsoleWriteLine("秒:");

dushu = ConvertToDouble(ConsoleReadLine());

dushu = (zhuanhuanB(dushu));

ConsoleWriteLine("转换后度数为:" + "{0:f4}" + "分", dushu);

ConsoleReadLine();

break;

}

break;

case "3":

{

string aa;

double bb;

huduzhi huduzhi = new huduzhi();

ConsoleWriteLine("1:角度制转换为弧度制");

ConsoleWriteLine("2:弧度制转换为角度制");

ConsoleWriteLine(" ");

aa = ConsoleReadLine();

if (aa == "1")

{

ConsoleWriteLine("角度为:");

bb =ConvertToDouble(ConsoleReadLine());

bb=huduzhiA(bb);

ConsoleWriteLine("弧度为: "+"{0:f4}",bb);

ConsoleReadLine();

}

if (aa == "2")

{

ConsoleWriteLine("弧度为:");

bb = ConvertToDouble(ConsoleReadLine());

bb=huduzhiB(bb);

ConsoleWriteLine("角度为: " + "{0:f4}", bb);

ConsoleReadLine();

}

break;

}

case "4":

{

jiaohui jiaohui = new jiaohui();

ConsoleWriteLine("请输入第一个控制点X坐标:");

jiaohuiXA =ConvertToDouble(ConsoleReadLine());

ConsoleWriteLine("请输入第一个控制点Y坐标:");

jiaohuiYA =ConvertToDouble(ConsoleReadLine());

ConsoleWriteLine("请输入第二个控制点X坐标:");

jiaohuiXB =ConvertToDouble(ConsoleReadLine());

ConsoleWriteLine("请输入第二个控制点Y坐标:");

jiaohuiYB = ConvertToDouble(ConsoleReadLine());

ConsoleWriteLine("请输入第一个观测方位角(弧度制):");

jiaohuiQBAP = ConvertToDouble(ConsoleReadLine());

ConsoleWriteLine("请输入第二个观测方位角(弧度制):");

jiaohuiQPBA = ConvertToDouble(ConsoleReadLine());

jiaohuiqianfang();

}

break;

case "5":

{

julijiaohui julijiaohui = new julijiaohui();

ConsoleWriteLine("请输入第一个控制点X坐标:");

julijiaohuiXA = ConvertToDouble(ConsoleReadLine());

ConsoleWriteLine("请输入第一个控制点Y坐标:");

julijiaohuiYA = ConvertToDouble(ConsoleReadLine());

ConsoleWriteLine("请输入第二个控制点X坐标:");

julijiaohuiXB = ConvertToDouble(ConsoleReadLine());

ConsoleWriteLine("请输入第二个控制点Y坐标:");

julijiaohuiYB = ConvertToDouble(ConsoleReadLine());

ConsoleWriteLine("请输入第一个控制点与待求点距离:");

julijiaohuiDAP = ConvertToDouble(ConsoleReadLine());

ConsoleWriteLine("请输入第二个控制与待求点距离:");

julijiaohuiDBP = ConvertToDouble(ConsoleReadLine());

julijiaohuijuli();

}

break;

}

}

}

}

附闭合导线计算

1、 源程序

F1 A1

L1 Defm 4N-2

L2 N:A:B:Pol(C-A,D-B):W<0=>W=W+360T=W

L3 K=0=>M=T+180:E=C:F=D:GOTO 0: ≠>E:F:Pol(G-E,H-F):W<0=>W=W+360M=W

L4 Lbl 0:L=0:U=0:I=0:R=2:Z[1]=T

L5 Lbl 1:{J}:Z[R]+360: R=N+1=>GOTO 2: ≠>R=R+1:GOTO 1

L6 Lbl 2:P”JB”=(Z[N+1]-M) Q”JL”=40√NR=2

L7 Lb1 3:{S}:Z[N+R]=S:L=L+S

L8 Z[2N-1+R]=Rec(S,(Z[R]-P(R-1)/N)):U=U+V

L9 Z[3N-2+R]=W:I=I+W:N=R=>GOT 4: ≠>R=R+1:GOTO 3

L10 Lbl 4:P=U+C-EQ=I+D-F

L11 G”1:M”=L/Pol(P,Q) R=2

L12 Lbl 5:X”XI”=C+Z[2N-1+R]-PZ[N+R]/LY”YI”=D+Z[3N-2+R]-QZ[N+R]/L

L13 R=N=>GOTO 6: ≠>R=R+1:C=X:D=Y:GOTO 5

L14 Lbl 6:”END”

2、 说明

(1)、本程序可计算附和导线和闭合导线的坐标,计算的坐标系经过角度闭合差及坐标增量闭合差分配后的结果,能显示角度闭合差、增量闭合差及导线全长的相对精度;

(2)、输入的观测角为导线的左角。

3、程序代号注释

N导线观测角的折角数;

A、B导线起始点所后视的已知点的坐标x,y;

C、D导线起始点(即设站点)的坐标x,y;

E、F导线终点(已知点)的坐标x,y;

G、H在导线终点设站观测前视已知点的坐标x,y;

T起始站后视至起始点的方位角;

M终点站至前视已知点的方位角;

J观测的左角值;

JB角度闭合差;

JL允许的角度闭合差,程序中是以40√n计算的,如和要求的不一致,可改一下L6语句中的有关部分。

S所测导线的边长;

L边长的累计数;

U△x的累计数;

I△y的累计数;

Px坐标的闭合差;

Qy坐标的闭合差;

K转换符,当K=0时为计算闭合导线,当K≠0(任意数)时为计算附和导线。

铁路曲线坐标计算程序

( for CASIO fx-4500P )

一、主程序:M(M是文件名,下同)

L1 A”CX”B”CY”C”HX”D”HY”E”ZHX”F”ZHY”Q”HZX”L”HZY”G”ZHDK”H”ZHJD°”

I”A°”J”L0”K”L1”R

L2 Pol(C-A,D-B):M=W

L3 Lbl 2:W=90:{NOWZ}:Z”DK”N”Z/!/Y(1/2/3)”:N=2=>Goto 1⊿O”M”W”A°”

L4 Lbl 1:P=Z-G:S=E:T=F:U=H:V=H:Fixm

L5 P≤0=>Prog 3:≠=>P≤J=>Prog 1:≠=>P≤J+K=>Prog 2:V=90J/π/R+180π-

1R-1

(P-J)⊿⊿P≤J+K=>Prog 4:V=H+V⊿⊿

L6 P>J+K=>P=2J+K-P:S=Q:T=L:P>0=>Prog 1:X=-X:U=H+I:Prog 4: V=U-V:

≠=>

U=H+I:V=U:P=-P:Prog 3⊿⊿

L7 N≠2=>P=O:U=V-W:N=3=>P=-P⊿S=X:T=Y:Prog 3⊿

L8 Pol(X-A,Y-B):W=W-M:W<0=>W=W+360⊿

L9 W:”°°°=”◢V:”S=”◢X:”X=”◢Y:”Y=”◢Goto 2

二、子程序:1

L1 V=90P2(πRJ)-1

L2 X=P-Pxy5(40R2J2)-1

L3 Y=PVπ/540

三、子程序:2

L1 Y=180π-1R-1(P-05J)

L2 X=RsinY+J/2- Jxy3/240/R2

L3 Y=J/24/R+R-RcosY

四、子程序:3

L1 X=S+PcosU

L2 Y=T+PsinU

五、子程序:4

L1 I<0=>Y=-Y:V=-V⊿

L2 S=S+XcosU-YsinU

L3 Y=T+XsinU+YcosU

L4 X=S

说明:1、该程序适用于计算器 CASIO fx-4500PA。

2、程序符号定义说明:测站点坐标CX,CY;后视点坐标HX,HY;直缓点坐标

ZHX,ZHY;缓直

点坐标HZX,HZY;直缓点里程ZHDK;经过直缓点和交点的直线的方位角ZHJD°;

曲线偏

角(曲线左偏为负,右偏为正)A°;缓和曲线长L0;圆曲线长L1;圆曲线半径R;

计算

点里程DK;计算曲线的左边点或者右边点)Z/!/Y(1/2/3),曲线的右边输入1,左

边输

入3,线路上输入2;左边的点与当前里程点的连线的距离和当前里程点切线的逆

时针

方向的角度A°(如果上一项不选择2的话)。

3、计算结果显示的数据是:极角、极距和坐标。

4、该程序适用于极坐标法测量曲线时的数据(极角和极距)计算,以及曲线坐标

计算。

面积计算(多边形法)

1、源程序

F1 A2

L1 N:P=A:Q=B:S=0:I=2

L2 Lbl 0:{C,D}:F=(A+C)(B-D):S=S+F

L3 A=C:B=D:I=I+1

L4 I≤N=>GOTO 0⊿

L5 F=(C+P)(D-Q):S=S+F:S”W”=S/2◢

3、 说明:

(1)、本程序适用于所测断面为多边形闭合图形的面积计算。

(2)、折点坐标按顺时针方向输入,得出的面积为正,否则为负,绝对值是一样

的。

4、 程序代号注释

A、B—计算面积起始点纵横坐标;

C、D—各转折点的纵横坐标;

S—代表计算过程中的有关面积;

S“W”—为图形最后需要的计算面积。

N—多边形的折点个数。

体积计算

1、源程序

F1 A3

L1 J=0:H=0:WG

L2 Lbl 0:{NAB}:NAB:P=A:Q=B:S=0:I=1

L3 Lbl 1:{CD}:S=S+(A+C)(B-D)/2:A=C:B=D:I=I+1

L4 I<N=>GOTO 1⊿S=S+(C+P)(D+Q)/2◢

L5 J≠1=>GOTO 2: ≠>L=G-H:V=(R+S+√(RS))L/3◢⊿W=W+V◢

L6 Lbl 2:R=S:H=G:J=1:{G}:G:GOTO 0

2、说明

(1)、程序可自动计算每一断面面积,当进行到第二个断面时就会显示出1~2断

面间的体积,而后再进行第三断面面积计算,并累计出1~3断面之间的体

积。。。。。。,直到最后得出需算断面间的总体积。

(2)、坐标输入时,应按顺时针方向逐个输入折点坐标,这样得出的面积为正

值,一个桩号折点输入完后,程序自动进入下一桩号的输入状态。

3、程序代号注释

G—断面桩号;

A、B—断面起算折点的坐标;

C、D—断面上其他折点坐标;

S—断面面积;

L—断面间距;

V—本断面与前一断面之间计算出的体积。

N—G桩号断面上的折点个数;

W—本断面之前所有体积之和。

在任意控制点上测定直线上的任意位置与高程数据计算

1、源程序

F1 A4

L1 A”X”:B”Y”:E”Z0”:C”X1”:D”Y1”:F”Z1”:G”H0”:I

L2 Lbl 0:{LJV}:LJV

L3 K= tanF:T=tan(E+L)

L4 X”XP”=(B-D-AT+KC)/(K-T) ◢Y”YP”=B+TX-AT◢

L5 S=√((X-A)2+(Y-B)2)

L6 H=G+StanJ+I-V◢GOTO 0

2、说明

(1)、本程序功能:在已知断面上某一点的坐标及断面方向的方位角后,可直接

将仪器架设在邻近控制点上,为测设各个断面上的点提供数据,不需要一定要将

仪器架设在断面桩上测设断面,而所测的断面点均有坐标和高程。

(2)、基本原理:如图所示,A、B为已知控制点,其方位角为Z0,断1-断2为断

面线控制桩,其方位角Z1可以算出,仪器架设在A点,后视B点,转角L1、L2、

L3。。。。。。,这时A~1、A~2,。。。。。。的方位角也为已知,根据解析

几何,两方位直线相交,可解出1#,2#。。。。。。的坐标及其与A的距离。

3、程序代号注释

A、B—测站点坐标

C、D—断面桩点坐标

L—观测断面点的水平角

J—观测断面点的竖直角

V—觇标高

S—测站至断面测点的距离

H—断面测点的高程

I—仪器高

Z0—测站至后视点的方位角

Z1—断面线的方位角

竖曲线计算

1、源程序

F1 A5

L1 BADTRZ

L2 Lbl 0:{C}:C

L3 Z≥1=>H=A+(B-A)/T(C-D)-(C-D)2/(2R) ◢≠>H=A+(B-A)/T(C-D)+ (C-D)

2/(2R) ◢

L4 GOTO 0

2、说明

(1)、本程序的功能是根据道路施工纵断面图上的设计数据,算出竖曲线上各加

桩点的高程;

(2)、本程序适用于由小桩号向大桩号端方向计算,在键入全部已知数据后,当

C出现时,只要键入该点的桩号,高程立即会显示出来。

3、程序代号注释

A—起点(或终点)高程

C—需计算点的桩号

T—竖曲线切线长

D—起点(或终点)高程

R—竖曲线半径

H—C桩号处的高程

B—切线交点的高程

Z—曲线凹凸判断符Z≥1时为凸曲线,z<0时为凹曲线。

两点测角前方交会坐标计算

1、源程序

F1 A6

L1 ABCDEF

L2 X“XP”=(A/tanF+C/tanE-B+D)/(1/tanE+1/tanF) ◢

L3 Y“YP”=(B/tanF+D/tanE-C+A)/(1/tanE+1/tanF) ◢

说明:

E—1#点的观测角

F—2#点的观测角

1#、2#点的编号时应注意:面向交会点P的左侧定为1#点,右侧定为2#点。

竖曲线计算

1、源程序

F1 A5

L1 BADTRZ

L2 Lbl 0:{C}:C

L3 Z≥1=>H=A+(B-A)/T(C-D)-(C-D)2/(2R) ◢≠>H=A+(B-A)/T(C-D)+ (C-D)

2/(2R) ◢

L4 GOTO 0

2、说明

(1)、本程序的功能是根据道路施工纵断面图上的设计数据,算出竖曲线上各加

桩点的高程;

(2)、本程序适用于由小桩号向大桩号端方向计算,在键入全部已知数据后,当

C出现时,只要键入该点的桩号,高程立即会显示出来。

3、程序代号注释

A—起点(或终点)高程

C—需计算点的桩号

T—竖曲线切线长

D—起点(或终点)高程

R—竖曲线半径

H—C桩号处的高程

B—切线交点的高程

Z—曲线凹凸判断符Z≥1时为凸曲线,z<0时为凹曲线。

两点测角前方交会坐标计算

1、源程序

F1 A6

L1 ABCDEF

L2 X“XP”=(A/tanF+C/tanE-B+D)/(1/tanE+1/tanF) ◢

L3 Y“YP”=(B/tanF+D/tanE-C+A)/(1/tanE+1/tanF) ◢

说明:

E—1#点的观测角

F—2#点的观测角

1#、2#点的编号时应注意:面向交会点P的左侧定为1#点,右侧定为2#点。 线路中、边桩测量放样程序 (Ver 32)

F1 XLCS (主程序,步数385)

L1 Norm:Deg:U=O〃A0〃:Prog 1:Q=U:C〃X-JD〃:D〃Y-JD〃:U=A〃A:R+L-

〃:Prog 1:

B=Abs U:R:S〃L0〃:E〃K-ZH〃

L2 Fix 3:M=5S-Sxy3/240R2:P=S2/24R:T〃T〃=(R+P)tan5B+M◢F〃L〃=

πRB/180

+S◢F=F+E:Norm

L3 K〃ZJ:XY=>1〃:K≠1=>{L}:V=L〃K〃:U=0:Prog 4: G=X:H=Y:≠>G〃

X〃:H〃Y〃◣

{KJ}:K〃HS:XY=>1〃:K=1=>{I}:X=I〃X〃:Y=J〃Y〃:≠>V=J〃K〃:U=0:Prog 4◣

Fix 3

L4 V〃D0〃=Pol(X-G,Y-H◢Fix 4:N=W:W<0=>W=W+360◣Prog 2:W〃

A0〃=W◢

Norm:U=0:{U}:U〃AB〃:Prog 1:K=U

L5 Lb1 0:U=0:{U}:U〃CS:XY=>1〃:U=0=>{UZ}:V=Z〃K〃: U〃BZ:R+L-

〃:A<0=>U

=-U◣Prog 4: ≠>{XY}:X:Y◣Prog 5: Prog 6:Goto 0

F2 1 (十进制→六十进制子程序,步数19)

L1 U=Int U+Frac U/6+Frac 100U/90

F3 2 (六十进制→十进制子程序,步数22)

L1 60Frac W:W=Int W+01Int Ans+006Frac Ans

F4 3 (缓和曲线上任意点坐标计算子程序,步数57)

L1 Y=RS:X=V-Vxy5/40Y2:Y=Vxy3(1-Vxy4/56Y2)/6Y+URec(1,90V2/π

Y:X=X-UW

F5 4 (中桩、边桩坐标计算子程序,步数195)

L1 V>F=>X=T-UsinB+Rec(V-F+T,B:Y=W+UcosB:Goto 0◣

L2 V>F-S=>V=F-V:Prog 3: Rec(1,B:U=X:X=T+TV-XV-YW:Y=TW-

UW+YV:

Goto 0◣

L3 V>E+S=>Y=P+R-Rec(R-U,180(V-E-5S)/πR:X=M+W:Goto 0◣

L4 V>E=>V=V-E:Prog 3: ≠>X=V-E:Y=U◣

L5 Lbl 0: A<0=>Y=-Y◣Rec(1,Q:U=X:X=C-TV+XV-YW:Y=D-

TW+UW+YV

F6 5 (测设数据输出子程序,步数76)

L1 Pol(X-G,Y-H:W=W-N:W<0=>W=W+360◣W=K+W:W≥360=>

W= W-360◣

Fix 4:Prog 2:W〃AC〃=W◢Fix 3:V〃DC〃=V◢Norm

F7 6 (测设时移桩数据计算子程序,步数92)

L1 Lbl 0:Norm:L=0:W=0

L2 Lbl 1:U=0:{U}:U〃SC〃:U≠0=>W=W+U:L=L+1:Goto 1◣W≠0=>

{U}:U〃V〃:

Prog 1:Fix 3:W〃SD〃=W/L×sin U◢W〃MOVE〃=V-W◢Goto 0◣

使用说明

1、 程序说明

(1) 本程序特点:可置镜任意点放样任意点(中桩点、边桩点、导线

点);人性化设计,提示信息全面,并充分考虑工程术语和习惯;专门设计的角

度输入输出方式;绝对优秀的存储器分配方案。

(2) 本程序适用于放射螺旋线作为缓和曲线且前、后缓和曲线长度相同的

单曲线放样,可放样线路中桩和边桩,按里程和坐标放样均可。

(3) 角度输入(出)方式:度分秒,如 56°3′19〃 输入(出)为

560319。注意:分、秒必须为两位数,当小于10时,应在前面加“0”。

(4) 放样前应准备的数据:建立统一的施工坐标系(正测量坐标系、右手

坐标系),计算控制点和曲线交点坐标、曲线第一切线方位角;整理曲线要素和

放样点桩号、相应的边桩距离(或放样点坐标)。

(5) 若按坐标放样,则当程序提示输入曲线要素时,可输入任意值,仅在

提示输入置镜点、后视点和放样点属性时输入“1”,然后输入相应坐标值。

(6) 如果要实时显示放样点的坐标,可在子程序F6行L1的“Fix 4:”后增加以

下语句(双引号内):“X◢Y◢”或者“X〃X〃=X◢Y〃Y〃=Y◢”。

(7) 子程序F1行L4中“:U=0:{U}:U〃AB〃:Prog 1:K=U”(输入仪器后视读

数)和行L5中“Prog 6:”(调用移桩计算子程序)、子程序F6行L1中“W=K+W:W

≥360=>W= W-360◣”(计算仪器前视读数,必须与前述“输入仪器后视读数”

同时取舍)、子程序F8(移桩计算子程序)可根据需要取舍。

(8) 本程序按CASIO fx-4500P计算器设计。若使用CASIO fx-4800P计算

器,应作以下改动:①变量“V”与“I”调换,变量“W”与“J”调换;②调用子程序时,

子程序名应加双引号(〃),如:PROG 1应改为PROG 〃1〃;③“xy”应为“^”;④

在子程序F1行L1或L2中任意位置添加“I=0:J=0”语句。

(9) 程序步数说明:每个子程序实际占用空间=程序步数+行数+程序名字

符数+2。

by 中铁二十四局福建公司工程部•洪淮斌

fx-4500p坐标计算程序根据坐标计算方位角

L1 A“X1=”:B“Y1=”:Pol(C“X2”-A,D“Y2”-B:“S=”▲W<0W=W+360△W:“ALF(1~2)=”

直线段坐标计算L1 X“X(0)”:Y“Y(0)”:S“S(0)”:A“ALF”L2 Lb12L3 {L}:L“LX”L4 M“X(Z)”=X+(L-S)cosA▲L5 N“Y(Z)”=Y+(L-S)sinA▲L6 {B}:B“B(L)”:Q“Q”L7 O“X(L)”=M+Bcos(A+Q+180)▲L8 P“Y(L)”=N+Bsin(A+Q+180)▲L9 {C}:C“B(R)”L10 U“X(R)”=M+Ccos(A+Q)▲L11 V“Y(R)”=N+Csin(A+Q)▲L12 Goto 2

园曲线段坐标计算L1 S“S(0)-Km”:X“X(0)”:Y“Y(0)”:A“ALF”:R“R”:K“K(L=1,R=2)”L2 Lb1 2L3 {L}:L“L(X)”L4 V=180/π×(L-S)/R:W=V/2L5 C=A+(-1)K×W:D=2RsinW:F=A+(-1)K×VL6 M“X(Z)”=X+DcosC▲L7 N“Y(Z)”=Y+DsinC▲L8 {E}:E“B(L)”:Q“Q”L9 O“X(L)”=M+Ecos(F+Q+180)▲L10 P“Y(L)”=N+Esin(F+Q+180)▲L11 {G}:G“B(R)”L12 T“X(R)”=M+Gcos(F+Q)▲L13 U“Y(R)”=N+Gsin(F+Q)▲L14 Goto 2

正向缓和曲线段坐标计算L1 S“ZH-Km”:X“X(ZH)”:Y“Y(ZH)”:A“ALF”:R“R”:H“LS”:K“K(L=1,R=2)”L2 Lb1 2L3 {L}:L“L(X)”L4 D=30(L-S)2/π/R/H:C=L-S-(L-S)5/90/(R×H)2:B=A+D(-1)K:E=A+3D(-1)KL5 U“X(Z)”=X+CcosB▲L6 V“Y(Z)”=Y+CsinB▲L7 {G}:G“B(L)”:Q“Q”L8 F“X(L)”=U+Gcos(E+Q+180)▲L9 I“Y(L)”=V+Gsin(E+Q+180)▲L10 {J}:J“B(R)”L11 M“X(R)”=U+Jcos(E+Q)▲L12 N“Y(R)”=V+Jsin(E+Q)▲L13 Goto 2

卵形曲线坐标计算L1 S“Km-YH”:E“X(YH)”:F“Y(YH)”:G“ALF”:B“R1”:D“A”:K“K(L=1,R=2)”:Q“R1-R2X=1,D=2)”L2 Lb1 2L3 {Z}:Z“L(X)”L4 J“L1”=D2/B: R“RP”=D2B/(D2+(-1)Q(Z-S)B):L“LP”=D2/RL5 M=(L-J)-(L5-J5)/40/D4+(L9-J9)/3456/D8L6 N=(L3-J3)/6/D2-(L7-J7)/336/D6+(L11-J11)/42240/D10L7 T=G-(-1)Q(-1)K×J2×90/D2/πL8 X“X(Z)”=E+(-1)QMcosT-(-1)KNsinT▲L9 Y“Y(Z)”=F+(-1)QMsinT+(-1)KNcosT▲L10 A“ALF(P)”=G+(-1)K(Z-S)×90×(1/B+1/R)/πL11 {H}:H“B(L)”:U“Q”L12 W“X(L)”=X+Hcos(A+U+180)▲L13 V“Y(L)”=Y+Hsin(A+U+180)▲L14 {C}:C“B(R)”L15 I“X(R)”=X+Ccos(A+U)▲L16 P“Y(R)”=Y+Csin(A+U)▲L17 Goto 2

卡西欧4500的程序集附闭合导线计算附闭合导线计算

1、源程序

F1 A1L1 Defm 4N-2L2 N:A:B:Pol(C-A,D-B):W<0=>W=W+360⊿T=WL3K=0=>M=T+180:E=C:F=D:GOTO 0: ≠>E:F: Pol(G-E,H-F):W<0=>W=W+360⊿M=WL4 Lbl 0: L=0:U=0:I=0:R=2:Z[1]=TL5 Lbl 1:{J}:Z[R]+360: ⊿R=N+1=>GOTO 2: ≠>R=R+1:GOTO 1L6 Lbl 2:P”JB”=(Z[N+1]-M) ◢Q”JL”=40√N◢R=2L7 Lb1 3:{S}:Z[N+R]=S: L=L+S◢L8 Z[2N-1+R]=Rec(S,(Z[R]-P(R-1)/N)):U=U+VL9Z[3N-2+R]=W:I=I+W:N=R=>GOT 4: ≠>R=R+1:GOTO 3L10Lbl 4: P=U+C-E◢Q=I+D-F◢L11 G”1:M”=L/Pol(P,Q) ◢R=2L12Lbl 5:X”XI”=C+Z[2N-1+R]-PZ[N+R]/L◢Y”YI”=D+Z[3N-2+R]-QZ[N+R]/L◢L13 R=N=>GOTO 6: ≠>R=R+1:C=X: D=Y:GOTO5L14 Lbl 6:”END”

2、说明(1)、本程序可计算附和导线和闭合导线的坐标,计算的坐标系经过角度闭合差及坐标增量闭合差分配后的结果,能显示角度闭合差、增量闭合差及导线全长的相对精度;(2)、输入的观测角为导线的左角。3、程序代号注释N—导线观测角的折角数;A、B—导线起始点所后视的已知点的坐标x,y;C、D—导线起始点(即设站点)的坐标x,y;E、F—导线终点(已知点)的坐标x,y;G、H—在导线终点设站观测前视已知点的坐标x,y;T—起始站后视至起始点的方位角;M—终点站至前视已知点的方位角;J—观测的左角值;JB—角度闭合差;JL—允许的角度闭合差,程序中是以40√n计算的,如和要求的不一致,可改一下L6语句中的有关部分。S—所测导线的边长;L—边长的累计数;U—△x的累计数;I—△y的累计数;P—x坐标的闭合差;Q—y坐标的闭合差;K—转换符,当K=0时为计算闭合导线,当K≠0(任意数)时为计算附和导线。

面积计算(多边形法)

1、源程序F1 A2L1 N: P=A: Q=B:S=0:I=2L2Lbl 0:{C,D}:F=(A+C)(B-D):S=S+FL3 A=C:B=D:I=I+1L4 I≦N=>GOTO0⊿L5 F=(C+P)(D-Q):S=S+F:S”W”=S/2◢

1、说明:(1)、本程序适用于所测断面为多边形闭合图形的面积计算。(2)、折点坐标按顺时针方向输入,得出的面积为正,否则为负,绝对值是一样的。

2、程序代号注释A、B—计算面积起始点纵横坐标;C、D—各转折点的纵横坐标;S—代表计算过程中的有关面积;S“W”—为图形最后需要的计算面积。N—多边形的折点个数。

体积计算

1、源程序F1 A3L1 J=0:H=0:WGL2 Lbl0:{NAB}:NAB: P=A: Q=B:S=0:I=1L3 Lbl 1:{CD}:S=S+(A+C)(B-D)/2:A=C:B=D:I=I+1L4I<N=>GOTO 1⊿S=S+(C+P)(D+Q)/2◢L5 J≠1=>GOTO 2: ≠>L=G-H:V=(R+S+√(RS))L/3◢⊿W=W+V◢L6Lbl 2:R=S:H=G:J=1:{G}:G:GOTO 0

2、说明(1)、程序可自动计算每一断面面积,当进行到第二个断面时就会显示出1~2断面间的体积,而后再进行第三断面面积计算,并累计出1~3断面之间的体积。。。。。。,直到最后得出需算断面间的总体积。(2)、坐标输入时,应按顺时针方向逐个输入折点坐标,这样得出的面积为正值,一个桩号折点输入完后,程序自动进入下一桩号的输入状态。

3、程序代号注释G—断面桩号;A、B—断面起算折点的坐标;C、D—断面上其他折点坐标;S—断面面积;L—断面间距;V—本断面与前一断面之间计算出的体积。N—G桩号断面上的折点个数;W—本断面之前所有体积之和。

在任意控制点上测定直线上的任意位置与高程数据计算

1、源程序F1 A4L1 A”X”:B”Y”:E”Z0”:C”X1”: D”Y1”:F”Z1”:G”H0”:IL2 Lbl 0:{LJV}: LJVL3 K=tanF:T=tan(E+L)L4 X”XP”=(B-D-AT+KC)/(K-T)◢Y”YP”=B+TX-AT◢L5 S=√((X-A)2+(Y-B)2)L6H=G+StanJ+I-V◢GOTO 0

2、说明(1)、本程序功能:在已知断面上某一点的坐标及断面方向的方位角后,可直接将仪器架设在邻近控制点上,为测设各个断面上的点提供数据,不需要一定要将仪器架设在断面桩上测设断面,而所测的断面点均有坐标和高程。(2)、基本原理:如图所示,A、B为已知控制点,其方位角为Z0,断1-断2为断面线控制桩,其方位角Z1可以算出,仪器架设在A点,后视B点,转角L1、L2、L3。。。。。。,这时A~1、A~2,。。。。。。的方位角也为已知,根据解析几何,两方位直线相交,可解出1#,2#。。。。。。的坐标及其与A的距离。

3、程序代号注释A、B—测站点坐标C、D—断面桩点坐标L—观测断面点的水平角J—观测断面点的竖直角V—觇标高S—测站至断面测点的距离H—断面测点的高程I—仪器高Z0—测站至后视点的方位角Z1—断面线的方位角

竖曲线计算

1、源程序F1 A5L1 BADTRZL2 Lbl 0:{C}:CL3Z≧1=>H=A+(B-A)/T(C-D)-(C-D)2/(2R) ◢≠>H=A+(B-A)/T(C-D)+ (C-D)2/(2R) ◢L4 GOTO0

2、说明(1)、本程序的功能是根据道路施工纵断面图上的设计数据,算出竖曲线上各加桩点的高程;(2)、本程序适用于由小桩号向大桩号端方向计算,在键入全部已知数据后,当C出现时,只要键入该点的桩号,高程立即会显示出来。

3、程序代号注释A—起点(或终点)高程C—需计算点的桩号T—竖曲线切线长D—起点(或终点)高程R—竖曲线半径H—C桩号处的高程B—切线交点的高程Z—曲线凹凸判断符Z≧1时为凸曲线,z<0时为凹曲线。

两点测角前方交会坐标计算

1、源程序F1 A6L1 ABCDEFL2 X“XP”=(A/tanF+C/tanE-B+D)/(1/tanE+1/tanF)◢L3 Y“YP”=(B/tanF+D/tanE-C+A)/(1/tanE+1/tanF)◢

说明:E—1#点的观测角F—2#点的观测角1#、2#点的编号时应注意:面向交会点P的左侧定为1#点,右侧定为2#点。

《摄影测量学》试题九标准答案

一、 名词解释:

1.全数字摄影测量是指从摄影测量与遥感所获取的数据中,采用数字摄影影像或数字化影像,在计算机中进行各种数值、图形和影像处理,以研究目标的几何和物理特性,从而获得各种形式的数字化产品和目视化产品数字摄影影像是用数字摄影机(如CCD阵列扫描仪)直接获得数字影像;数字化影像是用各种数字化扫描仪,对已得到得像片进行扫描,获得数字化影像。而在计算机中进行全自动化数字处理得方法,称为全数字化摄影测量。

2.根据像面,投影中心和物面三者之间的空间位置关系,按中心投影的规律,将物面(或像面)上的点、线或几何图形,表示在像面(或物面)上的工作称为透视变换的空间作图。

3.主垂面与地平面的交线称为摄影方向线以VV表示。显然像面上的主纵线与地面上的摄影方向线是一对透视对应线,都垂直于透视轴。

4.核面与像平面的交线称为核线。

5.

6.单航带航带法解析空中三角测量是常用三种解析加密方法的基础。它是利用一条航带内各立体模型的内在几何关系建立自由航带网模型,然后根据控制点条件,按最小二乘法原理进行平差,并消除航带模型的系统变形,从而求得各加密点的地面坐标。

7.把地面分成适当大小的有限单元,在单元内,用一个简单的函数来描述所求的曲面,并保证相邻单元之间有连续(或光滑)的过渡,这种内插方法称为有限元法。

8.调绘片是摄影测量内业绘制地形图,建立地物核地貌,标定注记内容的依据核来源,

二 填空题:

1.测制各种比例尺的地形图, 建立地形数据库, 地理信息系统 土地信息系统

2. 30m 3% 3%

3.53% 15% 60%~65% 15%~30%

4.摄影基线 地面任意一点 像主点 核面 像平面 摄影基线的延长线与像平面的交点

5.形状 大小 位置 特征 属性特征 空间特征 时间特征

6.像片倾斜引起的像点位移 像片起伏引起的像点位移 摄站点之间由于航高差引起的各张像片间的比例尺与图比例尺不一致。

7. 影像的色调是否均匀一致 切割线或光学镶嵌的拼接线是否密合,有无影像的重复合丢失 切割镶嵌打纠正点小孔时,是否打掉了重要地物 图面整饰与各项注记是否正确、齐全。

8. 切割镶嵌 数字镶嵌

9. 像片控制点的联测、像片调绘与补测、以及地形测绘等内容

10.频谱分析方法 渐进采样法

11.栅格形式 矢量形式

三 简答题:

1.摄影测量学是通过影像研究信息的获取、处理、提取合成果表达的一门信息科学。传统的摄影测量学是利用光学摄影机摄得得影像,研究和确定被摄物体得形状、大小、性质和相互关系得一门科学与技术,摄影测量学得主要特点是在像片上进行测量和解译,无需接触物体本身,因而很少受自然和地理等条件的限制。

2.在恢复像片内方位元素的基础上,确定像片摄影瞬间在地面直角坐标系中空间位置和姿态的参数,称为像片的外方位元素

一张像片有六个外方位元素其中三个是描述摄影中心S(摄影物镜后节点)空间位置的坐标值,称为直线元素另外三个是表示摄影光束空间姿态的三个角元素

三个直线元素 三个直线元素是指摄影曝光时,摄影物镜S在地面选定的空间直角坐标系中的坐标值

三个角元素 它是描述像片在摄影瞬间空间姿态的要素其中两个角元素用以确定摄影机主光轴So在空间的方向,另一个角元素,则确定像片在像片面内的方位

3.三种方法:

1)、用单张像片的空间后方交会与立体像对的前方交会方式求解物点的三维空间坐标。这种方法是以像片对内已有足够数量的地面控制点坐标为基础。

2)、用相对定向和绝对定向方法求解地面点的三维空间坐标。此法是用具有一定相互重叠。

3)、采用光束法求解地面点三维坐标。这种方法是把待求的地面点与已知地面点坐标,按照共线条件方程,用连接点条件和控制点条件同时列出误差方程,统一进行平差计算,以求得地面点三维坐标。

4.主要任务除为测图工序提供大量控制点坐标外,还可提供内业测图工序所需得各种定向数据和其他一系列副产品。

常规方法有:单模型解析空中三角测量,单航带解析空中三角测量和区域网解析空中三角测量三种。

5.基本思想:把像片分别装入与像片主距相同的两个投影器内,完成内定向,建立和摄影光束法,由于没有进行相对定向,两光束必不满足同名光线对对相交,若用一水平承影面的(交点)将会出现X方向和Y方向得差值。其值同名点得坐标差表示。当诸同名点的上下视差都为零时,相对定向即告完成。通过微动投影器得定向螺旋,消除承应面上同名点的上下视差来完成相对定向,就是模拟法相对定向的基本思想。

6.对于地物而言,数字测图总是采集地物廓角点坐标及属性特征,但有些地物还往往事先已知有外形条件的几何参数和条件。如建筑物、运动场、高速公路等等,具有垂直或平行等条件,如用直接采集的离散点连成图形,则由于获取的原始数据中包含有偶然误差,则满足图形往往不能满足图形的外形条。因此,在绘图之前,应对这些数据进行预处理,一满足图形的几何条件。

7.综合判调的主要工作是室内判绘和野外补调。

室内判绘是室内依据测区收集的各种资料,对像片进行观察、分析和比较然后判读出影像的内容、数量、性质,并着墨描绘在像片上,对于没有足够把握判读的地物用铅笔画出后供野外补调确定。室内判绘采用的凡是有直接目视判读描绘,立体判读描绘以及利用资料辅助判读描绘。

综合判调第二项工作是野外补调。野外补调是对室内判绘的检查和补充。补调要重点检查室内判绘没有把握的地物,室内判绘的地物在实地如果发现错误要马上修改补偿。

综合判调法可以将大量外业调绘工作转入室内完成,能减轻外业调绘的劳动强度和提高像片调绘的工效,与全野外调绘相比有明显的优越之处。

四 、问答题:

1.(1)原始数据的输入及像点坐标的预处理。由于像点坐标是在立体坐标仪上量测,不是像平面坐标系,需要作一定的换算。像点坐标的预处理是指对像点坐标的系统误差处理。

(2)确定相对定向元素的初始值。假定像对中左片是水平的,即外方位元素 在完成定向过程中总是取为零;而像对中右片的角元素 的初始值也均取为零,基线分量 取标准1点的左右视差,即 。

(3)根据确定的初始值,计算左、右片的方向余弦值,组成左、右片各自的旋转矩阵 和 。再变换坐标,计算左、右像片上同名像点的像空间辅助坐标 和 。

(4)逐点计算定向点的上下视差Q。

(5)逐点按相对定向方程式,组成定向点的误差方程式的系数矩阵A。计算各项a,b,c,d,e系数。

(6)逐点组成法方程式的系数矩阵( ),常数项矩阵( )。直到全部定向点组成法方程式。

(7)法方程式的求解。即按 求得各未知数的一次改正值。

(8)计算相对定向于是泥塑的新值,即

(9)计算判断所有未知数的改正值是否小于限差,即 当大于限差时则重复(3)~(8)步的计算,直到小于限差值为止。

2.外为了提高加密精度,除用精密立体坐标仪提高量测坐标精度外,还采取在地面上布设地面标志,提高分辨精度,在平差方法中加入残余系统误差的补偿和粗差检测,以及采用摄影测量与各种测量成果的联合平差。

主要作业过程:

1)、像点坐标量测与系统误差改正。

2)、连续法相对定向建立单个模型。左片的角元素 。航带中第一相对完成相对定向后,所得相对定向角元素 为像对中右片的像空间坐标系相对于像空间辅助坐标系的三个角元素。第二个像对以后的各像对中左片的三个角元素,均取前一像对中右片的角元素作为固定值在完成相对定向过程中保持不变,只改变像对中的右片。这样建立起的航带内各单个模型的像空间辅助坐标系,其特点是各模型的像空间辅助坐标系统,坐标 轴向都保持彼此平行,模型比例尺各不相同,坐标原点也不一致。

3)、航带内各立体模型利用公共点进行连接,建立起统一的航带网模型。航带内各单个模型建立之后,以相邻两模型重叠范围内三个连接点的高度应相等为条件,从航带的左端至右端的方向,逐个模型的归化比例尺,统一坐标原点,使全航带内各模型连接成一个统一的自由航带网模型。统一后的模型点坐标为摄影坐标系坐标。

4)、航带网模型的绝对定向。建立的航带网模型是摄测坐标系,需要根据地面控制点,把摄测坐标变换为地面摄测坐标。即将整个航带网按控点的摄测坐标核地面摄测坐标,进行空间相似变换,完成航带网模型的绝对定向,使整条航带网的摄测坐标纳入到地面摄测坐标中。

5)、航带网模型的非线性改正。由于残存系统误差和偶然误差在模型连接过程中传递累积产生航带网模型变形,一般采用多项式进行改正。

3. 数字地面模型是一个表示地面特征空间分布的数据库。一般用一系列地面点坐标X,Y以及该地面点上的高程Z或属性(如名称、目标类别、特征等)组成的数据阵列,以此组成数字地图。

在计算机中就是一个二维数组Z(M,N),任何一点高程就是一个下标变量Z(i,j),只表示地面高程的数字地面模型称为数字高程模型(DEM)。

应用:(一)、在公路、铁路选线设计方面的应用

(二)、地面坡度的计算与分类

(三)、由数字高程模型求真实的地表面积

(四)、根据不同时期的两个数字高程模型计算地表变化的体积

(五)、数字高程模型用于制作正射影像图

(六)、绘制透视立体图

求像底点坐标

求像点坐标

单像空间后方交会和多像空间前方交会

摄影测量中的数字投影基础

航空影像模拟

光束法平差的基本数学模型

利用DEM制作数字正射影像图

利用DEM进行单张像片测图

以上就是关于c#距离计算、角度转换、前方交会、距离交会程序全部的内容,包括:c#距离计算、角度转换、前方交会、距离交会程序、在CASIO fx-4800P中,如何使用均方差程序、4500计算器坐标计算程序如何输入计算器等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

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

原文地址:https://54852.com/zz/9275840.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存