// single layer network public static NeuralNetwork<Vector> Create(IDataSet<Vector, Vector> dataSet, IActivator activator) { var workLayer = new FullyConnectedLayer(dataSet.FirstInput.Size, dataSet.FirstOutput.Size, activator); var outputLayer = new OutputLayer<Vector>(); var layers = new CompositeLayer<Vector, Vector, Vector>(workLayer, outputLayer); return new NeuralNetwork<Vector>(layers); }
// Get the layer to create our feature on // It looks for either: // - A feature layer for the given feature class // - a subtype group layer for the given feature class, returning the feature layer child that matches the provided subtype private Layer GetLayerForEdit(Map map, string featureClassName, string subtypeName) { foreach (Layer layer in map.GetLayersAsFlattenedList()) { if (layer is SubtypeGroupLayer) { if (layer.Name == featureClassName) { CompositeLayer compositeLayer = layer as SubtypeGroupLayer; foreach (Layer subtypeLayer in compositeLayer.Layers) { if (subtypeLayer.Name == subtypeName) { return(subtypeLayer); } } } } else if (layer is FeatureLayer) { if (layer.Name == featureClassName) { return(layer); } } } return(null); }
/// <summary> /// GetUtilityNetworkFromFeatureClass - gets a utility network from a layer /// </summary> /// <param name="layer"></param> /// <returns>a UtilityNetwork object, or null if the layer does not reference a utility network</returns> public static UtilityNetwork GetUtilityNetworkFromLayer(Layer layer) { if (layer is UtilityNetworkLayer) { UtilityNetworkLayer utilityNetworkLayer = layer as UtilityNetworkLayer; return(utilityNetworkLayer.GetUtilityNetwork()); } else if (layer is SubtypeGroupLayer) { CompositeLayer compositeLayer = layer as CompositeLayer; return(GetUtilityNetworkFromLayer(compositeLayer.Layers.First())); } else if (layer is FeatureLayer) { FeatureLayer featureLayer = layer as FeatureLayer; using (FeatureClass featureClass = featureLayer.GetFeatureClass()) { if (featureClass.IsControllerDatasetSupported()) { IReadOnlyList <Dataset> controllerDatasets = featureClass.GetControllerDatasets(); foreach (Dataset controllerDataset in controllerDatasets) { if (controllerDataset is UtilityNetwork) { return(controllerDataset as UtilityNetwork); } } } } } return(null); }
/// <summary> /// GetUtilityNetworkFromFeatureClass - gets a utility network from a layer /// </summary> /// <param name="layer"></param> /// <returns>a UtilityNetwork object, or null if the layer does not reference a utility network</returns> public static UtilityNetwork GetUtilityNetworkFromLayer(Layer layer) { UtilityNetwork utilityNetwork = null; if (layer is UtilityNetworkLayer) { UtilityNetworkLayer utilityNetworkLayer = layer as UtilityNetworkLayer; utilityNetwork = utilityNetworkLayer.GetUtilityNetwork(); } else if (layer is SubtypeGroupLayer) { CompositeLayer compositeLayer = layer as CompositeLayer; utilityNetwork = GetUtilityNetworkFromLayer(compositeLayer.Layers.First()); } else if (layer is FeatureLayer) { FeatureLayer featureLayer = layer as FeatureLayer; using (FeatureClass featureClass = featureLayer.GetFeatureClass()) { if (featureClass.IsControllerDatasetSupported()) { IReadOnlyList <Dataset> controllerDatasets = new List <Dataset>(); controllerDatasets = featureClass.GetControllerDatasets(); foreach (Dataset controllerDataset in controllerDatasets) { if (controllerDataset is UtilityNetwork) { utilityNetwork = controllerDataset as UtilityNetwork; } else { controllerDataset.Dispose(); } } } } } else if (layer is GroupLayer) { CompositeLayer compositeLayer = layer as CompositeLayer; foreach (Layer childLayer in compositeLayer.Layers) { utilityNetwork = GetUtilityNetworkFromLayer(childLayer); // Break at the first layer inside a group layer that belongs to a utility network if (utilityNetwork != null) { break; } } } return(utilityNetwork); }
/// <summary> /// Get the UtilityNetwork from the layer /// </summary> /// <param name="layer">Layer</param> /// <returns>UtilityNetwork</returns> private static UtilityNetwork GetUtilityNetworkFromLayer(Layer layer) { if (layer == null) { return(null); } if (layer is UtilityNetworkLayer) { UtilityNetworkLayer utilityNetworkLayer = layer as UtilityNetworkLayer; return(utilityNetworkLayer.GetUtilityNetwork()); } else if (layer is SubtypeGroupLayer) { CompositeLayer compositeLayer = layer as CompositeLayer; UtilityNetwork un; foreach (var v in compositeLayer.Layers) { un = GetUtilityNetworkFromLayer(v); if (un != null) { return(un); } } } else if (layer is FeatureLayer) { FeatureLayer featureLayer = layer as FeatureLayer; using FeatureClass featureClass = featureLayer.GetFeatureClass(); if (featureClass.IsControllerDatasetSupported()) { IReadOnlyList <Dataset> controllerDatasets = featureClass.GetControllerDatasets(); foreach (Dataset controllerDataset in controllerDatasets) { if (controllerDataset is UtilityNetwork) { return(controllerDataset as UtilityNetwork); } } } } else if (layer is DiagramLayer dl) { NetworkDiagram diagram = dl.GetNetworkDiagram(); DiagramManager diagramManager = diagram.DiagramManager; return(diagramManager.GetNetwork <UtilityNetwork>()); } return(null); }
private void CompositeQueryLayersBindingSource_AddingNew(object sender, AddingNewEventArgs e) { CompositeLayer Layer1 = new CompositeLayer(); Layer1.ID = Guid.NewGuid().ToString(); if (ds != null) { Layer1.DataViewDataSourceName = ds.DatasourceName; } Layer1.DateCreated = DateTime.Now; Layer1.DateUpdated = DateTime.Now; e.NewObject = Layer1; }
public Task <UtilityNetwork> GetUNByLayer(Layer layer) { return(QueuedTask.Run(() => { if (layer is FeatureLayer) { FeatureLayer featureLayer = layer as FeatureLayer; using (FeatureClass featureClass = featureLayer.GetFeatureClass()) { if (featureClass.IsControllerDatasetSupported()) { IReadOnlyList <Dataset> datasets = featureClass.GetControllerDatasets(); foreach (var dataset in datasets) { if (dataset is UtilityNetwork) { return dataset as UtilityNetwork; } else { dataset.Dispose(); } } } } } else if (layer is UtilityNetworkLayer) { UtilityNetworkLayer utilityNetworkLayer = layer as UtilityNetworkLayer; return utilityNetworkLayer.GetUtilityNetwork(); } else if (layer is SubtypeGroupLayer) { CompositeLayer compositeLayer = layer as CompositeLayer; foreach (var subLayer in compositeLayer.Layers) { if (subLayer is UtilityNetworkLayer) { UtilityNetworkLayer unLayer = subLayer as UtilityNetworkLayer; return unLayer.GetUtilityNetwork(); } } } return null; })); }
private void Createbutton_Click(object sender, EventArgs e) { try { if (string.IsNullOrEmpty(this.layerNameTextBox.Text) || string.IsNullOrEmpty(this.localDBDriverVersionComboBox.Text) || string.IsNullOrEmpty(this.layerNameTextBox.Text)) { MessageBox.Show("Error, Please Fill all missing Fields"); throw new InvalidOperationException("Error, Please Fill all missing Fields"); } if (DMEEditor.ConfigEditor.DataConnectionExist(layerNameTextBox.Text)) { MessageBox.Show("Error, Already there is a Data connection the Same name"); throw new InvalidOperationException("Error, Already there is a Data connection the Same name"); } ConnectionProperties cn = new ConnectionProperties(); ConnectionDriversConfig package = DMEEditor.ConfigEditor.DataDriversClasses.Where(x => x.classHandler == localDBDriverComboBox.Text).OrderByDescending(o => o.version).FirstOrDefault(); Layer = (CompositeLayer)compositeQueryLayersBindingSource.Current; cn.CompositeLayer = true; cn.ConnectionName = layerNameTextBox.Text; cn.CompositeLayerName = layerNameTextBox.Text; cn.ConnectionName = layerNameTextBox.Text; cn.DatabaseType = package.DatasourceType; cn.Category = package.DatasourceCategory; if (!string.IsNullOrEmpty(FileNametextBox.Text) || !string.IsNullOrEmpty(FolderSavelocationlabel.Text)) { cn.FilePath = FolderSavelocationlabel.Text; cn.FileName = FileNametextBox.Text; } else { cn.FilePath = DMEEditor.ConfigEditor.Config.Folders.Where(x => x.FolderFilesType == FolderFileTypes.DataFiles).FirstOrDefault().FolderPath; cn.FileName = layerNameTextBox.Text; } if (cn.FilePath.Contains(DMEEditor.ConfigEditor.ExePath)) { cn.FilePath.Replace(DMEEditor.ConfigEditor.ExePath, "."); } cn.DriverName = package.PackageName; cn.DriverVersion = package.version; cn.ID = DMEEditor.ConfigEditor.DataConnections.Max(p => p.ID) + 1; cn.Category = DatasourceCategory.RDBMS; Layer.DataSourceName = this.layerNameTextBox.Text; Layer.DataViewDataSourceName = this.dataViewDataSourceNameComboBox.Text; Layer.Entities = new List <EntityStructure>(); compositeQueryLayersBindingSource.EndEdit(); DMEEditor.ConfigEditor.RemoveDataSourceEntitiesValues(Layer.DataSourceName); ILocalDB db = (ILocalDB)DMEEditor.CreateLocalDataSourceConnection(cn, cn.ConnectionName, package.classHandler); db.CreateDB(); DMEEditor.ConfigEditor.AddDataConnection(cn); DMEEditor.ConfigEditor.SaveDataconnectionsValues(); // DMEEditor.ConfigEditor.SaveCompositeLayersValues(); //-------------------- try { // waitForm = new WaitFormFunc(); // waitForm.Show(this.ParentForm); CompositeLayerDataSource compositeLayerDataSource = new CompositeLayerDataSource(cn.ConnectionName, DMEEditor.Logger, DMEEditor, cn.DatabaseType, DMEEditor.ErrorObject); ConnectionDriversConfig driversConfig = DMEEditor.Utilfunction.LinkConnection2Drivers(cn); compositeLayerDataSource.Dataconnection.ConnectionProp = cn; compositeLayerDataSource.Dataconnection.DataSourceDriver = driversConfig; compositeLayerDataSource.LocalDB = db; // compositeLayerDataSource.Dataconnection.OpenConnection(); DMEEditor.OpenDataSource(cn.ConnectionName); compositeLayerDataSource.Openconnection(); // Visutil.treeEditor.ShowWaiting(); // Visutil.treeEditor.ChangeWaitingCaption($"Getting Composed Layer Entities Total:{compositeLayerDataSource.Entities.Count}"); compositeLayerDataSource.GetAllEntitiesFromDataView(); // Visutil.treeEditor.HideWaiting(); DMEEditor.ConfigEditor.SaveCompositeLayersValues(); RootCompositeLayerBranch.CreateChildNodes(); // waitForm.Close(); } catch (Exception ex1) { string errmsg = $"Error Creating Composite Layer for view"; // waitForm.Close(); DMEEditor.AddLogMessage("Fail", $"{errmsg}:{ex1.Message}", DateTime.Now, 0, null, Errors.Failed); } MessageBox.Show($"Creating Composite Layer for view {branch.BranchText}"); DMEEditor.AddLogMessage("Success", $"Creating Composite Layer for view {branch.BranchText}", DateTime.Now, 0, null, Errors.Ok); this.ParentForm.Close(); } catch (Exception ex) { string errmsg = $"Error Creating Composite Layer for view {branch.BranchText}"; DMEEditor.AddLogMessage("Fail", $"{errmsg}:{ex.Message}", DateTime.Now, 0, null, Errors.Failed); MessageBox.Show(errmsg); } }