private void SetPanelVisibity() { switch (_panelIndex) { case 0: panelStep2.Visible = false; panelStep1.Visible = true; btnBack.Visible = false; btnNext.Enabled = (txtTargetClass.Text != String.Empty); btnNext.Text = LocalizedResources.GetResString("String.Next", "Next") + " >"; break; case 1: panelStep1.Visible = false; panelStep2.Visible = true; btnBack.Visible = true; btnNext.Text = LocalizedResources.GetResString("String.Export", "Export"); if (_listViewItem.MaxFieldLength > MaximumFieldLength(_dataset)) { _listViewItem = new FeatureClassListViewItem(_sourceFeatureClass, MaximumFieldLength(_dataset)); gvFields.DataSource = _listViewItem.Fields; } break; } }
async private Task ImportAsync(object element) { if (_fdb == null || _import == null) { return; } ISpatialIndexDef sIndexDef = null; if (_fdb is AccessFDB) { sIndexDef = await((AccessFDB)_fdb).SpatialIndexDef(_dsname); } if (element is IFeatureClass) { if (!await _import.ImportToNewFeatureclass( _fdb, _dsname, ((IFeatureClass)element).Name, (IFeatureClass)element, null, true, null, sIndexDef)) { MessageBox.Show(_import.lastErrorMsg); } } else if (element is FeatureClassListViewItem) { FeatureClassListViewItem item = element as FeatureClassListViewItem; if (item.FeatureClass == null) { return; } MSSpatialIndex msIndex = new MSSpatialIndex(); msIndex.GeometryType = GeometryFieldType.MsGeometry; msIndex.SpatialIndexBounds = item.FeatureClass.Envelope; msIndex.Level1 = msIndex.Level2 = msIndex.Level3 = msIndex.Level4 = MSSpatialIndexLevelSize.LOW; if (!await _import.ImportToNewFeatureclass( _fdb, _dsname, item.TargetName, item.FeatureClass, item.ImportFieldTranslation, true, null, sIndexDef)) { MessageBox.Show(_import.lastErrorMsg); } } }
private void ExportAsync_fdb(object element) { if (_fdbExport == null) { return; } List <IQueryFilter> filters = null; if (_filter != null) { filters = new List <IQueryFilter>(); filters.Add(_filter); } if (element is IFeatureClass) { if (!_fdbExport.ImportToNewFeatureclass( _dataset.Database as IFeatureDatabase, _dataset.DatasetName, _listViewItem.TargetName, (IFeatureClass)element, null, true, filters)) { MessageBox.Show(_export.lastErrorMsg); } } else if (element is FeatureClassListViewItem) { FeatureClassListViewItem item = element as FeatureClassListViewItem; if (item.FeatureClass == null) { return; } if (!_fdbExport.ImportToNewFeatureclass( _dataset.Database as IFeatureDatabase, _dataset.DatasetName, item.TargetName, item.FeatureClass, item.ImportFieldTranslation, true, filters)) { MessageBox.Show(_fdbExport.lastErrorMsg); } } }
private void ImportAsync(object element) { if (_import == null) { return; } if (element is IFeatureClass) { if (!_import.ImportToNewFeatureclass( _dataset, ((IFeatureClass)element).Name, (IFeatureClass)element, null, true)) { MessageBox.Show(_import.lastErrorMsg); } } else if (element is FeatureClassListViewItem) { FeatureClassListViewItem item = element as FeatureClassListViewItem; if (item.FeatureClass == null) { return; } if (!_import.ImportToNewFeatureclass( _dataset, item.TargetName, item.FeatureClass, item.ImportFieldTranslation, true)) { MessageBox.Show(_import.lastErrorMsg); } } }
public ExportFeatureClassDialog(IDisplay display, IFeatureLayer sourceFeatureLayer) { InitializeComponent(); _sourceFeatureClass = sourceFeatureLayer.Class as IFeatureClass; #region Filter //All Features //Selected Features //Features in actual extent cmbExport.Items.Add(new ExportMethodItem("All Features", null)); if (sourceFeatureLayer is IFeatureSelection && ((IFeatureSelection)sourceFeatureLayer).SelectionSet != null && ((IFeatureSelection)sourceFeatureLayer).SelectionSet.Count > 0) { ISelectionSet selectionSet = ((IFeatureSelection)sourceFeatureLayer).SelectionSet; IQueryFilter selFilter = null; if (selectionSet is IIDSelectionSet) { selFilter = new RowIDFilter(_sourceFeatureClass.IDFieldName, ((IIDSelectionSet)selectionSet).IDs); } else if (selectionSet is IGlobalIDSelectionSet) { selFilter = new GlobalRowIDFilter(_sourceFeatureClass.IDFieldName, ((IGlobalIDSelectionSet)selectionSet).IDs); } else if (selectionSet is IQueryFilteredSelectionSet) { selFilter = ((IQueryFilteredSelectionSet)selectionSet).QueryFilter.Clone() as IQueryFilter; } if (selFilter != null) { selFilter.SubFields = "*"; ExportMethodItem item = new ExportMethodItem("Selected Features", selFilter); cmbExport.Items.Add(item); cmbExport.SelectedItem = item; } } if (display != null && display.Envelope != null) { SpatialFilter dispFilter = new SpatialFilter(); dispFilter.SubFields = "*"; dispFilter.FilterSpatialReference = display.SpatialReference; dispFilter.Geometry = display.Envelope; dispFilter.SpatialRelation = spatialRelation.SpatialRelationIntersects; cmbExport.Items.Add(new ExportMethodItem("Features in actual extent", dispFilter)); } if (cmbExport.SelectedIndex == -1) { cmbExport.SelectedIndex = 0; } #endregion _listViewItem = new FeatureClassListViewItem(_sourceFeatureClass, 255); gvFields.DataSource = _listViewItem.Fields; panelStep1.Dock = panelStep2.Dock = DockStyle.Fill; SetPanelVisibity(); }
private void ExportAsync_fdb(object element) { if (_fdbExport == null) { return; } List <IQueryFilter> filters = null; if (_filter != null) { filters = new List <IQueryFilter>(); filters.Add(_filter); } if (element is IFeatureClass) { IFeatureClass fc = (IFeatureClass)element; ISpatialIndexDef def = null; if (fc.Dataset != null && fc.Dataset.Database is AccessFDB) { def = ((AccessFDB)fc.Dataset.Database).FcSpatialIndexDef(fc.Name); if (_dataset.Database is AccessFDB) { ISpatialIndexDef dsDef = ((AccessFDB)_dataset.Database).SpatialIndexDef(_dataset.DatasetName); if (dsDef.GeometryType != def.GeometryType) { def = dsDef; } } } if (!_fdbExport.ImportToNewFeatureclass( _dataset.Database as IFeatureDatabase, _dataset.DatasetName, _targetName, fc, null, true, filters, def)) { MessageBox.Show(_fdbExport.lastErrorMsg); } } else if (element is FeatureClassListViewItem) { FeatureClassListViewItem item = element as FeatureClassListViewItem; if (item.FeatureClass == null) { return; } IFeatureClass fc = item.FeatureClass; ISpatialIndexDef def = null; if (fc.Dataset != null && fc.Dataset.Database is AccessFDB) { def = ((AccessFDB)fc.Dataset.Database).FcSpatialIndexDef(fc.Name); if (_dataset.Database is AccessFDB) { ISpatialIndexDef dsDef = ((AccessFDB)_dataset.Database).SpatialIndexDef(_dataset.DatasetName); if (dsDef.GeometryType != def.GeometryType) { def = dsDef; } } } if (!_fdbExport.ImportToNewFeatureclass( _dataset.Database as IFeatureDatabase, _dataset.DatasetName, item.TargetName, fc, item.ImportFieldTranslation, true, filters, def)) { MessageBox.Show(_fdbExport.lastErrorMsg); } } }