Exemplo n.º 1
0
 public void Dispose()
 {
     try
     {
         if (_grids != null)
         {
             foreach (IGrid grid in _grids)
             {
                 grid.Dispose();
             }
             _grids.Clear();
         }
         if (_dataSource != null)
         {
             _dataSource.DataSourceChanged -= new EventHandler(DataSourceChanged);
             _dataSource.Dispose();
             _dataSource = null;
         }
         _currentRuntimeProjecter = null;
         _gridDefinition          = null;
         _limiter = null;
     }
     finally
     {
         _disposed = true;
     }
 }
Exemplo n.º 2
0
 public FeatureClass(FeatureDataSourceBase dataSource)
 {
     _gridDefinition   = new GridDefinition();
     _limiter          = new MemoryGridLimiter();
     _dataSource       = dataSource;
     _spatialReference = _dataSource.GetSpatialReference();
     InitConstructor();
 }
Exemplo n.º 3
0
 public FeatureClass(string filename)
 {
     _gridDefinition   = new GridDefinition();
     _limiter          = new MemoryGridLimiter();
     _dataSource       = new FileDataSource(Path.GetFileNameWithoutExtension(filename), filename);
     _spatialReference = _dataSource.GetSpatialReference();
     InitConstructor();
 }
Exemplo n.º 4
0
        public static IFeatureClass FromXElement(XElement ele)
        {
            if (ele == null)
            {
                return(null);
            }
            GridDefinition    gridDef = GridDefinition.FromXElement(ele.Element("GridDef"));
            MemoryGridLimiter limiter = MemoryGridLimiter.FromXElement(ele.Element("MemoryLimiter"));
            object            ds      = PersistObject.ReflectObjFromXElement(ele.Element("DataSource"));

            if (ds == null)
            {
                return(null);
            }
            FeatureDataSourceBase dataSource = (FeatureDataSourceBase)ds;

            return(new FeatureClass(gridDef, limiter, dataSource));
        }
Exemplo n.º 5
0
 public FeatureClass(GridDefinition gridDef, MemoryGridLimiter limiter, FeatureDataSourceBase dataSource)
 {
     if (gridDef != null)
     {
         _gridDefinition = gridDef;
     }
     if (limiter != null)
     {
         _limiter = limiter;
     }
     if (dataSource == null)
     {
         throw new ArgumentNullException("构造VectorFeatureClass对象,\"DataSource\"不能为空。");
     }
     _dataSource = dataSource;
     _dataSource.SetFeatureClass(this);
     _spatialReference = _dataSource.GetSpatialReference();
     InitConstructor();
 }