GPS卫星位置的计算(C 程序计算)
GPS卫星的坐标计算

GPS卫星的坐标计算第三章GPS 卫星的坐标计算在⽤GPS 信号进⾏导航定位以及制订观测计划时,都必须已知GPS 卫星在空间的瞬间位置。
卫星位置的计算是根据卫星导航电⽂所提供的轨道参数按⼀定的公式计算的。
3.1卫星运动的轨道参数3.1.1基本概念 1.作⽤在卫星上⼒卫星受的作⽤⼒主要有:地球对卫星的引⼒,太阳、⽉亮对卫星的引⼒,⼤⽓阻⼒,⼤⽓光压,地球潮汐⼒等。
中⼼⼒:假设地球为匀质球体的引⼒(质量集中于球体的中⼼),即地球的中⼼引⼒,它决定卫星运动的基本规律和特征,决定卫星轨道,是分析卫星实际轨道的基础。
此种理想状态时卫星的运动称为⽆摄运动,卫星的轨道称为⽆摄轨道。
摄动⼒:也称⾮中⼼⼒,包括地球⾮球形对称的作⽤⼒、⽇⽉引⼒、⼤⽓阻⼒、⼤⽓光压、地球潮汐⼒等。
摄动⼒使卫星运动产⽣⼀些⼩的附加变化⽽偏离理想轨道,同时这种偏离量的⼤⼩随时间⽽改变。
此种状态时卫星的运动称为受摄运动,卫星的轨道称为受摄轨道。
虽然作⽤在卫星上的⼒很多,但这些⼒的⼤⼩却相差很悬殊。
如果将地球引⼒当作1的话,其它作⽤⼒均⼩于10-5。
2.⼆体问题研究两个质点在万有引⼒作⽤下的运动规律问题称为⼆体问题。
3.卫星轨道和卫星轨道参数卫星在空间运⾏的轨迹称为卫星轨道。
描述卫星轨道状态和位置的参数称为轨道参数。
3.1.2卫星运动的开普勒定律(1)开普勒第⼀定律卫星运⾏的轨道为⼀椭圆,该椭圆的⼀个焦点与地球质⼼重合。
此定律阐明了卫星运⾏轨道的基本形态及其与地⼼的关系。
由万有引⼒定律可得卫星绕地球质⼼运动的轨道⽅程。
r 为卫星的地⼼距离,as 为开普勒椭圆的长半径,es 为开普勒椭圆的偏⼼率;fs 为真近点⾓,它描述了任意时刻卫星在轨道上相对近地点的位置,是时间的函数。
(2)开普勒第⼆定律卫星的地⼼向径在单位时间内所扫过的⾯积相等。
表明卫星在椭圆轨道上的运⾏速度是不断变化的,在近地点处速度最⼤,在远地点处速度最⼩。
近地点远地点ss s s f e e a r cos 1)1(2+-=(3卫星运⾏周期的平⽅与轨道椭圆长半径的⽴⽅之⽐为⼀常量,等于GM 的倒数。
GPS卫星坐标计算

GPS卫星坐标计算GPS(全球定位系统)是一种通过地球上的卫星提供位置和时间信息的导航系统。
GPS卫星坐标计算是指根据接收到的卫星信号来确定观测站位于球面上的位置。
GPS系统是由一组位于中轨道上的卫星组成,它们每天绕地球运行两次,以提供全球的覆盖范围。
每个卫星都携带有高精度的原子钟,用来产生精确的时间信号。
GPS接收机位于地面上,它接收到来自多颗卫星的信号,并测量信号的到达时间和卫星位置。
经过计算,接收机可以确定自身的空间坐标。
计算GPS卫星坐标的过程可以分为以下几个步骤:1.接收卫星信号:GPS接收机通过天线接收到来自多颗卫星的信号。
2.测量信号到达时间:接收机测量每个信号的到达时间,这需要精确的时钟。
由于GPS接收机一般没有原子钟那样的高精度时钟,所以需要利用接收到的卫星信号来校准本地时钟。
3.计算卫星位置:GPS接收机需要知道每颗卫星在接收时间点的准确位置。
每颗卫星通过广播自身的位置和时间信息,接收机可以根据接收到的信号来计算卫星的位置。
4.求解距离:接收机通过测量信号到达时间和卫星位置计算出距离。
由于信号的传播速度是已知的大约是光速,我们可以根据距离和到达时间计算出信号的传播时间。
5.根据接收到的信号来计算自身的位置。
接收机通过多个卫星信号的距离来确定自身的位置,这涉及到多种解算方法,例如最小二乘估计等。
接收机需要至少接收到四颗卫星的信号来解算自身的位置。
这些步骤涉及到大量的数学和物理计算,例如测量时间、测量距离、计算坐标等。
为了提高计算的精度,还需要考虑一些因素,例如信号传播时的大气延迟等。
总的来说,GPS卫星坐标计算是一项复杂而精确的工程,涉及到多个步骤和数学模型。
随着技术的不断进步,GPS定位的精度和可靠性也在不断提高,为导航、地球科学等领域的应用提供了重要的支持。
GPS卫星定位坐标计算及程序设计

GPS卫星定位坐标计算及程序设计GPS卫星定位是一种利用全球定位系统(GPS)卫星接收并处理信息来确定位置的技术。
它使用三个或更多GPS卫星的信号来计算接收器的位置。
GPS卫星发送包括时间和位置信息的无线电信号,接收器接收这些信号并通过计算信号的传播时间,确定接收器所在的位置。
GPS坐标系统使用经度和纬度来表示地理位置。
经度是指地球上其中一点距离本初子午线(格林尼治子午线)的角度,取值范围为0-180度,东经为正,西经为负。
纬度是指地球上其中一点距离赤道的角度,取值范围为0-90度,北纬为正,南纬为负。
通过计算GPS卫星的信号传播时间,我们可以确定接收器所在位置的经度和纬度,并将其表示为GPS坐标。
要进行GPS卫星定位坐标计算,可以按照以下步骤进行:1.获取GPS卫星信号:使用GPS接收器接收GPS卫星发送的信号。
每个GPS接收器一般都能接收多达24颗卫星的信号。
2.计算信号传播时间:通过记录信号发送和接收的时间差,可以计算出信号从卫星到达接收器的传播时间。
由于信号的传播速度是已知的(约为300,000公里/秒),可以根据传播时间计算出信号传播的距离。
3.确定卫星位置:由于我们知道每个GPS卫星的位置信息,可以根据信号传播距离计算出接收器和每个卫星之间的距离差。
通过多个卫星的距离差,可以确定接收器所在的位置。
4.计算经度和纬度:使用三角函数和数学模型,通过接收器和卫星之间的距离差,可以计算出接收器的经度和纬度。
5.显示位置信息:将计算得到的经度和纬度转换为可读的格式,并显示在GPS接收器或其他设备上。
1.数据传输:首先需要确保GPS接收器能够接收和传输卫星信号的数据。
可以使用串行通信接口(如RS-232)或USB接口,将接收器与计算机或其他设备连接起来。
2.数据接收和处理:编写程序来读取接收器传输的信号数据,包括卫星信号的传播时间、卫星位置信息等。
根据所选的编程语言和平台,可以使用相应的库和函数来实现数据读取和处理的功能。
GPS定位原理和简单公式

GPS定位原理和简单公式GPS是全球定位系统的缩写,是一种通过卫星系统来测量和确定地球上的物体位置的技术。
它利用一组卫星围绕地球轨道运行,通过接收来自卫星的信号来确定接收器(GPS设备)的位置、速度和时间等信息。
GPS定位原理基于三角测量原理和时间测量原理。
1.三角测量原理:GPS定位主要是通过测量接收器与卫星之间的距离来确定接收器的位置。
GPS接收器接收到至少4颗卫星的信号,通过测量信号的传播时间得知信号的传播距离,进而利用三角测量原理计算出接收器的位置。
2.时间测量原理:GPS系统中的每颗卫星都具有一个高精度的原子钟,接收器通过接收卫星信号中的时间信息,利用接收时间和发送时间之间的差值,计算出信号传播的时间,从而进一步计算出接收器与卫星之间的距离。
简单的GPS定位公式:1.距离计算公式:GPS接收器与卫星之间的距离可以通过测量信号传播时间得到。
假设接收器与卫星之间的距离为r,光速为c,传播时间为t,则有r=c×t。
2.三角测量公式:GPS定位是通过测量与至少4颗卫星的距离,来计算接收器的位置。
设接收器的位置为(x,y,z),卫星的位置为(x_i,y_i,z_i),与卫星的距离为r_i,根据三角测量原理,可得到以下方程:(x-x_1)^2+(y-y_1)^2+(z-z_1)^2=r_1^2(x-x_2)^2+(y-y_2)^2+(z-z_2)^2=r_2^2...(x-x_n)^2+(y-y_n)^2+(z-z_n)^2=r_n^2这是一个非线性方程组,可以通过迭代方法求解,求得接收器的位置。
3.定位算法:GPS定位一般使用最小二乘法来进行计算。
最小二乘法是一种数学优化方法,用于最小化误差的平方和。
在GPS定位中,通过最小化测量距离与计算距离之间的差值的平方和,来确定接收器的位置。
总结:GPS定位原理基于三角测量和时间测量原理,通过测量接收器与卫星之间的距离,利用三角测量公式和最小二乘法来计算接收器的位置。
GPS卫星位置的计算(C++程序计算)

GPS卫星位置的计算利用C++编写了一段能计算单一瞬时卫星坐标的程序,在运行程序之前,需做部分准备工作:(1)在F盘下建立一名为“单一卫星广播星历”的txt文件。
(2)从“广播星历.txt”文件中拷贝从卫星PRN号开始的8行数据到“单一卫星广播星历.txt”中(3)在编辑选项中,将全部的“D”替换为“E”。
下面为我所选取的一个广播星历:18 06 8 25 6 0 0.0-2.472363412380E-04-1.023*********E-12 0.000000000000E+001.410000000000E+02-1.721875000000E+01 4.502687555010E-09 1.413760604187E+00-7.990747690201E-07 7.598234573379E-03 1.118145883083E-05 5.153709835052E+034.536000000000E+05-1.303851604462E-08-1.095067942661E-01 1.527369022369E-079.571235745530E-01 1.640000000000E+02-2.656176299285E+00-8.0374********E-09-5.193073455211E-10 1.000000000000E+00 1.389000000000E+03 0.000000000000E+002.000000000000E+00 0.000000000000E+00-1.024*********E-08 1.410000000000E+024.464490000000E+05 4.000000000000E+00程序设计部分:#include<stdio.h>#include<math.h>int main(){int i = 0;double n[50], n0, nn, t, tk, Mk, Ek, Vk, Yk, Gu, Gr, Gi, uk, rk, ik, xk, yk, zk, X, Y, Z, Lk, UT, yy, mm, JD, gpsz;FILE *fp;fp = fopen("F:\\单一卫星广播星历.txt", "r");if (fp == NULL){printf ("文件打开失败!\n");return 0;}while (! feof (fp)){fscanf(fp, "%lf", &n[i]);i++;}n0 = (sqrt(3986005E+8))/pow(n[17], 3);nn = n0 + n[12];/*计算卫星运行的平均角速度*/UT = n[4] + (n[5] / 60) + (n[7] / 3600);/*民用日的时分秒化为实数时*/if (n[1] >= 80)/*广播星历中年只有后两位,化为4位,参考1980年1月6日0点*/ {if (n[1] == 80 && n[2] == 1 && n[3] < 6){n[1] = n[1] + 2000;}n[1] = n[1] + 1900;}else{n[1] = n[1] + 2000;}if (n[2] <= 2){yy = n[1] - 1;mm = n[2] + 12;}if (n[2] > 2){yy = n[1];mm = n[2];}JD = (int)(365.25 * yy) + (int)(30.6001 * (mm + 1)) + n[3] + (UT / 24) + 1720981.5;/*化为儒略日*/gpsz = (int)((JD - 2444244.5) / 7);/*计算GPS周*/t = (JD - 2444244.5 - 7 * gpsz) * 24 * 3600;/*得出GPS秒*/tk = t - n[18];/*tk1为中间值,用以判断tk与正负302400的关系,然后返回到tk上*/ while (tk > 302400 || tk < -302400){if (tk > 302400){tk = tk - 604800;}else{tk = tk + 604800;}}/*计算归化观测时间*/Mk = n[13] + nn * tk;/*观测时刻的卫星平近点角*/Ek = Mk;Ek = Mk + n[15] * sin(Ek);Ek = Mk + n[15] * sin(Ek);/*迭代两次计算观测时刻的偏近点角*/Vk = atan(sqrt(1 - n[15] * n[15]) * sin(Ek)) / (cos(Ek) - n[15]);/*真近点角*/Yk = Vk + n[24];/*升交距角*/Gu = n[14] * cos(2 * Yk) + n[16] * sin(2 * Yk);Gr = n[23] * cos(2 * Yk) + n[11] * sin(2 * Yk);Gi = n[19] * cos(2 * Yk) + n[21] * sin(2 * Yk);/*摄动改正项*/uk = Yk + Gu;rk = n[17] * n[17] * (1 - n[15] * cos(Ek)) + Gr;ik = n[22] + Gi + n[26] * tk;/*经摄动改正后的升交距角、卫星矢径、轨道倾角*/xk = rk * cos(uk);yk = rk * sin(uk);zk = 0;/*卫星在轨道坐标系的坐标*/Lk = n[20] + (n[25] - 7.29211515E-5) * tk - 7.29211515E-5 * n[18];/*观测时刻t的升交点经度*/X = xk * cos(Lk) - yk * cos(ik) * sin(Lk);Y = xk * sin(Lk) + yk * cos(ik) * cos(Lk);Z = yk * sin(ik);/*卫星在WGS-84坐标系的坐标*/printf("该卫星在WGS-84坐标系中的坐标为:\nX = %lf m\nY = %lf m\nZ = %lf m\n", X, Y, Z);fclose(fp);return 0;}计算结果:该卫星在WGS-84坐标系中的坐标为:X = 9223153.692525 mY = 24133486.931401 mZ = 6032585.919385 m。
C语言计算GPS卫星位置

C语言计算GPS卫星位置GPS(全球定位系统)是一种利用卫星定位来确定全球地理位置的技术。
GPS系统由一组卫星和地面接收器组成,可以帮助我们在地球上的任何位置确定自己的准确位置。
在C语言中,我们可以利用一些数学和物理公式来计算GPS卫星位置。
首先,我们需要了解GPS系统的原理。
GPS卫星运行在地球轨道上,同时向地球发送信号。
地面接收器接收到卫星发出的信号,并通过计算信号的距离和时间来确定自身的位置。
计算GPS卫星位置的关键是测量信号的传播时间。
当接收器接收到来自至少4个不同卫星的信号时,我们可以使用以下公式来计算GPS卫星的位置:速度=距离/时间由于信号的传播速度恒定(大约为光速),我们可以知道信号的传播时间等于距离与速度的比。
在C语言中,我们可以使用以下代码计算GPS卫星的位置:```c#include <stdio.h>#include <math.h>typedef structdouble x;double y;double z;} Point3D;Point3D calculateSatellitePosition(double distance, double latitude, double longitude, double altitude)Point3D position;position.x = (altitude + distance) * cos(E) * cos(longitude);position.y = (altitude + distance) * cos(E) * sin(longitude);return position;int maidouble latitude = 37.7749; // 纬度(假设)double longitude = -122.4194; // 经度(假设)double altitude = 0.0; // 海拔(假设)Point3D satellitePosition =calculateSatellitePosition(distance, latitude, longitude, altitude);printf("GPS卫星位置:(x=%.2f, y=%.2f, z=%.2f)\n", satellitePosition.x, satellitePosition.y, satellitePosition.z);return 0;```在这段代码中,我们首先定义了光速的常量。
gps卫星坐标计算

#gps卫星坐标计算1. 引言GPS(Global Positioning System)是一种全球定位系统,通过卫星与接收设备之间的通信,来定位和导航。
GPS定位技术被广泛应用于导航、地图制作、军事、航空航天、交通运输等领域。
在GPS中,卫星坐标计算是其中一个关键的过程,本文将介绍GPS卫星坐标计算的原理和方法。
2. 基本原理GPS系统由一组卫星和地面接收设备组成。
卫星通过无线电信号向接收设备发送原始观测数据,接收设备利用这些数据计算出卫星的位置和接收设备与卫星之间的距离。
卫星的位置信息通常使用WGS84坐标系表示,而接收设备的坐标则以地理坐标系表示。
3. GPS卫星坐标计算的方法3.1. 周向角和小仰角GPS接收设备通过接收到的卫星信号的时间差来计算卫星与接收设备之间的距离。
然而,由于接收设备无法准确地获取到卫星的时钟信号,导致测距的精度受到了影响。
为了解决这个问题,需要知道卫星的精确位置,即GPS卫星的周向角和小仰角。
周向角是指卫星相对于接收设备的方位角,用于确定卫星在水平平面上的位置。
小仰角是指卫星相对于接收设备的仰角,用于确定卫星在垂直平面上的位置。
3.2. 观测数据处理GPS接收设备通过接收到的卫星信号的时间差计算出卫星与接收设备之间的伪距(Pseudorange)。
为了提高伪距计算的准确性,还需要考虑一些误差因素,如大气延迟、钟差等。
大气延迟是由于电磁波在穿过大气层时受到折射的影响而产生的误差。
为了降低大气延迟的影响,常常使用双差处理方法,在两个接收设备之间进行观测数据的差分运算。
钟差是卫星与接收设备之间的时钟信号误差,由于接收设备无法准确地获取到卫星的时钟信号而产生。
为了纠正钟差误差,需要使用星间差分技术,利用多个卫星之间的差分来计算出钟差。
3.3. 坐标计算通过观测数据处理后,可以得到卫星与接收设备之间的伪距数据。
利用这些伪距数据,可以使用三角测量方法计算出卫星的精确位置。
三角测量方法是一种常用的测量技术,可以通过测量三个非共线的点之间的距离和角度来确定这三个点的坐标。
GPS卫星坐标计算

GPS卫星坐标计算
GPS系统由全球定位系统(GPS)组成,包括24颗运行在近地轨道上的
人造卫星,地面控制台和GPS接收器。
这些卫星以精确的轨道方式固定的
环绕着地球,它们通过无线电波将时间和位置信息传输到地面的GPS接收器。
具体步骤如下:
1.接收卫星信号:GPS接收器会接收到至少4颗卫星发出的信号。
这
些信号包括卫星的位置信息、时间戳和卫星信号的延迟。
2.计算信号传播时间差:接收器通过比较接收到的卫星信号和接收器
内部的原子钟产生的时间信号之间的差异,计算出信号传播的时间差。
3.确定接收器与卫星的距离:通过信号传播时间差和光速
(299,792,458米/秒),可以计算出接收器与卫星之间的距离。
公式为:距离=时间差x光速。
4.计算接收器的位置:通过接收到的至少4个卫星的距离信息,可以
计算出接收器相对于卫星的位置。
每个卫星会提供一个球面坐标,通过这
些球面坐标的交点,可以确定接收器的位置。
5.校准接收器的时间:接收器内部的原子钟会有一定的误差,因此需
要通过接收到的卫星信号的时间戳来校准接收器的时间。
6.确定地球的形状和尺寸:GPS系统还会考虑地球的形状和尺寸,以
便更精确地确定接收器的位置。
通过考虑地球的椭球形状、重力场和大气
层对卫星信号的影响,可以提高GPS定位的精确度。
总结起来,GPS卫星坐标计算的过程涉及接收卫星信号、计算信号传播时间差、确定接收器与卫星的距离、计算接收器的位置、校准接收器的时间以及考虑地球的形状和尺寸等步骤。
通过这些计算,可以精确测量地球上其中一点的位置坐标。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
return 0; } while (! feof (fp)) {
fscanf(fp, "%lf", &n[i]); i++; } n0 = (sqrt(3986005E+8))/pow(n[17], 3); nn = n0 + n[12];/*计算卫星运行的平均角速度*/ UT = n[4] + (n[5] / 60) + (n[7] / 3600);/*民用日的时分秒化为实数时*/
4.536000000000E+05-1.303851604462E-08-1.095067942661E-01 1.527369022369E-07 9.571235745530E-01 1.640000000000E+02-2.656176299285E+00-8.037477650349E-09 -5.193073455211E-10 1.000000000000E+00 1.389000000000E+03 0.000000000000E+00 2.000000000000E+00 0.000000000000E+00-1.024454832077E-08 1.410000000000E+02 4.464490000000E+05 4.000000000000E+00
1.410000000000E+02-1.721875000000E+01 4.502687555010E-09 1.413760604187E+00 -7.990747690201E-07 7.598234573379E-03 1.118145883083E-05 5.153709835052E+03
Gu = n[14] * cos(2 * Yk) + n[16] * sin(2 * Yk); Gr = n[23] * cos(2 * Yk) + n[11] * sin(2 * Yk); Gi = n[19] * cos(2 * Yk) + n[21] * sin(2 * Yk);/*摄动改正项*/ uk = Yk + Gu; rk = n[17] * n[17] * (1 - n[15] * cos(Ek)) + Gr; ik = n[22] + Gi + n[26] * tk;/*经摄动改正后的升交距角、卫星矢径、轨道倾角*/ xk = rk * cos(uk); yk = rk * sin(uk); zk = 0;/*卫星在轨道坐标系的坐标*/ Lk = n[20] + (n[25] - 7.29211515E-5) * tk - 7.29211515E-5 * n[18];/*观测时刻 t 的升交点 经度*/ X = xk * cos(Lk) - yk * cos(ik) * sin(Lk); Y = xk * sin(Lk) + yk * cos(ik) * cos(Lk); Z = yk * sin(ik);/*卫星在 WGS-84 坐标系的坐标*/ printf("该卫星在 WGS-84 坐标系中的坐标为:\nX = %lf m\nY = %lf m\nZ = %lf m\n", X, Y, Z); fclose(fp);
tk = tk - 604800; } else {
tk = tk + 604800; } }/*计算归化观测时间*/ Mk = n[13] + nn * tk;/*观测时刻的卫星平近点角*/ Ek = Mk; Ek = Mk + n[15] * sin(Ek); Ek = Mk + n[15] * sin(Ek);/*迭代两次计算观测时刻的偏近点角*/ Vk = atan(sqrt(1 - n[15] * n[15]) * sin(Ek)) / (cos(Ek) - n[15]);/*真近点角*/ Yk = Vk + n[24];/*升交距角*/
程序设计部分:
#include<stdio.h> #include<math.h>
int main() {
int i = 0; double n[50], n0, nn, t, tk, Mk, Ek, Vk, Yk, Gu, Gr, Gi, uk, rk, ik, xk, yk, zk, X, Y, Z, Lk, UT, yy, mm, JD, gpsz; FILE *fp; fp = fopen("F:\\单一卫星广播星历.txt", "r"); if (fp == NULL) {
if (n[1] >= 80)/*广播星历中年只有后两位,化为 4 位,参考 1980 年 1 月 6 日 0 点*/ {
if (n[1] == 80 && n[2] == 1 && n[3] < 6) {
n[1] = n[1] + 2000; } n[1] = n[1] + 1900; } else { n[1] = n[1] + 2000; } if (n[2] &l= n[2] + 12; } if (n[2] > 2) { yy = n[1]; mm = n[2]; } JD = (int)(365.25 * yy) + (int)(30.6001 * (mm + 1)) + n[3] + (UT / 24) + 1720981.5;/*化为 儒略日*/ gpsz = (int)((JD - 2444244.5) / 7);/*计算 GPS 周*/ t = (JD - 2444244.5 - 7 * gpsz) * 24 * 3600;/*得出 GPS 秒*/ tk = t - n[18];/*tk1 为中间值,用以判断 tk 与正负 302400 的关系,然后返回到 tk 上*/ while (tk > 302400 || tk < -302400) { if (tk > 302400) {
return 0; }
计算结果:
该卫星在 WGS-84 坐标系中的坐标为: X = 9223153.692525 m Y = 24133486.931401 m Z = 6032585.919385 m
GPS 卫星位置的计算
利用 C++编写了一段能计算单一瞬时卫星坐标的程序,在运行程序之前,需做部分准备工作: (1)在 F 盘下建立一名为“单一卫星广播星历”的 txt 文件。 (2)从“广播星历.txt”文件中拷贝从卫星 PRN 号开始的 8 行数据到“单一卫星广播星历.txt” 中 (3)在编辑选项中,将全部的“D”替换为“E”。 下面为我所选取的一个广播星历: 18 06 8 25 6 0 0.0-2.472363412380E-04-1.023181539495E-12 0.000000000000E+00