public void Simplify() { if (_renderers == null || _renderers.Count == 0) { return; } foreach (IFeatureRenderer renderer in _renderers) { if (renderer is ISimplify) { ((ISimplify)renderer).Simplify(); } } #region SimpleRenderer zusammenfassen bool allSimpleRenderers = true; foreach (IRenderer renderer in _renderers) { if (!(renderer is SimpleRenderer)) { allSimpleRenderers = false; break; } } if (allSimpleRenderers) { IFeatureRenderer renderer = _renderers[0]; if (_renderers.Count > 1) { ISymbolCollection symCol = PlugInManager.Create(new Guid("062AD1EA-A93C-4c3c-8690-830E65DC6D91")) as ISymbolCollection; foreach (IRenderer sRenderer in _renderers) { if (((SimpleRenderer)renderer).Symbol != null) { symCol.AddSymbol(((SimpleRenderer)renderer).Symbol); } } ((SimpleRenderer)renderer).Symbol = (ISymbol)symCol; _renderers.Clear(); _renderers.Add(renderer); } } #endregion #region Combine Renderers for (int i = 0; i < _renderers.Count; i++) { for (int j = i + 1; j < _renderers.Count; j++) { if (_renderers[i].Combine(_renderers[j])) { _renderers.RemoveAt(j); j--; } } } #endregion }
private NetworkRenderer(bool init) { _renderers = new RendererGroup(); if (init == true) { _renderers.Add(PlugInManager.Create(KnownObjects.Carto_SimpleRenderer) as IFeatureRenderer); // Edges _renderers.Add(PlugInManager.Create(KnownObjects.Carto_SimpleRenderer) as IFeatureRenderer); // Simple Nodes _renderers.Add(PlugInManager.Create(KnownObjects.Carto_SimpleRenderer) as IFeatureRenderer); // Switches On _renderers.Add(PlugInManager.Create(KnownObjects.Carto_SimpleRenderer) as IFeatureRenderer); // Switches Off foreach (IFeatureRenderer renderer in _renderers) { geometryType geomType = geometryType.Polyline; if (_renderers.IndexOf(renderer) > 0) { geomType = geometryType.Point; } if (renderer is ISymbolCreator && renderer is IFeatureRenderer2) { ((IFeatureRenderer2)renderer).Symbol = ((ISymbolCreator)renderer).CreateStandardSymbol(geomType); } } } }
async public Task SetSerialize(Serialized value) { if (value == null) { return; } if (this.FeatureDataset == null) { IFeatureDataset dataset = PlugInManager.Create(new Guid(value.DatasetGuid)) as IFeatureDataset; if (dataset == null) { throw new Exception("Unable to crete dataset"); } await dataset.SetConnectionString(value.ConnectionString); this.FeatureDataset = dataset; } _selecteFeturesclasses.Serialize = value.FeatureClasses; _tolerance.Serialize = value.NetworkTolerance; await _complexEdges.OnShowWizardPage(); _complexEdges.Serialize = value.ComplexEdges; await _switches.OnShowWizardPage(); _switches.Serialize = value.Nodes; _edgeWeights.Serialize = value.EdgeWeights; var assembly = Assembly.LoadFrom(SystemVariables.ApplicationDirectory + @"\" + value.NetworkCreatorAssembly); _networkCreatorType = (assembly.CreateInstance(value.NetworkCreatorType) as INetworkCreator)?.GetType(); }
public void Execute(ProgressReporterEvent reporter) { if (_serialized == null) { throw new Exception("can't execute. No config!"); } #region Instance Creator var assembly = Assembly.LoadFrom(SystemVariables.ApplicationDirectory + @"\" + _serialized.NetworkCreatorAssembly); if (assembly == null) { throw new Exception("Assembly not found: " + _serialized.NetworkCreatorAssembly); } var creator = assembly.CreateInstance(_serialized.NetworkCreatorType) as INetworkCreator; if (creator == null) { throw new Exception("Type " + _serialized.NetworkCreatorType + " is not a network creator"); } #endregion #region Open Dataset IFeatureDataset dataset = PlugInManager.Create(new Guid(_serialized.DatasetGuid)) as IFeatureDataset; if (dataset == null) { throw new Exception("Unable to crete dataset"); } dataset.ConnectionString = _serialized.ConnectionString; dataset.Open(); this.FeatureDataset = dataset; this.FeatureDatabase = dataset.Database as IFeatureDatabase3; if (this.FeatureDatabase == null) { throw new Exception("Featuredatabase no implements IFeatureDatabase3"); } #endregion creator.NetworkName = _serialized.FeatureClasses.NetworkName; creator.FeatureDataset = this.FeatureDataset; creator.EdgeFeatureClasses = this.EdgeFeatureclasses; creator.NodeFeatureClasses = this.NodeFeatureclasses; creator.SnapTolerance = this.SnapTolerance; creator.ComplexEdgeFcIds = this.ComplexEdgeFcIds; creator.GraphWeights = this.GraphWeights; creator.SwitchNodeFcIdAndFieldnames = this.SwitchNodeFcIds; creator.NodeTypeFcIds = this.NetworkNodeTypeFcIds; if (reporter != null && creator is IProgressReporter) { ((IProgressReporter)creator).ReportProgress += (ProgressReport progressEventReport) => { reporter(progressEventReport); }; } creator.Run(); }
public EnvelopeGraphics() { _symbol = PlugInManager.Create(KnownObjects.Symbology_SimpleFillSymbol) as ISymbol; if (_symbol is IBrushColor) { ((IBrushColor)_symbol).FillColor = Color.FromArgb(155, Color.White); } _symbol2 = PlugInManager.Create(KnownObjects.Symbology_SimpleLineSymbol) as ISymbol; if (_symbol2 is IPenColor) { ((IPenColor)_symbol2).PenColor = Color.Blue; } }
public void Load(IPersistStream stream) { try { Guid guid = new Guid(stream.Load("GUID") as string); _module = (IMapApplicationModule)PlugInManager.Create(guid); if (!(_module is IPersistable)) { return; } ((IPersistable)_module).Load(stream); } catch { } }
public void Simplify() { if (_renderers == null) { return; } foreach (IFeatureRenderer renderer in _renderers) { if (renderer is ISimplify) { ((ISimplify)renderer).Simplify(); } } #region SimpleRenderer zusammenfassen bool allSimpleRenderers = true; foreach (IRenderer renderer in _renderers) { if (!(renderer is ScaleRenderer) && (((ScaleRenderer)renderer).Renderer is SimpleRenderer)) { allSimpleRenderers = false; break; } } if (allSimpleRenderers && _renderers.Count > 1) { ScaleRenderer renderer = (ScaleRenderer)_renderers[0]; if (_renderers.Count > 1) { ISymbolCollection symCol = PlugInManager.Create(new Guid("062AD1EA-A93C-4c3c-8690-830E65DC6D91")) as ISymbolCollection; foreach (IRenderer sRenderer in _renderers) { if (((SimpleRenderer)((ScaleRenderer)sRenderer).Renderer).Symbol != null) { symCol.AddSymbol(((SimpleRenderer)((ScaleRenderer)sRenderer).Renderer).Symbol); } } ((SimpleRenderer)((ScaleRenderer)renderer).Renderer).Symbol = (ISymbol)symCol; _renderers.Clear(); _renderers.Add(renderer); } } #endregion ShrinkScaleRenderes(); }
public PreviewFeatureLayer(IFeatureClass fc) { _fc = fc; if (_fc == null) { return; } this.Title = fc.Name; this.Visible = true; _renderer = PlugInManager.Create(KnownObjects.Carto_SimpleRenderer) as IFeatureRenderer2; if (_renderer is ISymbolCreator) { ((IFeatureRenderer2)_renderer).Symbol = ((ISymbolCreator)_renderer).CreateStandardSymbol(_fc.GeometryType); } _fields = new Fields(); }
public bool Combine(IRenderer renderer) { if (renderer is SimpleRenderer && renderer != this) { if (_symbol is ISymbolCollection) { ((ISymbolCollection)_symbol).AddSymbol( ((SimpleRenderer)renderer).Symbol); } else { ISymbolCollection symCol = PlugInManager.Create(new Guid("062AD1EA-A93C-4c3c-8690-830E65DC6D91")) as ISymbolCollection; symCol.AddSymbol(_symbol); symCol.AddSymbol(((SimpleRenderer)renderer).Symbol); _symbol = (ISymbol)symCol; } return(true); } return(false); }
static void Main(string[] args) { #region Parse Parameters for (int i = 0; i < args.Length; i++) { switch (args[i]) { case "-add": if (job != jobs.unknown) { Console.WriteLine("Can't do more than one job. Run programm twice..."); return; } job = jobs.add; break; case "-clean": if (job != jobs.unknown) { Console.WriteLine("Can't do more than one job. Run programm twice..."); return; } job = jobs.removeUnexisting; break; case "-truncate": if (job != jobs.unknown) { Usage(); Console.WriteLine("Can't do more than one job. Run programm twice..."); return; } job = jobs.truncate; break; case "-s": connectinString = args[++i]; break; case "-db": dbType = args[++i].ToLower(); break; case "-provider": provider = args[++i].ToLower(); break; case "-fn": if (rootPath != String.Empty) { Usage(); Console.WriteLine("Filename OR Rootdirectory..."); return; } fileName = args[++i]; break; case "-rd": if (fileName != String.Empty) { Usage(); Console.WriteLine("Filename OR Rootdirectory..."); return; } rootPath = args[++i]; break; case "-f": Filters = args[++i]; break; } } #endregion #region Check Parameters if (connectinString == String.Empty) { Usage(); Console.WriteLine("No connection string..."); return; } switch (job) { case jobs.removeUnexisting: case jobs.truncate: break; case jobs.add: if (fileName == String.Empty && (rootPath == String.Empty || Filters == String.Empty)) { Usage(); Console.WriteLine("No file or rootdirectory and filter defined..."); return; } break; case jobs.unknown: Usage(); Console.WriteLine("No job defined..."); return; } #endregion DateTime dt = DateTime.Now; string mdb = ConfigTextStream.ExtractValue(connectinString, "mdb"); string dsname = ConfigTextStream.ExtractValue(connectinString, "dsname"); string connStr = ConfigTextStream.RemoveValue(connectinString, "dsname"); IFeatureDataset ds = null; if (mdb != String.Empty) { AccessFDB fdb = new AccessFDB(); fdb.Open(connStr); IFeatureDataset dataset = fdb[dsname]; if (dataset == null) { Console.WriteLine("Error opening dataset: " + fdb.lastErrorMsg); return; } //dataset.ConnectionString = connectinString; if (!dataset.Open()) { Console.WriteLine("Error opening dataset: " + dataset.lastErrorMsg); return; } ds = dataset; } else if (dbType == "sql") { SqlFDB fdb = new SqlFDB(); fdb.Open(connStr); IFeatureDataset dataset = fdb[dsname]; if (dataset == null) { Console.WriteLine("Error opening dataset: " + fdb.lastErrorMsg); return; } //dataset.ConnectionString = connectinString; if (!dataset.Open()) { Console.WriteLine("Error opening dataset: " + dataset.lastErrorMsg); return; } ds = dataset; } else if (dbType == "postgres") { pgFDB fdb = new pgFDB(); fdb.Open(connStr); IFeatureDataset dataset = fdb[dsname]; if (dataset == null) { Console.WriteLine("Error opening dataset: " + fdb.lastErrorMsg); return; } //dataset.ConnectionString = connectinString; if (!dataset.Open()) { Console.WriteLine("Error opening dataset: " + dataset.lastErrorMsg); return; } ds = dataset; } else if (dbType == "sqlite") { SQLiteFDB fdb = new SQLiteFDB(); fdb.Open(connStr); IFeatureDataset dataset = fdb[dsname]; if (dataset == null) { Console.WriteLine("Error opening dataset: " + fdb.lastErrorMsg); return; } //dataset.ConnectionString = connectinString; if (!dataset.Open()) { Console.WriteLine("Error opening dataset: " + dataset.lastErrorMsg); return; } ds = dataset; } IRasterFileDataset rds = null; if (provider == "gdal") { rds = PlugInManager.Create(new Guid("43DFABF1-3D19-438c-84DA-F8BA0B266592")) as IRasterFileDataset; } else if (provider == "raster") { rds = PlugInManager.Create(new Guid("D4812641-3F53-48eb-A66C-FC0203980C79")) as IRasterFileDataset; } Dictionary <string, Guid> providers = new Dictionary <string, Guid>(); if (rds != null) { foreach (string format in rds.SupportedFileFilter.Split('|')) { string extension = format; int pos = format.LastIndexOf("."); if (pos > 0) { extension = format.Substring(pos, format.Length - pos); } providers.Add(extension, PlugInManager.PlugInID(rds)); Console.WriteLine("Provider " + extension + ": " + rds.ToString() + " {" + PlugInManager.PlugInID(rds).ToString() + "}"); } } if (providers.Count == 0) { providers = null; } switch (job) { case jobs.truncate: Truncate(ds, dsname + "_IMAGE_POLYGONS"); break; case jobs.removeUnexisting: RemoveUnexisting(ds); CalculateExtent(ds); break; case jobs.add: if (fileName != String.Empty) { if (!ImportFiles(ds, fileName.Split(';'), providers)) { if (!continueOnError) { return; } } } else if (rootPath != String.Empty && Filters != String.Empty) { if (!ImportDirectory(ds, new DirectoryInfo(rootPath), Filters.Split(';'), providers)) { if (!continueOnError) { return; } } } CalculateExtent(ds); break; } Console.WriteLine("\n" + ((TimeSpan)(DateTime.Now - dt)).TotalSeconds + "s"); Console.WriteLine("done..."); }