Size: 2082
Comment:
|
← Revision 6 as of 2008-04-28 14:10:54 ⇥
Size: 784
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
{{{#!python from scipy import * from numpy import * from pylab import * import Image |
Der Nordpol liegt bei der polarstereographischen Projektion im Ursprung (x=0km,y=0km). Bei einer Auflösung von 12,5 km hat das Bild 608 x 896 Koordinaten. Wenn der Nullpunkt des Bildes in der unteren linken Ecke angenommen wird, sind die Bildkoordinaten des Nordpols dann bei x=3850km/12,5km+0,5 =308,5 und y=5350km/12,5km+0,5=428,5. |
Line 9: | Line 6: |
def mapxy(x, y, sgn): cdr = 57.29577951 slat = 70.0 re = 6378.273 ec2 = .006693883 ec = sqrt(ec2) if sgn == 1: delta = 45.0 else: delta = 0.0 sl = slat * pi/180.0 rho = sqrt(x**2 + y**2) cm = cos(sl) / sqrt(1.0 - ec2 * (sin(sl)**2)) t = tan((pi / 4.0) - (sl / 2.0)) / ((1.0 - ec * sin(sl)) / (1.0 + ec * sin(sl)))**(ec / 2.0) if (absolute(slat-90.0) < 1.e-5): t = rho * sqrt((1. + ec)**(1. + ec) * (1. - ec)**(1. - ec)) / 2. / re else: t = rho * t / (re * cm) chi = (pi / 2.0) - 2.0 * arctan(t) alat = chi + ((ec2 / 2.0) + (5.0 * ec2**2.0 / 24.0) + (ec2**3.0 / 12.0)) * sin(2 * chi) + ((7.0 * ec2**2.0 / 48.0) + (29.0 * ec2**3 / 240.0)) *sin(4.0 * chi)+ (7.0 * ec2**3.0 / 120.0) * sin(6.0 * chi) alat = sgn * alat along = arctan2(sgn * x, -sgn * y) along = sgn * along |
|
Line 33: | Line 7: |
along = along * 180. / pi alat = alat * 180. / pi along = along - delta return [alat,along] |
Mit Hilfe der beiden gegebenen Funktionen kann man nun der beiden Eckpaare mit Hilfe der mapll-Funktion Koordinaten in Kilometern angeben: |
Line 38: | Line 9: |
def mapll(lat, lon,sgn): cdr = 57.29577951 slat = 70. re = 6378.273 ec2 = .006693883 ec = sqrt(ec2) if sgn == 1: delta = 45.0 else: delta = 0.0 latitude = absolute(lat) * pi/180. longitude = (lon + delta) * pi/180. t = tan(pi/4-latitude/2)/((1-ec*sin(latitude))/(1+ec*sin(latitude)))**(ec/2) if ((90-slat) < 1.e-5): rho = 2.*re*t/sqrt((1.+ec)**(1.+ec)*(1.-ec)**(1.-ec)) else: sl = slat*pi/180. tc = tan(pi/4.-sl/2.)/((1.-ec*sin(sl))/(1.+ec*sin(sl)))**(ec/2.) mc = cos(sl)/sqrt(1.0-ec2*(sin(sl)**2)) rho = re*mc*t/tc y=-rho*sgn*cos(sgn*longitude) x= rho*sgn*sin(sgn*longitude) return [x,y] |
{{{#!python |
Line 69: | Line 15: |
#print xpc1,ypc1,xpc2,ypc2 | shiftx=(xpc1-xpc2) #Eckpunkte x,y in [km] shifty=(ypc1-ypc2) #Eckpunkte x,y in [km] |
Line 71: | Line 18: |
shiftx=(xpc1-xpc2) #in [km] shifty=(ypc1-ypc2) #in [km] |
A=sqrt(shiftx**2+shifty**2) }}} |
Line 74: | Line 21: |
print shiftx,shifty }}} |
A gibt nun den Abstand der beiden Punkte aus: A=578.09 km |
Der Nordpol liegt bei der polarstereographischen Projektion im Ursprung (x=0km,y=0km). Bei einer Auflösung von 12,5 km hat das Bild 608 x 896 Koordinaten. Wenn der Nullpunkt des Bildes in der unteren linken Ecke angenommen wird, sind die Bildkoordinaten des Nordpols dann bei x=3850km/12,5km+0,5 =308,5 und y=5350km/12,5km+0,5=428,5.
Mit Hilfe der beiden gegebenen Funktionen kann man nun der beiden Eckpaare mit Hilfe der mapll-Funktion Koordinaten in Kilometern angeben:
A gibt nun den Abstand der beiden Punkte aus: A=578.09 km