Пример #1
0
 public void ChangeCurrentLayerReadWriteMode(GeoFileReadWriteMode mode)
 {
     if (SelectedLayer is ShapeFileFeatureLayer)
     {
         ShapeFileFeatureLayer layer = (ShapeFileFeatureLayer)SelectedLayer;
         lock (layer)
         {
             layer.Close();
             layer.ReadWriteMode = mode;
         }
     }
 }
        private void OpenRtree(string idxPathFileName, GeoFileReadWriteMode rTreeFileAccess)
        {
            if (RequireIndex)
            {
                if (rTreeIndex == null)
                {
                    rTreeIndex = new RtreeSpatialIndex(idxPathFileName, rTreeFileAccess);
                }

                rTreeIndex.Open();
            }
        }
        internal void ChangeCurrentLayerReadWriteMode(GeoFileReadWriteMode shapeFileReadWriteMode, FeatureLayer selectedLayer)
        {
            ShapeFileFeatureLayer layer = selectedLayer as ShapeFileFeatureLayer;

            if (layer != null || layer.ReadWriteMode != shapeFileReadWriteMode)
            {
                lock (layer)
                {
                    layer.Close();
                    layer.ReadWriteMode = shapeFileReadWriteMode;
                }
            }
        }
        protected override void OpenCore()
        {
            fileAccess = FileAccess.Read;
            GeoFileReadWriteMode rTreeFileAccess = GeoFileReadWriteMode.Read;

            if (shapeFileReadWriteMode == GeoFileReadWriteMode.ReadWrite)
            {
                fileAccess      = FileAccess.ReadWrite;
                rTreeFileAccess = GeoFileReadWriteMode.ReadWrite;
            }

            Validator.CheckTobinBasFileName(tobinBasFilePathName);

            basReader = new BasReader(this.tobinBasFilePathName, fileAccess);

            OpenRtree(rTreeFileAccess);
        }
        private void OpenRtree(GeoFileReadWriteMode rTreeFileAccess)
        {
            if (rTreeIndex == null && requireIndex)
            {
                rTreeIndex = new RtreeSpatialIndex(indexPathFileName, rTreeFileAccess);
            }

            //rTreeIndex.StreamLoading += new EventHandler<StreamLoadingEventArgs>(ShapeFileFeatureSource_StreamLoading);
            //rTreeIndex.IdsEngine.StreamLoading += new EventHandler<StreamLoadingEventArgs>(ShapeFileFeatureSource_StreamLoading);

            if (requireIndex)
            {
                rTreeIndex.Open();
            }

            //if (!rTreeIndex.HasIdx && requireIndex)
            //{
            //    throw new InvalidOperationException(ExceptionDescription.IndexFileNotExisted);
            //}
        }
Пример #6
0
        // Used by LandPro.
        public static void SetLayerAccess(this FeatureLayer featureLayer, LayerAccessMode layerAccessMode)
        {
            ShapeFileFeatureLayer shapeFileFeatureLayer = featureLayer as ShapeFileFeatureLayer;

            if (shapeFileFeatureLayer != null)
            {
                GeoFileReadWriteMode readWriteMode = GeoFileReadWriteMode.Read;
                switch (layerAccessMode)
                {
                case LayerAccessMode.Write:
                case LayerAccessMode.ReadWrite:
                    readWriteMode = GeoFileReadWriteMode.ReadWrite;
                    break;

                case LayerAccessMode.Read:
                default:
                    readWriteMode = GeoFileReadWriteMode.Read;
                    break;
                }
                shapeFileFeatureLayer.ReadWriteMode = readWriteMode;
            }
        }
Пример #7
0
 public GisEditorTabFeatureSource(string tabPathFilename, GeoFileReadWriteMode readWriteMode)
     : base(tabPathFilename, readWriteMode)
 {
 }