Ejemplo n.º 1
0
        /// <summary>
        /// 获取单条数据的某一角度信息
        /// </summary>
        /// <param name="angleInfo"></param>
        /// <param name="mark">角度标志位,0:太阳天顶角;1:卫星天顶角;2:相对方位角</param>
        /// <returns></returns>
        private Int16[] ExtractAngleInfo(byte[] angleInfo, int mark)
        {
            byte[]  angle  = new byte[2];
            Int16[] angles = new Int16[51];
            int     pt     = 0;
            int     maxi   = 2 * (mark + 1);

            for (int j = 0; j < 51; j++)
            {
                for (int i = (mark * 2); i < maxi; i++)
                {
                    angle[pt++] = angleInfo[i + 6 * j];
                }
                pt = 0;
                if (_isBigEndian)
                {
                    angles[j] = ToLocalEndian_Core.ToInt16FromBig(angle);
                }
                else
                {
                    angles[j] = ToLocalEndian_Core.ToInt16FromLittle(angle);
                }
            }
            return(angles);
        }
Ejemplo n.º 2
0
 public bool IsSupport(string fname, byte[] header1024, Dictionary <string, string> datasetNames)
 {
     if (ToLocalEndian_Core.ToInt16FromBig(new byte[] { header1024[10], header1024[11] }) != 22016 &&
         ToLocalEndian_Core.ToInt16FromLittle(new byte[] { header1024[10], header1024[11] }) != 22016)
     {
         return(false);
     }
     return(true);
 }