1、测绘类C#程序代码常用测量程序设计代码(1)用全站仪在点观测了B点斜边与垂直角,求到B得高差。(提示:,D-斜边,-垂直角,-仪器高,反光镜高,大气折光系数)usig Syste;usingSystem、Coletins、Generi;us Syste、Tet;namepaceosolpplicaton1 cass Applicaton tatc vo ain(strng rg) Console、Wrie(”请输入斜边=”); double D= double、Pase(Cose、RaLine(); Console、rite(”请输入垂直角d、ms); doube a G(doube、re(C
2、nse、RedLine())); Cnsl、Wrie(”请输入仪器高=”); duble = doub、Par(Cosle、Redne(); onsoe、Writ(”请输入反光镜高=); dobe v = double、Pase(nsole、eaLe(); doulh = * Mat、Si(a) + (1 - 、13) / 671000、0 / 637100、0 * Mat、Cs(a) Math、o(a) /、0 v; Cono、Wrtin(”高差为0,h); /将dd、mmss转为弧度 tatic puli double DEG(do an) t fuha = (int)(ag Mah、bs
3、(ang); an = Math、Abs(ng); int = (int)a; int (int)(an*100)) 10; oue = ag * 10000 - m 100 d 000; retur ((d m/ 60、0 s 3600、0)*fuhao) / 180、0* Math、PI; (2)如图所示,已知A点得坐标及A点到点得边长及方位角,计算点得坐标.singytem;uingSyst、Colletos、neric;usingystem、Text;naepacCnsoleApplication1 class Appicion tati vidMin(sing as) Cnsol、W
4、rite(请输入A点得X坐标); dol XA = doube、Pase(Console、ReaLine(); Cole、Wite(请输入A点得坐标=); doubl A= doubl、Parse(Console、eaLn(); Conole、Write(请输入A到B得方位角dd、mms=); oble a = DEG(double、Pe(onse、RLine(); Cnole、ie(”请输入到B得水平距离); duble S = dbl、Pas(Conole、ReadLine()); doube B= XA + S*ath、C(); duble YB = Y+ah、Sin(); ons、ri
5、teLine(点得坐标(,1),XB,YB); /将dd、s转为弧度 static publc ule DEG(dole ang) infuhao =(int)(an / ath、Abs(ng)); ng =Math、Abs(an); it = (int)ang; nt m ((int)(ng *0)) - d * 100; doul sang 00 m 100 d *1000; retrn ( + m/ 6、0 + s / 36、0) fua) 80、0* Mt、PI; (3)如图所示,已知点与B点得坐标,计算A点到得边长及方位角。usingSytem;usinSysem、Colletios
6、、Generi;usingSyste、Text;nmespaeonlAppicatn1 clssApictio sttic voiMain(string arg) nsole、rite(请输入A点得X坐标=”); doule XA = double、Pas(Cnse、Reaine()); onsoe、rit(”请输入A点得坐标=); dole YA = ule、Pars(Cnl、ReadLine(); onsoe、Wrte(”请输入B点得X坐标=); double X = double、Pse(Cnle、ReaLi(); Consl、Write(请输入点得Y坐标=); double Y= do
7、uble、Parse(Cosole、RLie()); douleS= 距离(X, YA, B, Y); doubl a = 方位角(A,YA, XB,YB); Cnsole、Writein(”AB间得距离,从到B得方位角=,S,DM(a); /将弧度转为ddd、ms stic publc ole DM(ole ag) an += 1、E15;/加上一个小量,以保证进位 int fuha= (in)(an/ Math、As(ang)); ang= Math、A(ag) * 18、0 /Mat、P; int d (int)ag; n = (an - d) 0、0; nt m (it)ang; ub
8、le s = (an m) 6、0; return (d+ m /00、0 + / 000、0) fuhao; /计算方位角,返回弧度值 plic saiduble方位角(ouble x, double y1, ouble , double y2) double dltaX =x - x; doledelta = y2 1; doube angle = ath、PI 0、5; f (Math、Abs(delaX) 0、0000001) ge= ath、tan(dltY, dea); f(nle ) ange += at、P; if (deltaY 、0) agle th、I; etrnngle
9、; /计算距离 public stcdule 距离(double x1, doubl y, dole x2, doule 2) retun Math、qrt((x2 x1) (x 1) + (y2 - 1) * (y2 y1)); ()在如图所示得支中导线,已知A点到M点得坐标方位角及每个左角,求每条边得坐标方位角。using yste;using Syste、Colectios、Gner;usin System、Txt;nmespaceConolApicat1 cls Apiation static oid Main(tinargs) Conso、Wi(”请输入A点到点得坐标方位角=”);
10、将A点到M点得坐标方位角换算为M点到A点得坐标方位角,以便利用公式 ouea0 = DEG(double、Pe(Conso、ReadLine()) 0、0); if (02 Mah、I) 0 = 2* Ma、P; Lisdule导线转角集合=new Lisouble(); in i 1; do Cnsoe、Wrt(请输入第个转角得水平角左角为正,右角为负 直接回车结束输入=,i); string st = Cnsole、RdLine(); if (str !) 导线转角集合、dd(EG(duble、Parse(tr); else ra; whle(ru); i= ; orch (ouble ain 导线转角集合) a0 += a Math、I; if (a0 * ath、PI) a0 2 Ma、PI; elseif (a0 0、0) a0 += 2 * Math、P; Cnole、iteLine(第
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1