///<summary>
 ///根据给定的数据集和投影参数,计算输出数据集的大小和仿射变换参数
 ///</summary>
 /// <param name="pSrcDS">源数据集</param>
 /// <param name="pszSrcWKT">源数据集坐标(WKT)描述,为NULL
 ///将从pSrcDS读出相应信息</param>
 /// <param name="pszDstWKT">目标数据集坐标(WKT)描述</param>
 /// <param name="iWidth">目标数据集宽度</param>
 /// <param name="iHeight">目标数据集高度</param>
 /// <param name="objAffine">仿射变换参数</param>
 public static void GetSuggestedOutput(EarthView.World.Spatial2D.Raster.RasterDataSet pSrcDS, byte[] pszSrcWKT, byte[] pszDstWKT, ref int iWidth, ref int iheight, ref EarthView.World.Spatial2D.Raster.AffineTransform objAffine)
 {
     EarthView_World_Spatial2D_Raster_CReprojectAlg_getSuggestedOutput_void_CRasterDataSet_ev_char_ev_char_ev_int32_ev_int32_CAffineTransform(object.Equals(pSrcDS, null) ? IntPtr.Zero : pSrcDS.NativeObject, pszSrcWKT, pszDstWKT, ref iWidth, ref iheight, object.Equals(objAffine, null) ? IntPtr.Zero : objAffine.NativeObject);
 }
                    ///<summary>
                    ///创建指定投影的数据集,只创建Tif格式的数据集
                    ///</summary>
                    /// <param name="pSrcDS">源数据集</param>
                    /// <param name="pszSrcWKT">源数据集坐标(WKT)描述,为NULL
                    ///将从pSrcDS读出相应信息</param>
                    /// <param name="pszDstWKT">目标数据集坐标(WKT)描述</param>
                    /// <param name="pszDstFilePath">目标数据集所在位置,为NULL创建虚拟数据集</param>
                    /// <param name="iWidth">目标数据集宽度,为0时用源图像对应的宽度</param>
                    /// <param name="iHeight">目标数据集高度,为0时用源图像对应的高度</param>
                    /// <param name="pAffine">仿射变换参数,为NULL时用源图像对应的参数,必须与width跟hieght
                    ///相适应</param>
                    public static EarthView.World.Spatial2D.Raster.RasterDataSet CreateDatasetForProj(EarthView.World.Spatial2D.Raster.RasterDataSet pSrcDS, byte[] pszSrcWKT, byte[] pszDstWKT, byte[] pszDstFilePath, int iWidth, int iHeight, EarthView.World.Spatial2D.Raster.AffineTransform pAffine)
                    {
                        IntPtr __ptr = EarthView_World_Spatial2D_Raster_CReprojectAlg_createDatasetForProj_CRasterDataSet_CRasterDataSet_ev_char_ev_char_ev_char_ev_int32_ev_int32_CAffineTransform(object.Equals(pSrcDS, null) ? IntPtr.Zero : pSrcDS.NativeObject, pszSrcWKT, pszDstWKT, pszDstFilePath, iWidth, iHeight, object.Equals(pAffine, null) ? IntPtr.Zero : pAffine.NativeObject);

                        if (__ptr == IntPtr.Zero)
                        {
                            return(null);
                        }
                        EarthView.World.Spatial2D.Raster.RasterDataSet csObj = new EarthView.World.Spatial2D.Raster.RasterDataSet(CreatedWhenConstruct.CWC_NotToCreate);
                        csObj.BindNativeObject(__ptr, "CRasterDataSet");
                        IClassFactory csObjClassFactory = GlobalClassFactoryMap.Get(csObj.GetCppInstanceTypeName());

                        if (csObjClassFactory != null)
                        {
                            csObj.Delegate = true;
                            csObj          = csObjClassFactory.Create() as EarthView.World.Spatial2D.Raster.RasterDataSet;
                            csObj.BindNativeObject(__ptr, "CRasterDataSet");
                        }
                        return(csObj);
                    }