Example #1
0
        public SpatiaLite2ExpressionTreeToSqlCompiler(SpatialDbProviderBase <long> provider,
                                                      Expression query,
                                                      SpatiaLite2IndexType indexType)

            : base(provider, query)
        {
        }
        public IWritableFeatureProvider ConstructTargetProvider(Type oidType, IGeometryFactory geometryFactory,
                                                                ICoordinateSystemFactory csFactory,
                                                                FeatureDataTable schemaTable)
        {
            header("Construct SpatiaLite2 target 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 target database file.\nRemember 'Connection Timeout=0' for large datasets.", Properties.Settings.Default.TargetConnectionString);

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

            SpatiaLite2ShapeType shapeType = GetShapeType();

            SpatiaLite2IndexType spatialIndex = GetSpatialIndex();

            SpatiaLite2Provider.CreateDataTable(schemaTable, tableName,
                                                connectionString, SpatiaLite2Provider.DefaultGeometryColumnName,
                                                shapeType, spatialIndex);

            _targetProvider = new SpatiaLite2Provider(geometryFactory, connectionString, tableName);

            _targetProvider.Open();
            return(_targetProvider);
        }