public void TestSTDistanceSpheroid()
        {
            using (var db = new PostGisTestDataConnection(TestDatabaseConnectionString))
            {
                const string Spheroid = "SPHEROID[\"WGS 84\",6378137,298.257223563]";
                var          point    = db.Select(() => GeometryInput.STGeomFromText("POINT(-118 38)", SRID4326));
                var          geom     = db.Select(() => GeometryInput.STGeomFromText("LINESTRING(-118.584 38.374,-118.583 38.5)", SRID4326));

                var dist_meters_spheroid = db.Select(() => geom.STCentroid().STDistanceSpheroid(point, Spheroid));
                var dist_meters_sphere   = db.Select(() => geom.STCentroid().STDistanceSphere(point));
                var dist_utm11_meters    = db.Select(() => geom.STCentroid().STTransform(32611).STDistance(point.STTransform(32611)));

                Assert.AreEqual(70454.92, dist_meters_spheroid.Value, 0.01);
                Assert.AreEqual(70424.71, dist_meters_sphere.Value, 0.01);
                Assert.AreEqual(70438.00, dist_utm11_meters.Value, 0.01);

                Assert.AreEqual(
                    4434.73734584354,
                    db.Select(() => MeasurementFunctions.STDistanceSpheroid(
                                  "SRID=4326;POINT(120.08 30.96)",
                                  "SRID=4326;POINT(120.08 30.92)",
                                  Spheroid)).Value,
                    1.0E-8);

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