public void TestST3DMaxDistance()
        {
            using (var db = new PostGisTestDataConnection(TestDatabaseConnectionString))
            {
                var pt   = db.Select(() => GeometryInput.STGeomFromEWKT("SRID=4326;POINT(-72.1235 42.3521 10000)").STTransform(2163));
                var line = db.Select(() => GeometryInput.STGeomFromEWKT("SRID=4326;LINESTRING(-72.1260 42.45 15, -72.123 42.1546 20)").STTransform(2163));

                var maxDistance1 = db.Select(() => MeasurementFunctions.ST3DMaxDistance(pt, line));
                Assert.AreEqual(24383.7467488441, maxDistance1, 1.0E-9);
            }
        }
        public void TestST3DMaxDistance()
        {
            using (var db = new PostGisTestDataConnection(TestDatabaseConnectionString))
            {
                const string PointEwkt = "SRID=4326;POINT(-72.1235 42.3521 10000)";
                const string LineEwkt  = "SRID=4326;LINESTRING(-72.1260 42.45 15, -72.123 42.1546 20)";
                var          point     = db.Select(() => GeometryInput.STGeomFromEWKT(PointEwkt).STTransform(2163));
                var          line      = db.Select(() => GeometryInput.STGeomFromEWKT(LineEwkt).STTransform(2163));

                var maxDistance1 = db.Select(() => MeasurementFunctions.ST3DMaxDistance(point, line));
                Assert.AreEqual(24383.7467488441, maxDistance1.Value, 1.0E-9);

                Assert.AreEqual(
                    1.732,
                    db.Select(() => MeasurementFunctions.ST3DMaxDistance(
                                  "POINT(0 0 0)",
                                  "POINT(1 1 1)")).Value,
                    1.0E-3);

                Assert.IsNull(db.Select(() => MeasurementFunctions.ST3DMaxDistance((NTSG)null, (NTSG)null)));
            }
        }