气象数据实时获取源码
2012年年底在TM网站上上线了《公众气象服务平台》这个系统,更多信息如下:
http://tm.arcgisonline.cn/2012/1224/536.html
该系统在数据处理的时候包括一系列自动化流程,数据的获取,配准,裁剪,入库等,并且被作为一个windows服务,无需人为干预,部分代码如下:
class GDBInput { #region 工作空间枚举类型 public enum GDBType { MDB = 1, SDE = 2, FGDB = 3, SHP = 4, RWS = 5 } #endregion #region 获取栅格数据,栅格目录,创建栅格数据集 /// <summary> /// 获取栅格数据 /// </summary> /// <param name="pWorkSpace"></param> /// <param name="RasterName"></param> /// <returns></returns> public IRasterDataset GetRasterDataset(IRasterWorkspace pWorkSpace, string RasterName) { if (pWorkSpace == null) return null; try { return pWorkSpace.OpenRasterDataset(RasterName); } catch { return null; } } /// <summary> /// 创建栅格数据集 /// </summary> /// <param name="pGDBType"></param> /// <param name="pPath"></param> /// <param name="pFileName"></param> /// <param name="pWidth"></param> /// <param name="pHeight"></param> /// <param name="pXCell"></param> /// <param name="pYCell"></param> /// <param name="pNumBand"></param> /// <returns></returns> public IRasterDataset CreateRasterDataset(GDBType pGDBType, string pPath, string pFileName, int pWidth, int pHeight, double pXCell, double pYCell, int pNumBand) { try { IRasterWorkspace2 pRWs = GetWorkspace(pPath, pGDBType) as IRasterWorkspace2; ISpatialReference sr = new UnknownCoordinateSystemClass(); IPoint rigin = new PointClass(); origin.PutCoords(0.0, 0.0); IRasterDataset rasterDataset = pRWs.CreateRasterDataset(pFileName, "TIFF", origin, pWidth, pHeight, pXCell, pYCell, pNumBand, rstPixelType.PT_UCHAR, sr, true); return rasterDataset; } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.Message); return null; } } public void Delele(IWorkspace pWs) { IEnumDataset pEnum = pWs.get_Datasets(esriDatasetType.esriDTAny); IDataset pDs = pEnum.Next(); while (pDs != null) { if (pDs.CanDelete()) pDs.Delete(); pEnum.Reset(); pDs = pEnum.Next(); } } /// <summary> /// 获取栅格目录 /// </summary> /// <param name="pWs"></param> /// <param name="pCatlogName"></param> /// <returns></returns> public IRasterCatalog GetCatlog(IWorkspace pWs, string pCatlogName) { IRasterWorkspaceEx pRsWx = pWs as IRasterWorkspaceEx; return pRsWx.OpenRasterCatalog(pCatlogName); }
浙公网安备 33010602011771号