public void BeginExecuteQueryBlockUntilDone()
        {
            MockRepository   mocks        = new MockRepository();
            IFeatureProvider adapted      = mocks.CreateMock <IFeatureProvider>();
            IExtents         iExtentsStub =
                MockRepository.GenerateStub <IExtents>();
            FeatureQueryExpression featureQueryExpressionStub =
                MockRepository.GenerateStub <FeatureQueryExpression>(iExtentsStub, SpatialOperation.Intersects);

            _returnReaderStub = MockRepository.GenerateStub <IFeatureDataReader>();
            _sleepInterval    = 750;

            using (mocks.Unordered())
            {
                Expect.Call(adapted.ExecuteFeatureQuery(featureQueryExpressionStub))
                .Do(new ExecuteQueryDelegate(executeQueryMock));
            }
            mocks.ReplayAll();

            AsyncFeatureProviderAdapter adapter = new AsyncFeatureProviderAdapter(adapted);
            IAsyncResult ar = adapter.BeginExecuteQuery(featureQueryExpressionStub, null);

            Assert.NotNull(ar);

            Stopwatch timer = Stopwatch.StartNew();

            Assert.Same(_returnReaderStub, adapter.EndExecuteQuery(ar));
            timer.Stop();

            Assert.True(ar.IsCompleted);
            Assert.False(ar.CompletedSynchronously);
            Assert.True(timer.ElapsedMilliseconds > 500L);

            mocks.VerifyAll();
        }
Example #2
0
        /// <summary>
        /// initialize a Gdal based raster layer
        /// </summary>
        /// <param name="name">Name of layer</param>
        /// <param name="path">location of image</param>
        public GdalRasterLayer(string name, string path)
        {
            base.Name = name;

            CustomRenderers.Clear();
            CustomRenderers.Add(new GdalRenderer(this)); // add optimized custom gdal renderer

            if (path == null)
            {
                return;
            }

            var rasterFeatureProvider = new GdalFeatureProvider();

            try
            {
                rasterFeatureProvider.Open(path);
            }
            catch (Exception e)
            {
                log.Error("Can't open raster file, path: " + path, e);
            }

            DataSource = rasterFeatureProvider;
        }
        public void RenderFeatureTest()
        {
            IFeatureProvider   provider       = DataSourceHelper.CreateGeometryDatasource(_factories.GeoFactory);
            TestVectorRenderer vectorRenderer = new TestVectorRenderer();
            BasicGeometryRenderer2D <RenderObject> geometryRenderer =
                new BasicGeometryRenderer2D <RenderObject>(vectorRenderer);

            FeatureDataTable       features = new FeatureDataTable(_factories.GeoFactory);
            IExtents               extents  = provider.GetExtents();
            FeatureQueryExpression query    = new FeatureQueryExpression(extents.ToGeometry(),
                                                                         SpatialOperation.Intersects,
                                                                         provider);

            features.Merge(provider.ExecuteFeatureQuery(query) as IEnumerable <IFeatureDataRecord>,
                           provider.GeometryFactory);

            foreach (FeatureDataRow feature in features)
            {
                IGeometry           g = feature.Geometry;
                List <RenderObject> renderedObjects = new List <RenderObject>(geometryRenderer.RenderFeature(feature));

                for (Int32 i = 0; i < renderedObjects.Count; i++)
                {
                    RenderObject ro = renderedObjects[i];
                }
            }
        }
        public void BeginExecuteQueryPollingNotification()
        {
            MockRepository   mocks        = new MockRepository();
            IFeatureProvider adapted      = mocks.CreateMock <IFeatureProvider>();
            IExtents         iExtentsStub =
                MockRepository.GenerateStub <IExtents>();
            FeatureQueryExpression featureQueryExpressionStub =
                MockRepository.GenerateStub <FeatureQueryExpression>(iExtentsStub, SpatialOperation.Intersects);

            _returnReaderStub = MockRepository.GenerateStub <IFeatureDataReader>();
            _sleepInterval    = 1000;

            using (mocks.Unordered())
            {
                Expect.Call(adapted.ExecuteFeatureQuery(featureQueryExpressionStub))
                .Do(new ExecuteQueryDelegate(executeQueryMock));
            }
            mocks.ReplayAll();

            AsyncFeatureProviderAdapter adapter = new AsyncFeatureProviderAdapter(adapted);
            IAsyncResult ar = adapter.BeginExecuteQuery(featureQueryExpressionStub, null);

            Assert.NotNull(ar);
            Assert.False(ar.IsCompleted);
            while (!ar.IsCompleted)
            {
                Thread.Sleep(350);
            }

            Assert.True(ar.IsCompleted);
            Assert.Same(_returnReaderStub, adapter.EndExecuteQuery(ar));

            mocks.VerifyAll();
        }
        public void ConstructorSucceeds()
        {
            MockRepository   mocks   = new MockRepository();
            IFeatureProvider adapted = mocks.CreateMock <IFeatureProvider>();

            AsyncFeatureProviderAdapter adapter = new AsyncFeatureProviderAdapter(adapted);
        }
Example #6
0
        public void SetCoordinate(IFeature feature, int coordinateIndex, ICoordinate coordinate)
        {
            IGeometry geometry = feature.Geometry;
            Collection <IGeometry> trackers      = new Collection <IGeometry>();
            List <int>             handleIndices = new List <int>();

            for (int i = 0; i < geometry.Coordinates.Length; i++)
            {
                trackers.Add(GeometryFactory.CreatePoint((ICoordinate)geometry.Coordinates[i].Clone()));
            }
            handleIndices.Add(coordinateIndex);

            IFeatureProvider provider = GetFeatureProviderByFeature(feature);
            int geometryIndex         = provider.IndexOf(feature);

            if (geometryIndex == -1)
            {
                log.DebugFormat("Can't find layer for geometry (via feature): {0}", geometry);
                return;
            }

            IGeometry updatedGeometry = (IGeometry)geometry.Clone();

            double deltaX = coordinate.X - geometry.Coordinates[coordinateIndex].X;
            double deltaY = coordinate.Y - geometry.Coordinates[coordinateIndex].Y;

            fallOffPolicy.Reset();
            fallOffPolicy.Move(updatedGeometry, trackers, handleIndices, coordinateIndex, deltaX, deltaY);
            fallOffPolicy.Reset();

            ((IFeature)provider.Features[geometryIndex]).Geometry = updatedGeometry;
        }
 public BicepCompletionHandler(ILogger <BicepCompletionHandler> logger, ICompilationManager compilationManager, ICompletionProvider completionProvider, IFeatureProvider featureProvider)
 {
     this.logger             = logger;
     this.compilationManager = compilationManager;
     this.completionProvider = completionProvider;
     this.featureProvider    = featureProvider;
 }
Example #8
0
        ///// <summary>
        ///// Initializes a new, empty features layer
        ///// which handles <see cref="FeatureDataTable.SelectRequested"/>
        ///// events from <see cref="Features"/>.
        ///// </summary>
        //protected FeatureLayer(IFeatureProvider dataSource)
        //    : this(String.Empty, dataSource) { }

        ///// <summary>
        ///// Initializes a new features layer with the given name and datasource
        ///// and which handles <see cref="FeatureDataTable.SelectRequested"/>
        ///// events from <see cref="Features"/>.
        ///// </summary>
        ///// <param name="layername">Name of the layer.</param>
        ///// <param name="dataSource">Data source.</param>
        //protected FeatureLayer(String layername, IFeatureProvider dataSource)
        //    : this(layername, new FeatureStyle(), dataSource) { }

        /// <summary>
        /// Initializes a new features layer with the given name, style and datasource
        /// and which handles <see cref="FeatureDataTable.SelectRequested"/>
        /// events from <see cref="Features"/>.
        /// </summary>
        /// <param name="layername">Name of the layer.</param>
        /// <param name="style">Style to apply to the layer.</param>
        /// <param name="dataSource">Data source.</param>
        protected FeatureLayer(String layername,
                               FeatureStyle style,
                               IFeatureProvider dataSource)
            : base(layername, style, dataSource)
        {
            //ShouldHandleFeaturesNotFoundEvent = handleFeatureDataRequest;

            // We need to get the schema of the feature table.
            DataSource.Open();
            _features = DataSource.CreateNewTable()
                        ?? new FeatureDataTable(dataSource.GeometryFactory);
            GeometryFactory = dataSource.GeometryFactory;
            DataSource.Close();

            // We generally want spatial indexing on the feature table...
            _features.IsSpatiallyIndexed = true;

            // handle the request on the feature data table for features
            _features.SelectRequested += handleFeaturesSelectRequested;

            // setup selected and highlighted views
            _selectedFeatures = new FeatureDataView(_features,
                                                    (FeatureQueryExpression)null,
                                                    "",
                                                    DataViewRowState.CurrentRows);
            _selectedFeatures.IsViewDefinitionExclusive = true;

            _highlightedFeatures = new FeatureDataView(_features,
                                                       (FeatureQueryExpression)null,
                                                       "",
                                                       DataViewRowState.CurrentRows);
            _highlightedFeatures.IsViewDefinitionExclusive = true;
        }
 public DefaultModuleRegistryProvider(IFileResolver fileResolver, IContainerRegistryClientFactory clientFactory, ITemplateSpecRepositoryFactory templateSpecRepositoryFactory, IFeatureProvider features)
 {
     this.fileResolver = fileResolver;
     this.clientFactory = clientFactory;
     this.templateSpecRepositoryFactory = templateSpecRepositoryFactory;
     this.features = features;
 }
Example #10
0
 public BicepCompilationProvider(IFeatureProvider features, INamespaceProvider namespaceProvider, IFileResolver fileResolver, IModuleDispatcher moduleDispatcher)
 {
     this.features          = features;
     this.namespaceProvider = namespaceProvider;
     this.fileResolver      = fileResolver;
     this.moduleDispatcher  = moduleDispatcher;
 }
Example #11
0
            protected override void Arrange()
            {
                _feature = Stub <IFeature>();

                A.CallTo(() => _feature.IsEnabled()).Returns(true);

                _systemUnderTest = new FeatureProvider(new [] { _feature });
            }
Example #12
0
 public TemplateDecompiler(IFeatureProvider features, INamespaceProvider namespaceProvider, IFileResolver fileResolver, IModuleRegistryProvider registryProvider, IConfigurationManager configurationManager)
 {
     this.features             = features;
     this.namespaceProvider    = namespaceProvider;
     this.fileResolver         = fileResolver;
     this.registryProvider     = registryProvider;
     this.configurationManager = configurationManager;
 }
        public IFeatureProvider ConstructSourceProvider(IGeometryServices geometryServices)
        {
            Console.WriteLine(
                "Please enter the connection string for the source server. Press Enter to use the following:");
            Console.WriteLine(Settings.Default.SourceConnectionString);

            string connectionString = Console.ReadLine();

            if (connectionString == "")
            {
                connectionString = Settings.Default.SourceConnectionString;
            }
            else
            {
                Settings.Default.SourceConnectionString = connectionString;
            }
            Settings.Default.Save();

            Console.WriteLine("Please enter the data tables' schema");
            string dtschema = Console.ReadLine();

            Console.WriteLine("Please enter the table name.");
            string tableName = Console.ReadLine();

            Console.WriteLine("Please enter the id column name. (CaSe sensitive)");
            _oidColumn = Console.ReadLine();
            Console.WriteLine("Please enter the geometry column name. (CaSe sensitive)");
            string geometryColumn = Console.ReadLine();

            Console.WriteLine("Please enter the SRID (e.g EPSG:4326)");
            string srid = Console.ReadLine();

            Type type;
            SqlServerDbUtility dbUtility = new SqlServerDbUtility();

            using (IDbConnection conn = dbUtility.CreateConnection(connectionString))
            {
                using (IDbCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = string.Format("SELECT TOP 1 [{0}] FROM [{1}].[{2}] ", _oidColumn, dtschema,
                                                    tableName);
                    cmd.CommandType = CommandType.Text;
                    conn.Open();
                    type = cmd.ExecuteScalar().GetType();
                }
            }

            Type t           = typeof(MsSqlServer2008Provider <>);
            Type specialized = t.MakeGenericType(type);

            _sourceProvider =
                (IFeatureProvider)
                Activator.CreateInstance(specialized, geometryServices[srid], connectionString, dtschema, tableName,
                                         _oidColumn, geometryColumn);
            _sourceProvider.Open();
            _sourceProviderOidType = type;
            return(_sourceProvider);
        }
        public void IFeatureProviderMethodsPassThroughAdapter()
        {
            MockRepository   mocks   = new MockRepository();
            IFeatureProvider adapted = mocks.CreateMock <IFeatureProvider>();
            IGeometryFactory iGeometryFactoryStub =
                MockRepository.GenerateStub <IGeometryFactory>();
            FeatureDataTable featureDataTableStub =
                MockRepository.GenerateStub <FeatureDataTable>(iGeometryFactoryStub);
            IFeatureDataReader iFeatureDataReaderStub =
                MockRepository.GenerateStub <IFeatureDataReader>();
            IExtents iExtentsStub =
                MockRepository.GenerateStub <IExtents>();
            FeatureQueryExpression featureQueryExpressionStub =
                MockRepository.GenerateStub <FeatureQueryExpression>(iExtentsStub, SpatialOperation.Intersects);
            FeatureQueryExecutionOptions featureQueryExecutionOptionsStub =
                new FeatureQueryExecutionOptions();
            DataTable dataTableStub =
                MockRepository.GenerateStub <DataTable>();
            CultureInfo cultureInfoStub =
                MockRepository.GenerateStub <CultureInfo>(1);

            using (mocks.Unordered())
            {
                Expect.Call(adapted.CreateNewTable())
                .Return(featureDataTableStub);
                Expect.Call(adapted.ExecuteFeatureQuery(featureQueryExpressionStub, featureQueryExecutionOptionsStub))
                .Return(iFeatureDataReaderStub);
                Expect.Call(adapted.ExecuteFeatureQuery(featureQueryExpressionStub))
                .Return(iFeatureDataReaderStub);
                adapted.GeometryFactory = iGeometryFactoryStub;
                Expect.Call(adapted.GeometryFactory)
                .Return(iGeometryFactoryStub);
                Expect.Call(adapted.GetFeatureCount())
                .Return(3);
                Expect.Call(adapted.GetSchemaTable())
                .Return(dataTableStub);
                Expect.Call(adapted.Locale)
                .Return(cultureInfoStub);
                adapted.SetTableSchema(featureDataTableStub);
            }
            mocks.ReplayAll();

            AsyncFeatureProviderAdapter adapter = new AsyncFeatureProviderAdapter(adapted);

            Assert.Same(featureDataTableStub, adapter.CreateNewTable());
            Assert.Same(iFeatureDataReaderStub,
                        adapter.ExecuteFeatureQuery(featureQueryExpressionStub, featureQueryExecutionOptionsStub));
            Assert.Same(iFeatureDataReaderStub,
                        adapter.ExecuteFeatureQuery(featureQueryExpressionStub));
            adapter.GeometryFactory = iGeometryFactoryStub;
            Assert.Same(iGeometryFactoryStub, adapter.GeometryFactory);
            Assert.Equal(3, adapter.GetFeatureCount());
            Assert.Same(dataTableStub, adapter.GetSchemaTable());
            Assert.Same(cultureInfoStub, adapter.Locale);
            adapter.SetTableSchema(featureDataTableStub);

            mocks.VerifyAll();
        }
Example #15
0
 /// <summary>
 /// Builds from the given provider.
 /// </summary>
 /// <param name="provider">
 /// The base <see cref="SharpMap.Data.Providers.IFeatureProvider"/>
 /// from witch initialize the <see cref="NtsProvider"/> instance.
 /// </param>
 private void BuildFromProvider(IFeatureProvider provider)
 {
     // Load all features from the given provider
     features = new ArrayList();
     foreach (var feature in provider.Features)
     {
         features.Add(feature);
     }
 }
Example #16
0
        public TypeManager(IFeatureProvider features, IBinder binder, IFileResolver fileResolver)
        {
            // bindings will be modified by name binding after this object is created
            // so we can't make an immutable copy here
            // (using the IReadOnlyDictionary to prevent accidental mutation)
            this.typeAssignmentVisitor = new TypeAssignmentVisitor(this, features, binder, fileResolver);

            this.declaredTypeManager = new DeclaredTypeManager(this, binder);
        }
        public IFeatureProvider ConstructSourceProvider(IGeometryServices geometryServices)
        {
            header("Construct PostGis source provider\n" +
                   "* Author Felix Obermaier 2009\n" +
                   "* Ingenieurgruppe IVV GmbH & Co. KG\n" +
                   "* http://www.ivv-aachen.de");

            string connectionString = GetValue(
                "Please enter the connection string for the source database file.",
                Settings.Default.SourceConnectionString);

            string schema = GetValue("Please enter the schema name",
                                     Settings.Default.SourceSchema);

            string tableName = GetValue("Please enter the table name.", null);

            _oidColumn = GetValue("Please enter the id column name.", null);

            string geometryColumn = GetValue("Please enter the geometry column name.", null);

            Type             type;
            PostGisDbUtility dbUtility = new PostGisDbUtility();

            using (IDbConnection conn = dbUtility.CreateConnection(connectionString))
            {
                using (IDbCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = string.Format("SELECT \"{0}\" FROM \"{1}\".\"{2}\" LIMIT 1;", _oidColumn, schema,
                                                    tableName);
                    cmd.CommandType = CommandType.Text;
                    conn.Open();
                    type = cmd.ExecuteScalar().GetType();
                }
            }

            _sourceProviderOidType = type;

            Type t           = typeof(PostGisProvider <>);
            Type specialized = t.MakeGenericType(type);

            _sourceProvider =
                (IFeatureProvider)
                Activator.CreateInstance(specialized,
                                         geometryServices.DefaultGeometryFactory,
                                         connectionString, schema, tableName,
                                         _oidColumn,
                                         geometryColumn,
                                         geometryServices.CoordinateTransformationFactory);
            _sourceProvider.Open();

            _sourceProvider.CoordinateTransformation =
                SetCoordinateTransfromation(_sourceProvider.OriginalSpatialReference);

            _sourceProvider.Open();

            return(_sourceProvider);
        }
Example #18
0
        private IFeature AddNewFeatureFromGeometryDelegate(IFeatureProvider featureProvider, IGeometry geometry)
        {
            if (FeatureEditor != null)
            {
                return(FeatureEditor.AddNewFeatureByGeometry(this, geometry));
            }

            throw new NotImplementedException();
        }
Example #19
0
        /// <summary>
        /// Adds <paramref name="container"/> as feature provider.
        /// </summary>
        /// <param name="container">A instance of feature container.</param>
        /// <returns>Self (for fluency).</returns>
        public FeatureCollection AddFeatureContainer(IFeatureProvider container)
        {
            Ensure.NotNull(container, "container");

            lock (storageLock)
                featureModels.Add(container);

            return(this);
        }
Example #20
0
        /// <summary>
        /// Initialises a new instance of <see cref="FeatureStateProvider"/>.
        /// </summary>
        /// <param name="featureProvider">The feature provider.</param>
        /// <param name="configuration">The configuration.</param>
        public FeatureStateProvider(IFeatureProvider featureProvider, IConfiguration configuration)
        {
            _featureProvider = Ensure.IsNotNull(featureProvider, nameof(featureProvider));

            _featuresConfigurationRoot = Ensure.IsNotNull(configuration, nameof(configuration)).GetSection("Features");
            _tenantsConfigurationRoot  = configuration.GetSection("Tenants");

            _rootScope = new FeatureStateProviderScope(_featuresConfigurationRoot, featureProvider, null);
        }
Example #21
0
        public void DuplicateLayerNamesThrowsException()
        {
            Map map = new Map(_factories.GeoFactory);
            IFeatureProvider dataSource = DataSourceHelper.CreateFeatureDatasource(_factories.GeoFactory);

            map.AddLayer(new GeometryLayer("Layer 1", dataSource));
            map.AddLayer(new GeometryLayer("Layer 3", dataSource));
            map.AddLayer(new GeometryLayer("Layer 2", dataSource));
            Assert.Throws <DuplicateLayerException>(delegate { map.AddLayer(new GeometryLayer("Layer 3", dataSource)); });
        }
        public void EndExecuteQueryThrowsOnInvalidExpression()
        {
            MockRepository   mocks   = new MockRepository();
            IFeatureProvider adapted = MockRepository.GenerateStub <IFeatureProvider>();
            AsyncResult      result  = new AsyncResult(null, this);

            AsyncFeatureProviderAdapter adapter = new AsyncFeatureProviderAdapter(adapted);

            Assert.Throws <ArgumentException>(delegate { adapter.EndExecuteQuery(result); });
        }
Example #23
0
 public BranchController(IBranchService service,
                         ICompanyService companyService,
                         IFeatureProvider featureProvider,
                         IWarehouseService warehouseService) : base(service)
 {
     _service          = service;
     _companyService   = companyService;
     _featureProvider  = featureProvider;
     _warehouseService = warehouseService;
 }
Example #24
0
 public UserController(IUserService service,
                       ITenantProvider tenantProvider,
                       IFeatureProvider featureProvider,
                       ICompanyProvider companyProvider) : base(service)
 {
     _service         = service;
     _tenantProvider  = tenantProvider;
     _featureProvider = featureProvider;
     _companyProvider = companyProvider;
 }
 public BicepBuildCommandHandler(ICompilationManager compilationManager, ISerializer serializer, IFeatureProvider features, EmitterSettings emitterSettings, INamespaceProvider namespaceProvider, IFileResolver fileResolver, IModuleDispatcher moduleDispatcher, IConfigurationManager configurationManager)
     : base(LangServerConstants.BuildCommand, serializer)
 {
     this.compilationManager   = compilationManager;
     this.emitterSettings      = emitterSettings;
     this.features             = features;
     this.namespaceProvider    = namespaceProvider;
     this.fileResolver         = fileResolver;
     this.moduleDispatcher     = moduleDispatcher;
     this.configurationManager = configurationManager;
 }
Example #26
0
        private void bReturnDataSource_Click(object sender, EventArgs e)
        {
            IFeatureProvider prov = GetProvider();

            if (prov != null)
            {
                Provider     = prov;
                DialogResult = DialogResult.OK;
                Close();
            }
        }
        public void BeginExecuteQueryThrowsOnInvalidExpression()
        {
            MockRepository   mocks          = new MockRepository();
            IFeatureProvider adapted        = MockRepository.GenerateStub <IFeatureProvider>();
            Expression       expressionStub =
                MockRepository.GenerateStub <Expression>();

            AsyncFeatureProviderAdapter adapter = new AsyncFeatureProviderAdapter(adapted);

            Assert.Throws <ArgumentException>(delegate { adapter.BeginExecuteQuery(expressionStub, null); });
        }
        public void IProviderMethodsPassThroughAdapter()
        {
            MockRepository            mocks         = new MockRepository();
            IFeatureProvider          adapted       = mocks.CreateMock <IFeatureProvider>();
            ICoordinateTransformation transformStub =
                MockRepository.GenerateStub <ICoordinateTransformation>();
            Expression queryStub =
                MockRepository.GenerateStub <Expression>();
            Object objectStub =
                MockRepository.GenerateStub <Object>();
            IExtents extentsStub =
                MockRepository.GenerateStub <IExtents>();
            ICoordinateSystem coordinateSystemStub =
                MockRepository.GenerateStub <ICoordinateSystem>();

            using (mocks.Unordered())
            {
                adapted.Close();
                Expect.Call(adapted.ConnectionId)
                .Return("connectionid");
                adapted.CoordinateTransformation = transformStub;
                Expect.Call(adapted.CoordinateTransformation)
                .Return(transformStub);
                Expect.Call(adapted.ExecuteQuery(queryStub))
                .Return(objectStub);
                Expect.Call(adapted.GetExtents())
                .Return(extentsStub);
                Expect.Call(adapted.IsOpen)
                .Return(true);
                adapted.Open();
                Expect.Call(adapted.SpatialReference)
                .Return(coordinateSystemStub);
                //adapted.Srid = 1;
                Expect.Call(adapted.Srid)
                .Return("2");
            }
            mocks.ReplayAll();

            AsyncFeatureProviderAdapter adapter = new AsyncFeatureProviderAdapter(adapted);

            adapter.Close();
            Assert.Equal("connectionid", adapter.ConnectionId);
            adapter.CoordinateTransformation = transformStub;
            Assert.Same(transformStub, adapter.CoordinateTransformation);
            Assert.Same(objectStub, adapter.ExecuteQuery(queryStub));
            Assert.Same(extentsStub, adapter.GetExtents());
            Assert.True(adapter.IsOpen);
            adapter.Open();
            Assert.Same(coordinateSystemStub, adapter.SpatialReference);
            //adapter.Srid = 1;
            Assert.Equal("2", adapter.Srid);

            mocks.VerifyAll();
        }
Example #29
0
        protected override IAsyncProvider CreateAsyncProvider(IProvider dataSource)
        {
            IFeatureProvider featureProvider = dataSource as IFeatureProvider;

            if (featureProvider == null)
            {
                throw new ArgumentException("The data source must be an " +
                                            "IFeatureProvider for a FeatureLayer.");
            }

            return(new AsyncFeatureProviderAdapter(featureProvider));
        }
Example #30
0
        public static FeatureFlagOptions UseCustomProvider(
            this FeatureFlagOptions options,
            IFeatureProvider provider)
        {
            if (provider == null)
            {
                throw new ArgumentNullException(nameof(provider));
            }

            options.Provider = provider;

            return(options);
        }
Example #31
0
        /// <summary>
        /// initialize a Gdal based raster layer
        /// </summary>
        /// <param name="name">Name of layer</param>
        /// <param name="path">location of image</param>
        public GdalRasterLayer(string name, string path)
        {
            base.Name = name;

            CustomRenderers.Clear();
            CustomRenderers.Add(new GdalRenderer(this)); // add optimized custom gdal renderer

            if (path == null)
            {
                return;
            }

            var rasterFeatureProvider = new GdalFeatureProvider();

            rasterFeatureProvider.Open(path);

            DataSource = rasterFeatureProvider;

            FeatureEditor = new FeatureEditor();
        }
Example #32
0
		/// <summary>
		/// Creates a new instance of a LabelLayer with the given name.
		/// </summary>
		/// <param name="layerName">Name of the layer.</param>
		/// <param name="dataSource">Data source provider for the layer.</param>
		public LabelLayer(String layerName, IFeatureProvider dataSource)
			: base(layerName, new LabelStyle(), dataSource)
		{
			_multipartGeometryBehaviour = MultipartGeometryLabelingBehavior.Default;
		}
Example #33
0
 /// <summary>
 /// Initializes a new, empty vector layer.
 /// </summary>
 public GeometryLayer(IFeatureProvider dataSource)
     : this(String.Empty, dataSource) { }
Example #34
0
 /// <summary>
 /// Initializes a new layer with the given name and datasource.
 /// </summary>
 /// <param name="layername">Name of the layer.</param>
 /// <param name="dataSource">Data source.</param>
 public GeometryLayer(String layername, IFeatureProvider dataSource)
     : this(layername, new GeometryStyle(), dataSource) { }
        public IFeatureProvider ConstructSourceProvider(IGeometryServices geometryServices)
        {
            header("Construct PostGis source provider\n" +
                   "* Author Felix Obermaier 2009\n" +
                   "* Ingenieurgruppe IVV GmbH & Co. KG\n" +
                   "* http://www.ivv-aachen.de");

            string connectionString = GetValue(
                "Please enter the connection string for the source database file.",
                Settings.Default.SourceConnectionString);

            string schema = GetValue("Please enter the schema name",
                                     Settings.Default.SourceSchema);

            string tableName = GetValue("Please enter the table name.", null);

            _oidColumn = GetValue("Please enter the id column name.", null);

            string geometryColumn = GetValue("Please enter the geometry column name.", null);

            Type type;
            PostGisDbUtility dbUtility = new PostGisDbUtility();
            using (IDbConnection conn = dbUtility.CreateConnection(connectionString))
            {
                using (IDbCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = string.Format("SELECT \"{0}\" FROM \"{1}\".\"{2}\" LIMIT 1;", _oidColumn, schema,
                                                    tableName);
                    cmd.CommandType = CommandType.Text;
                    conn.Open();
                    type = cmd.ExecuteScalar().GetType();
                }
            }

            _sourceProviderOidType = type;

            Type t = typeof (PostGisProvider<>);
            Type specialized = t.MakeGenericType(type);

            _sourceProvider =
                (IFeatureProvider)
                Activator.CreateInstance(specialized,
                                         geometryServices.DefaultGeometryFactory,
                                         connectionString, schema, tableName,
                                         _oidColumn,
                                         geometryColumn,
                                         geometryServices.CoordinateTransformationFactory);
            _sourceProvider.Open();

            _sourceProvider.CoordinateTransformation =
                SetCoordinateTransfromation(_sourceProvider.OriginalSpatialReference);

            _sourceProvider.Open();

            return _sourceProvider;
        }
Example #36
0
 /// <summary>
 /// Initializes a new layer with a specified datasource
 /// </summary>
 /// <param name="layername">Name of layer</param>
 /// <param name="dataSource">Data source</param>
 public VectorLayer(string layername, IFeatureProvider dataSource) : this(layername)
 {
     DataSource = dataSource;
 }
 private void bReturnDataSource_Click(object sender, EventArgs e)
 {
     IFeatureProvider prov = GetProvider();
     if (prov != null)
     {
         Provider = prov;
         DialogResult = DialogResult.OK;
         Close();
     }
 }
Example #38
0
		internal ToggleChecker(IFeatureProvider featureProvider, IToggleSpecification defaulToggleSpecification, IUserProvider userProvider)
		{
			_featureProvider = featureProvider;
			_defaulToggleSpecification = defaulToggleSpecification;
			_userProvider = userProvider;
		}
 public AsyncFeatureProviderAdapter(IFeatureProvider provider)
     : base(provider)
 { }
Example #40
0
        /// <summary>
        /// Builds from the given provider.
        /// </summary>
        /// <param name="provider">
        /// The base <see cref="SharpMap.Data.Providers.IFeatureProvider"/> 
		/// from witch initialize the <see cref="NtsProvider"/> instance.
        /// </param>
        private void BuildFromProvider(IFeatureProvider provider)
        {            
            // Load all features from the given provider
            features = new ArrayList();
            foreach (var feature in provider.Features)
            {
                features.Add(feature);
            }
        }
		public ToggleChecker(IFeatureProvider featureProvider)
		{
			_featureProvider = featureProvider;
		}
Example #42
0
        ///// <summary>
        ///// Initializes a new, empty features layer
        ///// which handles <see cref="FeatureDataTable.SelectRequested"/> 
        ///// events from <see cref="Features"/>.
        ///// </summary>
        //protected FeatureLayer(IFeatureProvider dataSource)
        //    : this(String.Empty, dataSource) { }

        ///// <summary>
        ///// Initializes a new features layer with the given name and datasource
        ///// and which handles <see cref="FeatureDataTable.SelectRequested"/> 
        ///// events from <see cref="Features"/>.
        ///// </summary>
        ///// <param name="layername">Name of the layer.</param>
        ///// <param name="dataSource">Data source.</param>
        //protected FeatureLayer(String layername, IFeatureProvider dataSource)
        //    : this(layername, new FeatureStyle(), dataSource) { }

        /// <summary>
        /// Initializes a new features layer with the given name, style and datasource
        /// and which handles <see cref="FeatureDataTable.SelectRequested"/> 
        /// events from <see cref="Features"/>.
        /// </summary>
        /// <param name="layername">Name of the layer.</param>
        /// <param name="style">Style to apply to the layer.</param>
        /// <param name="dataSource">Data source.</param>
        protected FeatureLayer(String layername,
                               FeatureStyle style,
                               IFeatureProvider dataSource)
            : base(layername, style, dataSource)
        {
            //ShouldHandleFeaturesNotFoundEvent = handleFeatureDataRequest;

            // We need to get the schema of the feature table.
            DataSource.Open();
            _features = DataSource.CreateNewTable()
                        ?? new FeatureDataTable(dataSource.GeometryFactory);
            GeometryFactory = dataSource.GeometryFactory;
            DataSource.Close();

            // We generally want spatial indexing on the feature table...
            _features.IsSpatiallyIndexed = true;

            // handle the request on the feature data table for features
            _features.SelectRequested += handleFeaturesSelectRequested;

            // setup selected and highlighted views
            _selectedFeatures = new FeatureDataView(_features,
                                                    (FeatureQueryExpression)null,
                                                    "",
                                                    DataViewRowState.CurrentRows);
            _selectedFeatures.IsViewDefinitionExclusive = true;

            _highlightedFeatures = new FeatureDataView(_features,
                                                       (FeatureQueryExpression)null,
                                                       "",
                                                       DataViewRowState.CurrentRows);
            _highlightedFeatures.IsViewDefinitionExclusive = true;
        }
Example #43
0
 /// <summary>
 /// Initializes a new layer with the given name, style and datasource.
 /// </summary>
 /// <param name="layername">Name of the layer.</param>
 /// <param name="style">Style to apply to the layer.</param>
 /// <param name="dataSource">Data source.</param>
 public GeometryLayer(String layername, GeometryStyle style, IFeatureProvider dataSource)
     : base(layername, style, dataSource) { }
Example #44
0
 private IFeature AddFeatureFromGeometryDelegate(IFeatureProvider provider, IGeometry geometry)
 {
     IBranch branch = (IBranch) mapControl.SnapTool.SnapResult.SnappedFeature;
     double offset = GeometryHelper.Distance((ILineString) branch.Geometry, geometry.Coordinates[0]);
     var feature = new NetworkLocation(branch, offset) { Geometry = geometry };
     //IFeatureEditor featureEditor = new NetworkLocationEditor(new CoordinateConverter(mapControl.Map),
     //                                               networkCoverageLayer.LocationLayer, feature,
     //                                               new VectorStyle());
     //featureEditor.Start();
     //featureEditor.Stop(mapControl.SnapTool.SnapResult); // hack
     provider.Features.Add(feature);
     return feature;
 }
        public IFeatureProvider ConstructSourceProvider(IGeometryServices geometryServices)
        {
            Console.WriteLine(
                "Please enter the connection string for the source server. Press Enter to use the following:");
            Console.WriteLine(Settings.Default.SourceConnectionString);

            string connectionString = Console.ReadLine();
            if (connectionString == "")
                connectionString = Settings.Default.SourceConnectionString;
            else
                Settings.Default.SourceConnectionString = connectionString;
            Settings.Default.Save();

            Console.WriteLine("Please enter the data tables' schema");
            string dtschema = Console.ReadLine();
            Console.WriteLine("Please enter the table name.");
            string tableName = Console.ReadLine();
            Console.WriteLine("Please enter the id column name. (CaSe sensitive)");
            _oidColumn = Console.ReadLine();
            Console.WriteLine("Please enter the geometry column name. (CaSe sensitive)");
            string geometryColumn = Console.ReadLine();
            Console.WriteLine("Please enter the SRID (e.g EPSG:4326)");
            string srid = Console.ReadLine();

            Type type;
            SqlServerDbUtility dbUtility = new SqlServerDbUtility();
            using (IDbConnection conn = dbUtility.CreateConnection(connectionString))
            {
                using (IDbCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = string.Format("SELECT TOP 1 [{0}] FROM [{1}].[{2}] ", _oidColumn, dtschema,
                                                    tableName);
                    cmd.CommandType = CommandType.Text;
                    conn.Open();
                    type = cmd.ExecuteScalar().GetType();
                }
            }

            Type t = typeof (MsSqlServer2008Provider<>);
            Type specialized = t.MakeGenericType(type);

            _sourceProvider =
                (IFeatureProvider)
                Activator.CreateInstance(specialized, geometryServices[srid], connectionString, dtschema, tableName,
                                         _oidColumn, geometryColumn);
            _sourceProvider.Open();
            _sourceProviderOidType = type;
            return _sourceProvider;
        }