Exemple #1
0
        public Task <IExplorerObject> CreateExplorerObject(IExplorerObject parentExObject)
        {
            if (!CanCreate(parentExObject))
            {
                return(null);
            }

            SaveFileDialog dlg = new SaveFileDialog();

            dlg.Title            = "New SQLite Feature Database...";
            dlg.Filter           = "SQLite DB(*.fdb)|*.fdb";
            dlg.InitialDirectory = parentExObject.FullName;
            dlg.FileName         = "database1.fdb";

            if (dlg.ShowDialog() == DialogResult.OK)
            {
                SQLiteFDB fdb = new SQLiteFDB();
                if (!fdb.Create(dlg.FileName))
                {
                    MessageBox.Show(fdb.LastErrorMessage, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return(Task.FromResult <IExplorerObject>(null));
                }
                _filename = dlg.FileName;
                return(Task.FromResult <IExplorerObject>(this));
            }
            return(null);
        }
Exemple #2
0
        public IExplorerObject CreateExplorerObject(IExplorerObject parentExObject)
        {
            if (!CanCreate(parentExObject))
            {
                return(null);
            }

            SaveFileDialog dlg = new SaveFileDialog();

            dlg.Title    = "New SQLite Feature Database...";
            dlg.Filter   = "SQLite DB(*.fdb)|*.fdb";
            dlg.FileName = parentExObject.FullName + @"\database1.fdb";

            if (dlg.ShowDialog() == DialogResult.OK)
            {
                SQLiteFDB fdb = new SQLiteFDB();
                if (!fdb.Create(dlg.FileName))
                {
                    MessageBox.Show(fdb.lastErrorMsg, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    return(null);
                }
                _filename = dlg.FileName;
                return(this);
            }
            return(null);
        }
        public SQLiteFDBImageCatalogClass(IRasterDataset dataset, SQLiteFDB 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;
                }
            }
        }
 public SQLiteFDBImageDatasetImageClass(SQLiteFDB fdb, string dsname, int ID, Polygon polygon)
 {
     _fdb     = fdb;
     _ID      = ID;
     _polygon = polygon;
     _dsname  = dsname;
 }
Exemple #5
0
        async public Task <IExplorerFileObject> CreateInstance(IExplorerObject parent, string filename)
        {
            string f = filename.ToLower();

            if (!f.ToLower().EndsWith(".fdb"))
            {
                return(null);
            }

            try
            {
                if (!(new FileInfo(f).Exists))
                {
                    return(null);
                }

                using (SQLiteFDB fdb = new SQLiteFDB())
                {
                    if (!await fdb.Open(f) || !await fdb.IsValidAccessFDB())
                    {
                        return(null);
                    }
                }
            }
            catch { return(null); }

            return(new SQLiteFDBExplorerObject(parent, filename));
        }
Exemple #6
0
        async static public Task <SQLiteFDBFeatureClass> Create(SQLiteFDB fdb, IDataset dataset, GeometryDef geomDef, BinarySearchTree tree)
        {
            var fc = await Create(fdb, dataset, geomDef);

            fc._searchTree = tree;

            return(fc);
        }
Exemple #7
0
 public void Dispose()
 {
     if (_fdb != null)
     {
         _fdb.Dispose();
         _fdb = null;
     }
 }
Exemple #8
0
            public NetworkFeatureCursor(SQLiteFDB fdb, string networkName, List <IFeatureClass> edgeFcs, IFeatureClass nodeFc, IQueryFilter filter)
            {
                _fdb         = fdb;
                _networkName = networkName;

                _edgeFcs = edgeFcs;
                _nodeFc  = nodeFc;
                _filter  = filter;
            }
        public void Load(IPersistStream stream)
        {
            string connectionString = (string)stream.Load("connectionstring", "");

            if (_fdb != null)
            {
                _fdb.Dispose();
                _fdb = null;
            }

            this.ConnectionString = connectionString;
            this.Open();
        }
Exemple #10
0
        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);
                    }
                }
            }
        }
Exemple #11
0
        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());
        }
        public SQLiteFDBFeatureClass(SQLiteFDB 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();
        }
        internal SQLiteFDBDataset(SQLiteFDB fdb, string dsname)
            : this()
        {
            _dsname = dsname;
            string connStr = fdb.DatabaseConnectionString;

            if (!connStr.Contains(";dsname=" + dsname))
            {
                connStr += ";dsname=" + dsname;
            }

            this.ConnectionString = connStr;

            Open();
        }
Exemple #14
0
        async public Task <IExplorerObject> CreateExplorerObject(IExplorerObject parentExObject)
        {
            if (!CanCreate(parentExObject))
            {
                return(null);
            }

            var instance = await parentExObject.GetInstanceAsync();

            if (!(instance is IFeatureDataset) || !(((IDataset)instance).Database is SQLiteFDB))
            {
                return(null);
            }
            SQLiteFDB fdb = ((IDataset)instance).Database as SQLiteFDB;

            FormNewFeatureclass dlg = await FormNewFeatureclass.Create(instance as IFeatureDataset);

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

            IGeometryDef gDef = dlg.GeometryDef;

            int FCID = await fdb.CreateFeatureClass(
                parentExObject.Name,
                dlg.FeatureclassName,
                gDef,
                dlg.Fields);

            if (FCID < 0)
            {
                MessageBox.Show("ERROR: " + fdb.LastErrorMessage);
                return(null);
            }

            ISpatialIndexDef sIndexDef = await fdb.SpatialIndexDef(parentExObject.Name);

            await fdb.SetSpatialIndexBounds(dlg.FeatureclassName, "BinaryTree2", dlg.SpatialIndexExtents, 0.55, 200, dlg.SpatialIndexLevels);

            IDatasetElement element = await((IFeatureDataset)instance).Element(dlg.FeatureclassName);

            return(new SQLiteFDBFeatureClassExplorerObject(
                       parentExObject as SQLiteFDBDatasetExplorerObject,
                       _filename,
                       parentExObject.Name,
                       element));
        }
Exemple #15
0
        public IExplorerObject CreateExplorerObject(IExplorerObject parentExObject)
        {
            if (!CanCreate(parentExObject))
            {
                return(null);
            }

            if (!(parentExObject.Object is IFeatureDataset) || !(((IDataset)parentExObject.Object).Database is SQLiteFDB))
            {
                return(null);
            }
            SQLiteFDB fdb = ((IDataset)parentExObject.Object).Database as SQLiteFDB;

            FormNewFeatureclass dlg = new FormNewFeatureclass(parentExObject.Object as IFeatureDataset);

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

            IGeometryDef gDef = dlg.GeometryDef;

            int FCID = fdb.CreateFeatureClass(
                parentExObject.Name,
                dlg.FeatureclassName,
                gDef,
                dlg.Fields);

            if (FCID < 0)
            {
                MessageBox.Show("ERROR: " + fdb.lastErrorMsg);
                return(null);
            }

            ISpatialIndexDef sIndexDef = fdb.SpatialIndexDef(parentExObject.Name);

            fdb.SetSpatialIndexBounds(dlg.FeatureclassName, "BinaryTree2", dlg.SpatialIndexExtents, 0.55, 200, dlg.SpatialIndexLevels);

            IDatasetElement element = ((IFeatureDataset)parentExObject.Object)[dlg.FeatureclassName];

            return(new SQLiteFDBFeatureClassExplorerObject(
                       parentExObject as SQLiteFDBDatasetExplorerObject,
                       _filename,
                       parentExObject.Name,
                       element));
        }
Exemple #16
0
        async static public Task <SQLiteFDBFeatureClass> Create(SQLiteFDB fdb, IDataset dataset, GeometryDef geomDef)
        {
            var fc = new SQLiteFDBFeatureClass();

            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);
        }
Exemple #17
0
        async static internal Task <SQLiteFDBDataset> Create(SQLiteFDB fdb, string dsname)
        {
            var ds = new SQLiteFDBDataset();

            ds._dsname = dsname;
            string connStr = fdb.DatabaseConnectionString;

            if (!connStr.Contains(";dsname=" + dsname))
            {
                connStr += ";dsname=" + dsname;
            }

            await ds.SetConnectionString(connStr);

            await ds.Open();

            return(ds);
        }
Exemple #18
0
        async private Task <string[]> DatasetNames()
        {
            try
            {
                SQLiteFDB fdb = new SQLiteFDB();
                if (!await fdb.Open(_filename))
                {
                    _errMsg = fdb.LastErrorMessage;
                    return(null);
                }
                string[] ds = await fdb.DatasetNames();

                string[] dsMod = new string[ds.Length];

                int i = 0;
                foreach (string dsname in ds)
                {
                    var isImageDatasetResult = await fdb.IsImageDataset(dsname);

                    string imageSpace = isImageDatasetResult.imageSpace;
                    if (isImageDatasetResult.isImageDataset)
                    {
                        dsMod[i++] = "#" + dsname;
                    }
                    else
                    {
                        dsMod[i++] = dsname;
                    }
                }
                if (ds == null)
                {
                    _errMsg = fdb.LastErrorMessage;
                }

                fdb.Dispose();

                return(dsMod);
            }
            catch (Exception ex)
            {
                _errMsg = ex.Message;
                return(null);
            }
        }
Exemple #19
0
        async public Task <IExplorerObject> CreateExplorerObject(IExplorerObject parentExObject)
        {
            if (!CanCreate(parentExObject))
            {
                return(null);
            }

            FormNewDataset dlg = new FormNewDataset();

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

            SQLiteFDB fdb = new SQLiteFDB();
            await fdb.Open(parentExObject.FullName);

            int dsID = -1;

            string datasetName = dlg.DatasetName;

            switch (dlg.DatasetType)
            {
            case FormNewDataset.datasetType.FeatureDataset:
                dsID = await fdb.CreateDataset(datasetName, dlg.SpatialReferene);

                break;

            case FormNewDataset.datasetType.ImageDataset:
                dsID = await fdb.CreateImageDataset(datasetName, dlg.SpatialReferene, null, dlg.ImageSpace, dlg.AdditionalFields);

                datasetName = "#" + datasetName;
                break;
            }

            if (dsID == -1)
            {
                MessageBox.Show(fdb.LastErrorMessage, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(null);
            }

            return(new SQLiteFDBDatasetExplorerObject(parentExObject, parentExObject.FullName, datasetName));
        }
Exemple #20
0
        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();
            }
        }
Exemple #21
0
        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 SQLiteFDB();
            }

            _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);
        }
 public SQLiteFDBFeatureClass(SQLiteFDB fdb, IDataset dataset, GeometryDef geomDef, BinarySearchTree tree)
     : this(fdb, dataset, geomDef)
 {
     _searchTree = tree;
 }
Exemple #23
0
        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...");
        }
Exemple #24
0
        public SQLiteFDBNetworkFeatureClass(SQLiteFDB 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(Convert.ToInt32(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.SQLiteProviderFactory,
                _fdb.ConnectionString, _name,
                _fdb.TableName("FC_" + _name),
                _fdb.TableName(_name + "_Edges"),
                _fdb.TableName("FC_" + name + "_Nodes"),
                weightTableNames, weightDataTypes, _fdb
                );
        }
Exemple #25
0
 public SQLiteFDBDataset()
 {
     _addedLayers = new List <string>();
     _fdb         = new SQLiteFDB();
 }
Exemple #26
0
 public SQLiteFDBGraphTableAdapter(SQLiteFDB fdb, SQLiteFDBNetworkFeatureClass nfc)
 {
     _connString = fdb.ConnectionString;
     _nfc        = nfc;
     _name       = _nfc.Name; //name;
 }