public pgImageDatasetImageClass(pgFDB fdb, string dsname, int ID, Polygon polygon) { _fdb = fdb; _ID = ID; _polygon = polygon; _dsname = dsname; }
public pgImageCatalogClass(IRasterDataset dataset, pgFDB fdb, IFeatureClass polygonsFC, ISpatialReference sRef, string imageSpace) { _dataset = dataset; _dsname = dataset.DatasetName; _fdb = fdb; _fc = polygonsFC; calcPolygon(polygonsFC.Envelope); _sRef = sRef; _imageSpace = (imageSpace == null) ? String.Empty : imageSpace; if (_imageSpace != String.Empty && imageSpace.ToLower() != "database") { try { DirectoryInfo di = new DirectoryInfo(_imageSpace); if (di.Exists) { _imageSpaceType = ImageSpaceType.FileSystem; } else { _imageSpaceType = ImageSpaceType.Invalid; } } catch { _imageSpaceType = ImageSpaceType.Invalid; } } }
async static public Task <pgFeatureClass> Create(pgFDB fdb, IDataset dataset, GeometryDef geomDef, BinarySearchTree tree) { var fc = await pgFeatureClass.Create(fdb, dataset, geomDef); fc._searchTree = tree; return(fc); }
public void Dispose() { if (_fdb != null) { _fdb.Dispose(); _fdb = null; } }
public NetworkFeatureCursor(pgFDB fdb, string networkName, List <IFeatureClass> edgeFcs, IFeatureClass nodeFc, IQueryFilter filter) { _fdb = fdb; _networkName = networkName; _edgeFcs = edgeFcs; _nodeFc = nodeFc; _filter = filter; }
async static internal Task <pgDataset> Create(pgFDB fdb, string dsname) { var ds = new pgDataset(); await ds.SetConnectionString(fdb.DatabaseConnectionString + ";dsname=" + dsname); await ds.Open(); return(ds); }
private void btnOK_Click(object sender, EventArgs e) { try { Cursor = Cursors.WaitCursor; pgFDB fdb = new pgFDB(); UserData parameters = _advancedSettings.ToUserData(); if (btnOnlyRepository.Checked) { parameters.SetUserData("CreateDatabase", false); } fdb.Open(ConnectionString); if (!fdb.Create(txtDatabase.Text, parameters)) { MessageBox.Show(fdb.lastErrorMsg, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } //if (chkCreateReplicationDatamodel.Checked == true) { string errMsg; if (!gView.Framework.Offline.Replication.CreateRelicationModel(fdb, out errMsg)) { MessageBox.Show("RepliCreateRelicationModel failed:\n" + errMsg, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error); } } if (chkCreateConnection.Checked) { string connStr = FullConnectionString; ConfigTextStream stream = new ConfigTextStream("postgrefdb_connections", true, true); string id = txtObject.Text; stream.Write(FullConnectionString, ref id); stream.Close(); _resultExObject = new ExplorerObject(null, id, FullConnectionString); } this.Close(); } catch (Exception ex) { MessageBox.Show("FATAL ERROR: " + ex.Message); } finally { Cursor = Cursors.Default; } }
public void Load(IPersistStream stream) { string connectionString = (string)stream.Load("connectionstring", ""); if (_fdb != null) { _fdb.Dispose(); _fdb = null; } this.ConnectionString = connectionString; this.Open(); }
async private Task BuildList() { lstDatasets.Items.Clear(); AccessFDB fdb = null; switch (_providerId) { case "mssql": fdb = new SqlFDB(); break; case "postgres": fdb = new pgFDB(); break; case "sqlite": fdb = new SQLiteFDB(); break; } if (fdb == null) { return; } if (!await fdb.Open(this.ConnectionString)) { MessageBox.Show(fdb.LastErrorMessage, "Error"); return; } string[] dsnames = await fdb.DatasetNames(); if (dsnames != null) { foreach (string dsname in dsnames) { var isImageDatasetResult = await fdb.IsImageDataset(dsname); ListViewItem item = new ListViewItem( dsname, isImageDatasetResult.isImageDataset ? 1 : 0); lstDatasets.Items.Add(item); if (item.Text == _dsname) { lstDatasets.SelectedIndices.Add(lstDatasets.Items.Count - 1); } } } }
public pgFeatureClass(pgFDB fdb, IDataset dataset, GeometryDef geomDef) { _fdb = fdb; _dataset = dataset; _geomDef = (geomDef != null) ? geomDef : new GeometryDef(); if (_geomDef != null && _geomDef.SpatialReference == null && dataset is IFeatureDataset) { _geomDef.SpatialReference = ((IFeatureDataset)dataset).SpatialReference; } m_fields = new Fields(); }
async public Task <bool> LoadAsync(IPersistStream stream) { string connectionString = (string)stream.Load("connectionstring", ""); if (_fdb != null) { _fdb.Dispose(); _fdb = null; } await this.SetConnectionString(connectionString); return(await this.Open()); }
async static public Task <pgFeatureClass> Create(pgFDB fdb, IDataset dataset, GeometryDef geomDef) { var fc = new pgFeatureClass(); fc._fdb = fdb; fc._dataset = dataset; fc._geomDef = (geomDef != null) ? geomDef : new GeometryDef(); if (fc._geomDef != null && fc._geomDef.SpatialReference == null && dataset is IFeatureDataset) { fc._geomDef.SpatialReference = await((IFeatureDataset)dataset).GetSpatialReference(); } fc.m_fields = new Fields(); return(fc); }
async private void btnChangeConnectionString_Click(object sender, EventArgs e) { AccessFDB fdb = null; switch (_providerId) { case "mssql": fdb = new SqlFDB(); break; case "postgres": fdb = new pgFDB(); break; case "sqlite": fdb = new SQLiteFDB(); break; } if (fdb == null) { return; } await fdb.Open(_connectionString); DbConnectionString dbConnStr = new DbConnectionString(); dbConnStr.UseProviderInConnectionString = false; FormConnectionString dlg = (dbConnStr.TryFromConnectionString("mssql", fdb.ConnectionString) ? new FormConnectionString(dbConnStr) : new FormConnectionString()); dlg.ProviderID = _providerId; dlg.UseProviderInConnectionString = false; if (dlg.ShowDialog() == System.Windows.Forms.DialogResult.OK) { dbConnStr = dlg.DbConnectionString; _connectionString = dbConnStr.ConnectionString; await BuildList(); } }
async public Task <bool> SetConnectionString(string value) { _connStr = value; if (value == null) { return(false); } while (_connStr.IndexOf(";;") != -1) { _connStr = _connStr.Replace(";;", ";"); } _dsname = ConfigTextStream.ExtractValue(value, "dsname"); _addedLayers.Clear(); foreach (string layername in ConfigTextStream.ExtractValue(value, "layers").Split('@')) { if (layername == "") { continue; } if (_addedLayers.IndexOf(layername) != -1) { continue; } _addedLayers.Add(layername); } if (_fdb == null) { _fdb = new pgFDB(); } _fdb.DatasetRenamed += new gView.DataSources.Fdb.MSAccess.AccessFDB.DatasetRenamedEventHandler(SqlFDB_DatasetRenamed); _fdb.FeatureClassRenamed += new gView.DataSources.Fdb.MSAccess.AccessFDB.FeatureClassRenamedEventHandler(SqlFDB_FeatureClassRenamed); _fdb.TableAltered += new gView.DataSources.Fdb.MSAccess.AccessFDB.AlterTableEventHandler(SqlFDB_TableAltered); await _fdb.Open(_connStr); return(true); }
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..."); }
internal pgDataset(pgFDB fdb, string dsname) : this() { ConnectionString = fdb.DatabaseConnectionString + ";dsname=" + dsname; Open(); }
public pgDataset() { _addedLayers = new List <string>(); _fdb = new pgFDB(); }
public pgNetworkFeatureClass(pgFDB fdb, IDataset dataset, string name, GeometryDef geomDef) { _fdb = fdb; _fcid = _fdb.FeatureClassID(_fdb.DatasetID(dataset.DatasetName), name); _dataset = dataset; _geomDef = (geomDef != null) ? geomDef : new GeometryDef(); if (_geomDef != null && _geomDef.SpatialReference == null && dataset is IFeatureDataset) { _geomDef.SpatialReference = ((IFeatureDataset)dataset).SpatialReference; } _fields = new Fields(); _name = _aliasname = name; IDatasetElement element = _dataset[_name + "_Nodes"]; if (element != null) { _nodeFc = element.Class as IFeatureClass; } element = _dataset[_name + "_ComplexEdges"]; if (element != null && element.Class is IFeatureClass) { _edgeFcs.Add(-1, (IFeatureClass)element.Class); } DataTable tab = _fdb.Select("\"FCID\"", "\"FDB_NetworkClasses\"", "\"NetworkId\"=" + _fcid); if (tab != null && tab.Rows.Count > 0) { StringBuilder where = new StringBuilder(); where.Append("\"GeometryType\"=" + ((int)geometryType.Polyline).ToString() + " AND \"ID\" in("); for (int i = 0; i < tab.Rows.Count; i++) { if (i > 0) { where.Append(","); } where.Append(tab.Rows[i]["fcid"].ToString()); } where.Append(")"); tab = _fdb.Select("\"ID\",\"Name\"", "\"FDB_FeatureClasses\"", where.ToString()); if (tab != null) { foreach (DataRow row in tab.Rows) { element = _dataset[row["name"].ToString()]; if (element != null && element.Class is IFeatureClass) { _edgeFcs.Add((int)row["id"], element.Class as IFeatureClass); } } } } _weights = _fdb.GraphWeights(name); Dictionary <Guid, string> weightTableNames = null; Dictionary <Guid, GraphWeightDataType> weightDataTypes = null; if (_weights != null && _weights.Count > 0) { weightTableNames = new Dictionary <Guid, string>(); weightDataTypes = new Dictionary <Guid, GraphWeightDataType>(); foreach (IGraphWeight weight in _weights) { if (weight == null) { continue; } weightTableNames.Add(weight.Guid, _fdb.TableName(_name + "_Weights_" + weight.Guid.ToString("N").ToLower())); weightDataTypes.Add(weight.Guid, weight.DataType); } } _pageManager = new NetworkObjectSerializer.PageManager( gView.Framework.Db.DataProvider.PostgresProvider, _fdb.ConnectionString, _name, _fdb.TableName("FC_" + _name), _fdb.TableName(_name + "_Edges"), _fdb.TableName("FC_" + name + "_Nodes"), weightTableNames, weightDataTypes, _fdb ); }
public pgFeatureClass(pgFDB fdb, IDataset dataset, GeometryDef geomDef, BinarySearchTree tree) : this(fdb, dataset, geomDef) { _searchTree = tree; }
public pgFDBGraphTableAdapter(pgFDB fdb, pgNetworkFeatureClass nfc) { _connString = fdb.ConnectionString; _nfc = nfc; _name = _nfc.Name; //name; }