Koordinatenumrechnung (Geodäsie/Vermessung)

philipp, Saturday, 28.04.2007, 00:25 (vor 6380 Tagen) @ MichaeL

Ok - ich schmeiße euch hiermit mal meinen Original-Casio-Algebra-FX-2.0-Plus-Taschenrechner-Quellcode vor die Füße ;)
(hat(te) allerhand Sonderzeichen, die ich hoffentlich alle durch verständliche Zeichen ersetzt habe):


"Rechtswert Y"->Y
"Hochwert X"->X
Y->D
Abs Y->Y
Y-(Int (Y/1e6)*1e6)-0.5e6->Z
If U=2
Then Z/0.9996->Z
X/0.9996->X
IfEnd
If W=1
Then Int (Y/1e6)*3->M
IfEnd
If W=2
Then 6*(Int (Y/1e6))-3->M
IfEnd
If W=2 And U=2
Then 6*((Int (Y/1e6))-30)-3->M
IfEnd
((A²/B)/(180/Pi)*(1-3/4*F²+45/64*F^4-175/256*F^6+11025/16384*F^8))*
C+((A²/B)*(-3/8*F²+15/32*F^4-525/1024*F^6+2205/4096*F^8))*
sin (2*C)+((A²/B)*(15/256*F^4-105/1024*F^6+2205/16384*F^8))*
sin (4*C)+((A²/B)*(-35/3072*F^6+315/12288*F^8))*sin (6*C)->C
((A²/B)/(180/Pi)*(1-3/4*F²+45/64*F^4-175/256*F^6+11025/16384*F^8))->Q
(X+C)/Q+((180/Pi)*(3/8*F²-3/16*F^4+213/2048*F^6))*
sin (2*(X+C)/Q)+((180/Pi)*(21/256*F^4-21/256*F^6))*
sin (4*(X+C)/Q)+((180/Pi)*(151/6144*F^6))*sin (6*(X+C)/D)->Q
A/(1-E²(sin Q)²)^(1/2)->N
(180/Pi)/(2*N²)*(tan Q)*(-1-F²*(cos Q)²)->H
(180/Pi)/(N*cos Q)->R
(180/Pi)/(24*N^4)*(tan Q)*(5+3*(tan Q)²+6*F²*(cos Q)²-6*(tan Q)²*F²*
(cos Q)²-3*F^4*(cos Q)^4-9*(tan Q)²*F^4*(cos Q)^4)->I
(180/Pi)/(720*N^6)*(tan Q)*(-61-90*(tan Q)²-45*(tan Q)^4-107*F²*
(cos Q)²+162*(tan Q)²*F²*(cos Q)²+45*(tan Q)^4*F²*(cos Q)²)->J
(180/Pi)/(40320*N^8)*(tan Q)*(1385+3633*(tan P)²+4095*(tan P)^4+1575*
(tan P)^6)->K
((180/Pi)/(6*N^3*cos Q))*(-1-2*(tan Q)²-F²*(cos Q)²)->S
((180/Pi)/(120*N^5*cos Q))*(5+28*(tan Q)²+24*(tan Q)^4+6*F²*(cos Q)²+8*
(tan Q)²*F²*(cos Q)²)->T
M+R*Z+S*Z^3+T*Z^5->L
If D>=0 Or U=3
Then "lambda=":L
IfEnd
If D<0
Then "lambda=": -(2*M-L)->L
IfEnd
"phi=":Q+H*Z²+I*Z^4+J*Z^6+K*Z^8->P
Stop

-> heißt dabei nicht "minus größer", sondern steht für einen Pfeil, welcher in der Casio-Sprache für die Zuordnung zur Variablen mit nachfolgendem Buchstaben steht. Auch : und " sind programmiertechnische Dinge (wollte ich jetzt aber nicht alles mühsam einzeln löschen)...

Ohne jetzt alles haarklein aufzudröseln kann man sicher erkennen:
- Y und X müssen eingegeben werden
- Y wird dann als D angenommen (hat schon seinen Grund - aber fragt mich jetzt nicht, welchen genau :-D)
- U=2 ist der Fall, wenn es um UTM geht (was sich früher entscheidet - Quellcode dafür hier nicht angegeben)
- dann wird der Y-Wert auf seinen Mittelmeridian "umgefriemelt" (unter Berücksichtigung, ob GK-3°- oder 6°-Streifensystem oder UTM verwendet wird, was in W vermerkt ist)

usw. usw.

Einfach mal durchgucken - vll. wird's dann klar
(und welche die zuvor angesprochenen "Hammerformeln" sind wird dann sicher auch klar)...

Ach so, fast vergessen:
- A,B = große/kleine Halbachse des nötigen Ellipsoids (auch das hängt ja von GK oder UTM ab)
- E,F = 1./2. Exzentrizität(? - na ich glaub schon... :-|)


gesamter Thread:

 RSS-Feed dieser Diskussion