///<summary>
                    ///根据常见的坐标系统枚举 创建常见地理坐标系统
                    ///</summary>
                    /// <param name="eWellKnownCS">EarthView::World::Spatial::Utility::EVWellKnownGeoCSType常见地理坐标系统枚举</param>
                    /// <returns>EarthView::World::Spatial::Utility::CSpatialReference*空间参考指针</returns>
                    public static EarthView.World.Spatial.Utility.SpatialReference CreateCoordSys(EarthView.World.Spatial.Utility.EVWELLKNOWNGEOCSTYPE eWellKnownCS)
                    {
                        IntPtr __ptr = EarthView_World_Spatial_Utility_CCoordinateSystemFactory_createCoordSys_CSpatialReference_EVWellKnownGeoCSType(eWellKnownCS);

                        if (__ptr == IntPtr.Zero)
                        {
                            return(null);
                        }
                        EarthView.World.Spatial.Utility.SpatialReference csObj = new EarthView.World.Spatial.Utility.SpatialReference(CreatedWhenConstruct.CWC_NotToCreate);
                        csObj.BindNativeObject(__ptr, "CSpatialReference");
                        csObj.Delegate = true;
                        IClassFactory csObjClassFactory = GlobalClassFactoryMap.Get(csObj.GetCppInstanceTypeName());

                        if (csObjClassFactory != null)
                        {
                            csObj.Delegate = true;
                            csObj          = csObjClassFactory.Create() as EarthView.World.Spatial.Utility.SpatialReference;
                            csObj.BindNativeObject(__ptr, "CSpatialReference");
                            csObj.Delegate = true;
                        }
                        return(csObj);
                    }
                    ///<summary>
                    ///根据给定格式的投影参考文本 创建相应的坐标系统
                    ///</summary>
                    /// <param name="eStrType">EVSpatialReferenceStrTypes文本格式</param>
                    /// <param name="strReference">空间参考的字符串描述</param>
                    /// <returns>EarthView::World::Spatial::Utility::CSpatialReference*空间参考指针</returns>
                    public static EarthView.World.Spatial.Utility.SpatialReference CreateCoordSys(EarthView.World.Spatial.Utility.EVSPATIALREFERENCESTRINGTYPE eStrType, string pszReference)
                    {
                        IntPtr __ptr = EarthView_World_Spatial_Utility_CCoordinateSystemFactory_createCoordSys_CSpatialReference_EVSpatialReferenceStringType_EVString(eStrType, pszReference);

                        if (__ptr == IntPtr.Zero)
                        {
                            return(null);
                        }
                        EarthView.World.Spatial.Utility.SpatialReference csObj = new EarthView.World.Spatial.Utility.SpatialReference(CreatedWhenConstruct.CWC_NotToCreate);
                        csObj.BindNativeObject(__ptr, "CSpatialReference");
                        csObj.Delegate = true;
                        IClassFactory csObjClassFactory = GlobalClassFactoryMap.Get(csObj.GetCppInstanceTypeName());

                        if (csObjClassFactory != null)
                        {
                            csObj.Delegate = true;
                            csObj          = csObjClassFactory.Create() as EarthView.World.Spatial.Utility.SpatialReference;
                            csObj.BindNativeObject(__ptr, "CSpatialReference");
                            csObj.Delegate = true;
                        }
                        return(csObj);
                    }
                    ///<summary>
                    ///从流创建一个坐标参考系统
                    ///</summary>
                    /// <param name="objStream">流</param>
                    /// <returns>EarthView::World::Spatial::Utility::CSpatialReference*从流创建指针</returns>
                    public static EarthView.World.Spatial.Utility.SpatialReference CreateCoordSys(ref EarthView.World.Core.DataStream objStream)
                    {
                        IntPtr __ptr = EarthView_World_Spatial_Utility_CCoordinateSystemFactory_createCoordSys_CSpatialReference_CDataStream(object.Equals(objStream, null) ? IntPtr.Zero : objStream.NativeObject);

                        if (__ptr == IntPtr.Zero)
                        {
                            return(null);
                        }
                        EarthView.World.Spatial.Utility.SpatialReference csObj = new EarthView.World.Spatial.Utility.SpatialReference(CreatedWhenConstruct.CWC_NotToCreate);
                        csObj.BindNativeObject(__ptr, "CSpatialReference");
                        csObj.Delegate = true;
                        IClassFactory csObjClassFactory = GlobalClassFactoryMap.Get(csObj.GetCppInstanceTypeName());

                        if (csObjClassFactory != null)
                        {
                            csObj.Delegate = true;
                            csObj          = csObjClassFactory.Create() as EarthView.World.Spatial.Utility.SpatialReference;
                            csObj.BindNativeObject(__ptr, "CSpatialReference");
                            csObj.Delegate = true;
                        }
                        return(csObj);
                    }
                    ///<summary>
                    ///根据给定椭球体和投影参数 创建坐标系统 如果pObjProjParameter = NULL则
                    ///创建地理坐标系统 否则创建投影坐标系统
                    ///</summary>
                    /// <param name="pobjEllipseSphere">CEllipseShpere指针</param>
                    /// <param name="pObjProjParameter">EarthView::World::Spatial::Utility::CProjParameter指针,为NULL时表示创建地理坐标系统</param>
                    /// <returns>EarthView::World::Spatial::Utility::CSpatialReference*空间参考指针</returns>
                    public static EarthView.World.Spatial.Utility.SpatialReference CreateCoordSys(EarthView.World.Spatial.Geometry.Iellipsespheriod pobjEllipseSphere, EarthView.World.Spatial.Utility.ProjParameter pObjProjParameter)
                    {
                        IntPtr __ptr = EarthView_World_Spatial_Utility_CCoordinateSystemFactory_createCoordSys_CSpatialReference_IEllipseSpheriod_CProjParameter(object.Equals(pobjEllipseSphere, null) ? IntPtr.Zero : pobjEllipseSphere.NativeObject, object.Equals(pObjProjParameter, null) ? IntPtr.Zero : pObjProjParameter.NativeObject);

                        if (__ptr == IntPtr.Zero)
                        {
                            return(null);
                        }
                        EarthView.World.Spatial.Utility.SpatialReference csObj = new EarthView.World.Spatial.Utility.SpatialReference(CreatedWhenConstruct.CWC_NotToCreate);
                        csObj.BindNativeObject(__ptr, "CSpatialReference");
                        csObj.Delegate = true;
                        IClassFactory csObjClassFactory = GlobalClassFactoryMap.Get(csObj.GetCppInstanceTypeName());

                        if (csObjClassFactory != null)
                        {
                            csObj.Delegate = true;
                            csObj          = csObjClassFactory.Create() as EarthView.World.Spatial.Utility.SpatialReference;
                            csObj.BindNativeObject(__ptr, "CSpatialReference");
                            csObj.Delegate = true;
                        }
                        return(csObj);
                    }