コード例 #1
0
ファイル: TraceNetwork.cs プロジェクト: jugstalt/gview5
        async public Task <bool> OnEvent(object MapEvent)
        {
            if (_module != null && _module.SelectedNetworkTracer != null)
            {
                if (_module.SelectedNetworkTracer is INetworkTracerProperties &&
                    await((INetworkTracerProperties)_module.SelectedNetworkTracer).NetworkTracerProperties(_module.SelectedNetworkFeatureClass, TracerInput()) != null)
                {
                    FormTracerProperties dlg = new FormTracerProperties(
                        await((INetworkTracerProperties)_module.SelectedNetworkTracer).NetworkTracerProperties(_module.SelectedNetworkFeatureClass, TracerInput()));
                    if (dlg.ShowDialog() != System.Windows.Forms.DialogResult.OK)
                    {
                        return(false);
                    }
                }
                if (_module.SelectedNetworkTracer is IProgressReporterEvent)
                {
                    NetworkProgressReporter reporter = new NetworkProgressReporter(_doc);

                    FormTaskProgress dlg = new FormTaskProgress();
                    dlg.ShowProgressDialog(reporter, this.Trace(reporter));
                }
                else
                {
                    await Trace(null);
                }
                ((MapEvent)MapEvent).drawPhase  = DrawPhase.Graphics;
                ((MapEvent)MapEvent).refreshMap = true;
            }

            return(true);
        }
コード例 #2
0
        async private Task ExportDatasetObject_fdb(object datasetObject)
        {
            if (datasetObject is IFeatureDataset)
            {
                IFeatureDataset dataset = (IFeatureDataset)datasetObject;
                foreach (IDatasetElement element in await dataset.Elements())
                {
                    if (element is IFeatureLayer)
                    {
                        await ExportDatasetObject(((IFeatureLayer)element).FeatureClass);
                    }
                }
            }
            if (datasetObject is IFeatureClass)
            {
                if (_fdbExport == null)
                {
                    _fdbExport = new FDBImport();
                }
                else
                {
                    MessageBox.Show("ERROR: Import already runnung");
                    return;
                }

                FeatureClassImportProgressReporter reporter = await FeatureClassImportProgressReporter.CreateAsync(_fdbExport, (IFeatureClass)datasetObject);

                FormTaskProgress progress = new FormTaskProgress(reporter, ExportAsync_fdb(datasetObject));
                progress.Text = "Export Features: " + ((IFeatureClass)datasetObject).Name;
                progress.ShowDialog();
                _fdbExport = null;
            }
        }
コード例 #3
0
        public bool RebuildIndices(List <IClass> classes)
        {
            FormTaskProgress progress = new FormTaskProgress(this, RebuildIndicesAsync(classes));

            progress.Text = "Shrink Spatial Indices...";
            progress.Show();

            return(true);
        }
コード例 #4
0
        async private Task <bool> ImportFiles(string[] data, bool refreshList, Dictionary <string, Guid> providers)
        {
            IRasterClass rc = await _exObject.GetInstanceAsync() as IRasterClass;

            if (rc == null)
            {
                return(false);
            }

            IRasterDataset rDS = rc.Dataset as IRasterDataset;

            if (rDS == null || rDS.Database == null)
            {
                return(false);
            }

            FDBImageDataset operations = new FDBImageDataset(rDS.Database as IImageDB, rDS.DatasetName);

            // refreshList = false wenn ganzen Verzeichnis durchsucht wird...
            // dann sollen auch keine Fehler verursacht werden wenn ein bild nicht gereferenziert ist,
            // in diesem fall bild einfach ignorieren
            operations.handleNonGeorefAsError = refreshList;

            ImageImportProgressReporter reporter = new ImageImportProgressReporter(operations, data.Length);

            ImportArguments args = new ImportArguments(operations, rDS, data, providers);

            FormTaskProgress progress = new FormTaskProgress();

            progress.Text = "Import Images: " + rDS.DatasetName;
            progress.Mode = ProgressMode.ProgressDisk;
            progress.ShowProgressDialog(reporter, Import(args));

            if (refreshList)
            {
                await RefreshList();
            }

            if (!reporter.CancelTracker.Continue)
            {
                MessageBox.Show("Cancel...");
                return(false);
            }

            if (operations.lastErrorMessage != String.Empty)
            {
                MessageBox.Show("ERROR: " + operations.lastErrorMessage);
                return(false);
            }

            await rDS.RefreshClasses();

            return(true);
        }
コード例 #5
0
ファイル: ExplorerObjects.cs プロジェクト: jugstalt/gview5
        async private Task ImportDatasetObject(object datasetObject, bool schemaOnly)
        {
            if (datasetObject is IFeatureDataset)
            {
                IFeatureDataset dataset = (IFeatureDataset)datasetObject;
                foreach (IDatasetElement element in await dataset.Elements())
                {
                    if (element is IFeatureLayer)
                    {
                        await ImportDatasetObject(((IFeatureLayer)element).FeatureClass, schemaOnly);
                    }
                }
            }
            if (datasetObject is IFeatureClass)
            {
                if (_import == null)
                {
                    _import = new FeatureImport();
                }
                else
                {
                    MessageBox.Show("ERROR: Import already runnung");
                    return;
                }
                _import.SchemaOnly = schemaOnly;

                FeatureClassImportProgressReporter reporter = await FeatureClassImportProgressReporter.Create(_import, (IFeatureClass)datasetObject);

                FormTaskProgress progress = new FormTaskProgress(reporter, ImportAsync(datasetObject));
                progress.Text = "Import Featureclass: " + ((IFeatureClass)datasetObject).Name;
                progress.ShowDialog();
                _import = null;
            }
            if (datasetObject is FeatureClassListViewItem)
            {
                if (_import == null)
                {
                    _import = new FeatureImport();
                }
                else
                {
                    MessageBox.Show("ERROR: Import already runnung");
                    return;
                }
                _import.SchemaOnly = schemaOnly;

                FeatureClassImportProgressReporter reporter = await FeatureClassImportProgressReporter.Create(_import, ((FeatureClassListViewItem)datasetObject).FeatureClass);

                FormTaskProgress progress = new FormTaskProgress(reporter, ImportAsync(datasetObject));
                progress.Text = "Import Featureclass: " + ((FeatureClassListViewItem)datasetObject).Text;
                progress.ShowDialog();
                _import = null;
            }
        }
コード例 #6
0
        private void btnPreRender_Click(object sender, EventArgs e)
        {
            _preRenderScales.Clear();
            foreach (ListViewItem item in lstScales.Items)
            {
                if (item.Checked)
                {
                    _preRenderScales.Add(double.Parse(item.Text.Replace(",", "."), _nhi));
                }
            }

            _maxParallelRequests = (int)numMaxParallelRequest.Value;
            switch (cmbImageFormat.SelectedItem.ToString().ToLower())
            {
            case "image/png":
                _imgExt = ".png";
                break;

            case "image/jpeg":
                _imgExt = ".jpg";
                break;
            }
            switch (cmbOrigin.SelectedItem.ToString().ToLower())
            {
            case "upper left":
                _orientation = GridOrientation.UpperLeft;
                break;

            case "lower left":
                _orientation = GridOrientation.LowerLeft;
                break;
            }
            _selectedEpsg = (int)cmbEpsg.SelectedItem;
            if (chkUseExtent.Checked == true)
            {
                _bounds = this.CurrentExtent;
            }
            else
            {
                _bounds = null;
            }

            _cacheFormat = cmbCacheFormat.SelectedItem.ToString().ToLower();

            FormTaskProgress dlg = new FormTaskProgress();

            dlg.ShowProgressDialog(this, this.RunAndWait());
        }
コード例 #7
0
        async public Task <IExplorerObject> CreateExplorerObject(IExplorerObject parentExObject)
        {
            if (!(parentExObject is SQLiteFDBDatasetExplorerObject))
            {
                return(null);
            }

            SQLiteFDBDatasetExplorerObject parent = (SQLiteFDBDatasetExplorerObject)parentExObject;

            IFeatureDataset dataset = await((SQLiteFDBDatasetExplorerObject)parentExObject).GetInstanceAsync() as IFeatureDataset;

            if (dataset == null || !(dataset.Database is SQLiteFDB))
            {
                return(null);
            }

            FormNewNetworkclass dlg = new FormNewNetworkclass(dataset, typeof(CreateFDBNetworkFeatureclass));

            if (dlg.ShowDialog() != DialogResult.OK)
            {
                return(null);
            }

            CreateFDBNetworkFeatureclass creator = new CreateFDBNetworkFeatureclass(
                dataset, dlg.NetworkName,
                dlg.EdgeFeatureclasses,
                dlg.NodeFeatureclasses);

            creator.SnapTolerance    = dlg.SnapTolerance;
            creator.ComplexEdgeFcIds = await dlg.ComplexEdgeFcIds();

            creator.GraphWeights = dlg.GraphWeights;
            creator.SwitchNodeFcIdAndFieldnames = dlg.SwitchNodeFcIds;
            creator.NodeTypeFcIds = dlg.NetworkNodeTypeFcIds;

            FormTaskProgress progress = new FormTaskProgress();

            progress.ShowProgressDialog(creator, creator.Run());

            IDatasetElement element = await dataset.Element(dlg.NetworkName);

            return(new SQLiteFDBFeatureClassExplorerObject(
                       parent,
                       parent.FileName,
                       parent.Name,
                       element));
        }