static bool CalculateExtent(IFeatureDataset ds) { Console.WriteLine("\nCalculete new Extent"); AccessFDB fdb = ds.Database as AccessFDB; if (fdb != null) { IFeatureClass fc = fdb.GetFeatureclass(ds.DatasetName, ds.DatasetName + "_IMAGE_POLYGONS"); fdb.CalculateExtent(fc); //fdb.ShrinkSpatialIndex(ds.DatasetName + "_IMAGE_POLYGONS"); //fdb.RebuildSpatialIndex(ds.DatasetName + "_IMAGE_POLYGONS"); } return(true); }
static void Truncate(IFeatureDataset ds, string fcname) { if (!((AccessFDB)ds.Database).TruncateTable(fcname)) { Console.WriteLine("Error: " + ds.lastErrorMsg); } AccessFDB fdb = ds.Database as AccessFDB; if (fdb != null) { IFeatureClass fc = fdb.GetFeatureclass(ds.DatasetName, ds.DatasetName + "_IMAGE_POLYGONS"); fdb.CalculateExtent(fc); //fdb.RebuildSpatialIndex(ds.DatasetName + "_IMAGE_POLYGONS"); } }
async private Task Import(object arg) { if (!(arg is ImportArguments)) { return; } ImportArguments args = (ImportArguments)arg; await Task.Delay(300); // open reporter UI... bool succeeded = true; foreach (string filename in args.Data) { succeeded = await args.Operator.Import(filename, args.Providers); if (!succeeded) { break; } } AccessFDB fdb = args.dataset.Database as AccessFDB; if (fdb != null) { IFeatureClass fc = await fdb.GetFeatureclass(args.dataset.DatasetName, args.dataset.DatasetName + "_IMAGE_POLYGONS"); if (fc != null) { await fdb.CalculateExtent(fc); } await fdb.ShrinkSpatialIndex(args.dataset.DatasetName + "_IMAGE_POLYGONS"); //if (!fdb.CalculateSpatialIndex(fdb.GetFeatureclass(args.dataset.DatasetName, args.dataset.DatasetName + "_IMAGE_POLYGONS"), 10, 0)) //{ // MessageBox.Show("ERROR: CalculateSpatialIndex - " + fdb.lastErrorMsg); //} } }