public string getSpatialReferenceProjectName(ISpatialReference pSpatialReference)
        {
            string tpProjectName = "";

            if (pSpatialReference == null)
            {
                return("");
            }
            if (!(pSpatialReference is IProjectedCoordinateSystem))
            {
                return("");
            }
            IProjectedCoordinateSystem4GEN system3 = pSpatialReference as IProjectedCoordinateSystem4GEN;

            tpProjectName = system3.Name;

            return(tpProjectName);
        }
        public string getSpatialReferenceString(ISpatialReference pSpatialReference)
        {
            string SRText = "";
            double num2;

            if (pSpatialReference == null)
            {
                return("");
            }
            if (pSpatialReference is IGeographicCoordinateSystem)
            {
                IGeographicCoordinateSystem system = pSpatialReference as IGeographicCoordinateSystem;
                string text2 = "";
                text2 += "名称: " + system.Name + "\r\n";
                text2 += "别名: " + system.Alias + "\r\n";
                text2 += "缩略名: " + system.Abbreviation + "\r\n";                                 //get_Abbreviation()
                text2 += "说明:   " + system.Remarks + "\r\n";                                     //get_Remarks
                text2 += "角度单位:  " + system.CoordinateUnit.Name + "";                            //get_CoordinateUnit().get_Name()
                text2 += "(" + system.CoordinateUnit.RadiansPerUnit.ToString() + ")\r\n";        //get_CoordinateUnit().get_RadiansPerUnit().ToString()
                num2   = 1 / system.Datum.Spheroid.Flattening;                                   //get_Datum().get_Spheroid().get_Flattening()

                SRText += text2 + "本初子午线:" + system.PrimeMeridian.Name + " ";                    //get_PrimeMeridian().get_Name()
                SRText += "(" + system.PrimeMeridian.Longitude.ToString() + ")\r\n ";            //get_PrimeMeridian().get_Longitude().ToString()
                SRText += "(数据:      " + system.Datum.Name + "\r\n";                             //get_Datum().get_Name()
                SRText += "(  椭球体:    " + system.Datum.Spheroid.Name + "\r\n";                   //.get_Datum().get_Spheroid().get_Name()
                SRText += "(长半轴:    " + system.Datum.Spheroid.SemiMajorAxis.ToString() + "\r\n"; //get_Datum().get_Spheroid().get_SemiMajorAxis().ToString()
                SRText += "(短半轴:    " + system.Datum.Spheroid.SemiMinorAxis.ToString() + "\r\n"; //get_Datum().get_Spheroid().get_SemiMinorAxis().ToString()
                SRText += "扁率倒数:  " + num2.ToString();
                return(SRText);
            }
            if (!(pSpatialReference is IProjectedCoordinateSystem))
            {
                return("");
            }
            IProjectedCoordinateSystem4GEN system3 = pSpatialReference as IProjectedCoordinateSystem4GEN;
            IGeographicCoordinateSystem    system2 = system3.GeographicCoordinateSystem; //.get_GeographicCoordinateSystem();
            IProjection projection = system3.Projection;                                 //get_Projection();

            IParameter[] parameterArray = new IParameter[26];                            //0x1a
            system3.GetParameters(ref parameterArray);                                   //GetParameters(out parameterArray);
            string text4      = "";
            int    upperBound = parameterArray.GetUpperBound(0);

            for (int i = 0; i <= upperBound; i++)
            {
                if (parameterArray[i] != null)
                {
                    text4 += parameterArray[i].Name + ":" + parameterArray[i].Value.ToString() + "\r\n";
                }
            }
            string text3 = "";

            text3 += "名称:  " + system3.Name + "\r\n";
            text3 += "别名:  " + system3.Alias + "\r\n";
            text3 += "缩略名:" + system3.Abbreviation + "\r\n";                                 //get_Abbreviation()
            text3 += "说明:  " + system3.Remarks + "\r\n";                                     //get_Remarks()
            text3 += "投影:  " + system3.Projection.Name + "\r\n";                             //get_Projection().get_Name()
            text3 += "参数:\n  " + text4 + "\r\n";
            text3 += "线性单位:" + system3.CoordinateUnit.Name + "";                             //get_CoordinateUnit().get_Name()
            text3 += "(" + system3.CoordinateUnit.MetersPerUnit.ToString() + ")\r\n";        //get_CoordinateUnit().get_MetersPerUnit().ToString()
            text3 += "地理坐标系:\r\n" + "  名称:      " + system2.Name + "\r\n";                   //get_Name()
            text3 += "缩略名:    " + system2.Abbreviation + "\r\n";                             //get_Abbreviation()
            text3 += "说明:      " + system2.Remarks + "\r\n";                                 //get_Remarks()
            text3 += "角度单位:  " + system2.CoordinateUnit.Name + "";                           //get_CoordinateUnit().get_Name()
            text3 += "(" + system2.CoordinateUnit.RadiansPerUnit.ToString() + ")\r\n";       //get_CoordinateUnit().get_RadiansPerUnit().ToString()
            num2   = 1 / system2.Datum.Spheroid.Flattening;                                  //get_Datum().get_Spheroid().get_Flattening()

            SRText += text3 + "本初子午线:" + system2.PrimeMeridian.Name + " ";                   //get_PrimeMeridian().get_Name()
            SRText += "(" + system2.PrimeMeridian.Longitude.ToString() + ")\r\n";            //get_PrimeMeridian().get_Longitude().ToString()
            SRText += "数据:      " + system2.Datum.Name + "\r\n";                             //get_Datum().get_Name()
            SRText += "椭球体:    " + system2.Datum.Spheroid.Name + "\r\n";                     //get_Datum().get_Spheroid().get_Name()
            SRText += "长半轴:    " + system2.Datum.Spheroid.SemiMajorAxis.ToString() + "\r\n"; //get_Datum().get_Spheroid().get_SemiMajorAxis().ToString()
            SRText += "短半轴:    " + system2.Datum.Spheroid.SemiMinorAxis.ToString() + "\r\n"; //get_Datum().get_Spheroid().get_SemiMinorAxis().ToString()
            SRText += "扁率倒数:  " + num2.ToString();

            return(SRText);
        }