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();
        }
Beispiel #2
0
 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();
 }