Esempio n. 1
0
        public void TestSTLineFromEncodedPolyline()
        {
            using (var db = new PostGisTestDataConnection(TestDatabaseConnectionString))
            {
                const string ep1 = "_p~iF~ps|U_ulLnnqC_mqNvxq`@";
                db.TestGeometries.Value(g => g.Id, 1).Value(p => p.Geometry, () => GeometryInput.STLineFromEncodedPolyline(ep1)).Insert();
                db.TestGeometries.Value(g => g.Id, 2).Value(p => p.Geometry, () => GeometryInput.STLineFromEncodedPolyline(ep1, 6)).Insert();

                var ewkt1 = db.TestGeometries.Where(g => g.Id == 1).Select(g => g.Geometry.STAsEWKT()).Single();
                Assert.AreEqual("SRID=4326;LINESTRING(-120.2 38.5,-120.95 40.7,-126.453 43.252)", ewkt1);

                var ewkt2 = db.TestGeometries.Where(g => g.Id == 2).Select(g => g.Geometry.STAsEWKT()).Single();
                Assert.AreEqual("SRID=4326;LINESTRING(-12.02 3.85,-12.095 4.07,-12.6453 4.3252)", ewkt2);

                db.TestGeometries.Value(g => g.Id, 3).Value(p => p.Geometry, () => GeometryInput.STLineFromEncodedPolyline(String.Empty)).Insert();
                db.TestGeometries.Value(g => g.Id, 4).Value(p => p.Geometry, () => GeometryInput.STLineFromEncodedPolyline(null)).Insert();

                var ewkt3 = db.TestGeometries.Where(g => g.Id == 3).Select(g => g.Geometry.STAsEWKT()).Single();
                Assert.AreEqual("SRID=4326;LINESTRING EMPTY", ewkt3);

                var ewkt4 = db.TestGeometries.Where(g => g.Id == 4).Select(g => g.Geometry.STAsEWKT()).Single();
                Assert.IsNull(ewkt4);
            }
        }