Example #1
0
        public void TestDiscussionNtsAndBaffeledOleDb()
        {
            var reader = new NetTopologySuite.IO.WKTReader();
            var poly   = reader.Read(
                @"POLYGON ((428999.76819468878 360451.93329044303, 428998.25517286535 360420.80827007542,
429023.1119599645 360406.75878171506, 429004.52340613387 360451.71714446822, 
429004.52340613387 360451.71714446822, 428999.76819468878 360451.93329044303))");

            var table = WriteCsv();

            var p = new SharpMap.Data.Providers.OleDbPoint(
                "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\"" + System.IO.Path.GetTempPath() + "\";" +
                "Extended Properties=\"text;HDR=Yes;FMT=Delimited\"", table, "ID", "X", "Y");

            var extents = p.GetExtents();

            NUnit.Framework.Assert.AreEqual(4, p.GetFeatureCount());
            p.DefinitionQuery = "Name='One'";
            NUnit.Framework.Assert.AreEqual(1, p.GetFeatureCount());
            var fdr = p.GetFeatureByOid(1);

            NUnit.Framework.Assert.AreEqual(1, (int)fdr.Attributes[0]);
            p.DefinitionQuery = string.Empty;

            var fds = new SharpMap.Data.FeatureDataSet();

            p.ExecuteIntersectionQuery(extents, fds);
            NUnit.Framework.Assert.AreEqual(1, fds.Tables.Count);
            NUnit.Framework.Assert.AreEqual(4, fds.Tables[0].Rows.Count);
            fds.Tables.Remove(fds.Tables[0]);

            p.ExecuteIntersectionQuery(poly, fds);
            NUnit.Framework.Assert.AreEqual(1, fds.Tables.Count);
            NUnit.Framework.Assert.AreEqual(3, fds.Tables[0].Rows.Count);

            var inside = new System.Collections.Generic.List <bool>(new[] { false, true, true, true });

            NUnit.Framework.Assert.AreEqual(System.Linq.Enumerable.Count(inside, b => b), fds.Tables[0].Rows.Count);

            var ext  = p.GetExtents();
            var oids = p.GetOidsInView(ext);

            NUnit.Framework.Assert.AreEqual(4, System.Linq.Enumerable.Count(oids));

            System.IO.File.Delete(System.IO.Path.Combine(System.IO.Path.GetTempPath(), table));
        }
Example #2
0
        public void TestDiscussionNtsAndBaffeledOleDb()
        {
            var reader = new NetTopologySuite.IO.WKTReader();
            var poly = reader.Read(
                @"POLYGON ((428999.76819468878 360451.93329044303, 428998.25517286535 360420.80827007542,
429023.1119599645 360406.75878171506, 429004.52340613387 360451.71714446822, 
429004.52340613387 360451.71714446822, 428999.76819468878 360451.93329044303))");

            var table = WriteCsv();

            var p = new SharpMap.Data.Providers.OleDbPoint(
                "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\"" + System.IO.Path.GetTempPath() + "\";" +
                "Extended Properties=\"text;HDR=Yes;FMT=Delimited\"", table, "ID", "X", "Y");

            var extents = p.GetExtents();
            NUnit.Framework.Assert.AreEqual(4, p.GetFeatureCount());
            p.DefinitionQuery = "Name='One'";
            NUnit.Framework.Assert.AreEqual(1, p.GetFeatureCount());
            var fdr = p.GetFeature(1);
            NUnit.Framework.Assert.AreEqual(1, (int)fdr[0]);
            p.DefinitionQuery = string.Empty;

            var fds = new SharpMap.Data.FeatureDataSet();
            p.ExecuteIntersectionQuery(extents, fds);
            NUnit.Framework.Assert.AreEqual(1, fds.Tables.Count);
            NUnit.Framework.Assert.AreEqual(4, fds.Tables[0].Rows.Count);
            fds.Tables.Clear();

            p.ExecuteIntersectionQuery(poly, fds);
            NUnit.Framework.Assert.AreEqual(1, fds.Tables.Count);
            NUnit.Framework.Assert.AreEqual(3, fds.Tables[0].Rows.Count);

            var inside = new System.Collections.Generic.List<bool>(new[] { false, true, true, true });
            NUnit.Framework.Assert.AreEqual(System.Linq.Enumerable.Count(inside, (b) => b == true), fds.Tables[0].Rows.Count);

            var ext = p.GetExtents();
            var oids = p.GetObjectIDsInView(ext);
            NUnit.Framework.Assert.AreEqual(4, oids.Count);
            
            System.IO.File.Delete(System.IO.Path.Combine(System.IO.Path.GetTempPath(), table));
        }