///<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); }