Пример #1
0
        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);
        }
Пример #2
0
        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);
                //}
            }
        }