private void LoadSubCatalogItems() { SpatialDatabaseConn conn = _tag as SpatialDatabaseConn; if (conn == null) { return; } //datasets ICatalogEntity[] datasets = conn.GetSpatialFeatureDatasets(); if (datasets != null && datasets.Length > 0) { foreach (SpatialFeatureDataset ds in datasets) { CatalogFeatureDataset dsIt = new CatalogFeatureDataset(ds.Name, ds, ds.Description); AddChild(dsIt); } } //fetclass ICatalogEntity[] fetclasses = conn.GetSpatialFeatureClasses(); if (fetclasses != null && fetclasses.Length > 0) { foreach (SpatialFeatureClass fetc in fetclasses) { CatalogFeatureClass fetcIt = new CatalogFeatureClass(fetc.Name, fetc, fetc.Description); AddChild(fetcIt); } } // Refresh(); }
public FetClassWriterDb(ICatalogItem locationItem) { if (locationItem is CatalogDatabaseConn) { _dbConn = DbConnectionFactory.CreateDbConnection(((locationItem as CatalogDatabaseConn).Tag as SpatialDatabaseConn).ConnectionString); } else if (locationItem is CatalogFeatureDataset) { CatalogFeatureDataset cfd = locationItem as CatalogFeatureDataset; SpatialFeatureDataset sfd = cfd.Tag as SpatialFeatureDataset; _dbConn = DbConnectionFactory.CreateDbConnection((sfd as CatalogEntityBase)._connString); _datasetId = sfd.Id; _dstSpatialRef = SpatialReferenceFactory.GetSpatialReferenceByWKT(sfd.SpatialRef, enumWKTSource.EsriPrjFile); } else { throw new NotSupportedException("类型为\"" + locationItem + "\"的位置暂不支持写。"); } _adapter = DiffDbAdapterFactory.GetDiffDbAdapter(_dbConn); _dbConn.Open(); }