Пример #1
0
        private void menuItemSetColumns_Click(object sender, System.EventArgs e)
        {
            try
            {
                // build up a search info by hand (not using the factory)
                QueryFilter     filter = new SqlExpressionFilter("POP_90 < 1000000");
                QueryDefinition qd     = new QueryDefinition(filter, "MI_Key");

                // to Add Columns
                qd.AppendColumns("State", "MI_Geometry");

                // to set all new set of columns
                // not using MI_Geometry here
                string[] cols = new string[] { "MI_Key", "MI_Style", "State_Name", "POP_90", "Households_90" };
                qd.Columns = cols;

                // Note: if you are doing a multi table search, the columns must apply to each table
                // alternatively, you can derive a new class from QueryDefinition and
                // override the GetColumns() method to return different columns for each table being searched

                SearchInfo si = new SearchInfo(null, qd);

                IResultSetFeatureCollection fc = _catalog.Search("mexico", si);
                // set map view to show search results
                _map.SetView(_map.Layers["mexico"] as FeatureLayer);

                // show results as selection
                SelectFeatureCollection(fc);
            }
            finally
            {
                Cursor.Current = Cursors.Default;
            }
        }
Пример #2
0
        private void menuItemSqlExpressionFilter_Click(object sender, System.EventArgs e)
        {
            try
            {
                // build up a search info by hand (not using the factory)
                QueryFilter     filter = new SqlExpressionFilter("Buses_91 * 3 < Trucks_91");
                QueryDefinition qd     = new QueryDefinition(filter, "*");
                SearchInfo      si     = new SearchInfo(null, qd);

                IResultSetFeatureCollection fc = _catalog.Search("mexico", si);
                // set map view to show search results
                _map.SetView(fc.Envelope);

                // show results as selection
                SelectFeatureCollection(fc);
            }
            finally
            {
                Cursor.Current = Cursors.Default;
            }
        }
Пример #3
0
        // shows how to combine filters using logical And
        private void menuItemLogicalFilter_Click(object sender, System.EventArgs e)
        {
            try
            {
                Feature fChicago = _catalog.SearchForFeature("uscty_1k", MapInfo.Data.SearchInfoFactory.SearchWhere("City='Chicago'"));

                // build up a search info by hand (not using the factory)
                Distance    d1      = new Distance(35, DistanceUnit.Mile);
                Distance    d2      = new Distance(125, DistanceUnit.Mile);
                QueryFilter filterA = new  MyCustomFilter(fChicago.Geometry, d1, d2);

                // build up a search info by hand (not using the factory)
                QueryFilter     filterB = new SqlExpressionFilter("State='IL'");
                QueryFilter     filter  = new LogicalFilter(LogicalOperation.And, filterA, filterB);
                QueryDefinition qd      = new QueryDefinition(filter, "*");
                SearchInfo      si      = new SearchInfo(null, qd);

                IResultSetFeatureCollection fc = _catalog.Search("uscty_1k", si);
                // set map view to show search results
                _map.SetView(fc.Envelope);

                // make a search geometry to show what we are doing
                FeatureGeometry buffer1 = fChicago.Geometry.Buffer(d1.Value, d1.Unit, 20, DistanceType.Spherical);
                FeatureGeometry buffer2 = fChicago.Geometry.Buffer(d2.Value, d2.Unit, 20, DistanceType.Spherical);
                ShowSearchGeometry(buffer1);
                ShowSearchGeometry(buffer2, false);

                Feature fIL = _catalog.SearchForFeature("usa", MapInfo.Data.SearchInfoFactory.SearchWhere("State='IL'"));
                ShowSearchGeometry(fIL.Geometry, false);

                // show results as selection
                SelectFeatureCollection(fc);
            }
            finally
            {
                Cursor.Current = Cursors.Default;
            }
        }
Пример #4
0
        // return the first 10 rows from cities sorted by state in reverse
        private void menuItemCustomProcessor_Click(object sender, System.EventArgs e)
        {
            try
            {
                QueryFilter     filter  = new SqlExpressionFilter(null);            // all rows
                QueryDefinition qd      = new QueryDefinition(filter, "*");
                string []       orderby = new string[1];
                orderby[0] = "State Desc";
                qd.OrderBy = orderby;
                SearchResultProcessor srp = new MySearchResultProcessor(10);                 // stop after 10 rows
                SearchInfo            si  = new SearchInfo(srp, qd);

                IResultSetFeatureCollection fc = _catalog.Search("usa", si);
                // set map view to show search results
                _map.SetView(fc.Envelope);

                // show results as selection
                SelectFeatureCollection(fc);
            }
            finally
            {
                Cursor.Current = Cursors.Default;
            }
        }
Пример #5
0
        private void menuItemSqlExpressionFilter_Click(object sender, System.EventArgs e)
        {
            try
            {
                // build up a search info by hand (not using the factory)
                QueryFilter filter = new SqlExpressionFilter("Buses_91 * 3 < Trucks_91");
                QueryDefinition qd = new QueryDefinition(filter, "*");
                SearchInfo si = new SearchInfo(null, qd);

                IResultSetFeatureCollection fc = _catalog.Search("mexico", si);
                // set map view to show search results
                _map.SetView(fc.Envelope);

                // show results as selection
                SelectFeatureCollection(fc);
            }
            finally
            {
                Cursor.Current = Cursors.Default;
            }
        }
Пример #6
0
        private void menuItemSetColumns_Click(object sender, System.EventArgs e)
        {
            try
            {
                // build up a search info by hand (not using the factory)
                QueryFilter filter = new SqlExpressionFilter("POP_90 < 1000000");
                QueryDefinition qd = new QueryDefinition(filter, "MI_Key");

                // to Add Columns
                qd.AppendColumns("State", "MI_Geometry");

                // to set all new set of columns
                // not using MI_Geometry here
                string[] cols = new string[] {"MI_Key", "MI_Style", "State_Name", "POP_90", "Households_90"};
                qd.Columns = cols;

                // Note: if you are doing a multi table search, the columns must apply to each table
                // alternatively, you can derive a new class from QueryDefinition and
                // override the GetColumns() method to return different columns for each table being searched

                SearchInfo si = new SearchInfo(null, qd);

                IResultSetFeatureCollection fc = _catalog.Search("mexico", si);
                // set map view to show search results
                _map.SetView(_map.Layers["mexico"] as FeatureLayer);

                // show results as selection
                SelectFeatureCollection(fc);
            }
            finally
            {
                Cursor.Current = Cursors.Default;
            }
        }
Пример #7
0
        // shows how to combine filters using logical And
        private void menuItemLogicalFilter_Click(object sender, System.EventArgs e)
        {
            try
            {
                Feature fChicago  = _catalog.SearchForFeature("uscty_1k", MapInfo.Data.SearchInfoFactory.SearchWhere("City='Chicago'"));

                // build up a search info by hand (not using the factory)
                Distance d1 = new Distance(35, DistanceUnit.Mile);
                Distance d2 = new Distance(125, DistanceUnit.Mile);
                QueryFilter filterA = new  MyCustomFilter(fChicago.Geometry, d1, d2);

                // build up a search info by hand (not using the factory)
                QueryFilter filterB = new SqlExpressionFilter("State='IL'");
                QueryFilter filter = new LogicalFilter(LogicalOperation.And, filterA, filterB);
                QueryDefinition qd = new QueryDefinition(filter, "*");
                SearchInfo si = new SearchInfo(null, qd);

                IResultSetFeatureCollection fc = _catalog.Search("uscty_1k", si);
                // set map view to show search results
                _map.SetView(fc.Envelope);

                // make a search geometry to show what we are doing
                FeatureGeometry buffer1 = fChicago.Geometry.Buffer(d1.Value, d1.Unit, 20, DistanceType.Spherical);
                FeatureGeometry buffer2 = fChicago.Geometry.Buffer(d2.Value, d2.Unit, 20, DistanceType.Spherical);
                ShowSearchGeometry(buffer1);
                ShowSearchGeometry(buffer2, false);

                Feature fIL  = _catalog.SearchForFeature("usa", MapInfo.Data.SearchInfoFactory.SearchWhere("State='IL'"));
                ShowSearchGeometry(fIL.Geometry, false);

                // show results as selection
                SelectFeatureCollection(fc);
            }
            finally
            {
                Cursor.Current = Cursors.Default;
            }
        }
Пример #8
0
        // return the first 10 rows from cities sorted by state in reverse
        private void menuItemCustomProcessor_Click(object sender, System.EventArgs e)
        {
            try
            {
                QueryFilter filter = new SqlExpressionFilter(null); // all rows
                QueryDefinition qd = new QueryDefinition(filter, "*");
                string [] orderby = new string[1];
                orderby[0] = "State Desc";
                qd.OrderBy = orderby;
                SearchResultProcessor srp = new MySearchResultProcessor(10); // stop after 10 rows
                SearchInfo si = new SearchInfo(srp, qd);

                IResultSetFeatureCollection fc = _catalog.Search("usa", si);
                // set map view to show search results
                _map.SetView(fc.Envelope);

                // show results as selection
                SelectFeatureCollection(fc);
            }
            finally
            {
                Cursor.Current = Cursors.Default;
            }
        }