Merge pull request #1748 from tschaub/roughly

Fix test failures on Chrome 33.  The trig functions in V8 have changed, and are may change again (see https://code.google.com/p/v8/issues/detail?id=3006 for the full story).  As a result, we no longer rely on Vincenty for antipodal distance calculations (not recommended anyway), and we use a very low precision match for testing cosine distance on a sphere.
This commit is contained in:
Tim Schaub
2014-02-25 15:39:31 -07:00
3 changed files with 2 additions and 127 deletions

View File

@@ -256,27 +256,6 @@ describe('ol.Ellipsoid', function() {
vincentyInitialBearing: 0,
vincentyDistance: 0
},
{
c1: [180, 90],
c2: [180, -90],
vincentyFinalBearing: 180,
vincentyInitialBearing: 180,
vincentyDistance: 20003931.458623584
},
{
c1: [180, 90],
c2: [-180, 90],
vincentyFinalBearing: 90,
vincentyInitialBearing: 90,
vincentyDistance: 9.565041537306137e-26
},
{
c1: [180, 90],
c2: [-180, 90],
vincentyFinalBearing: 90,
vincentyInitialBearing: 90,
vincentyDistance: 9.565041537306137e-26
},
{
c1: [180, -90],
c2: [180, -90],
@@ -284,20 +263,6 @@ describe('ol.Ellipsoid', function() {
vincentyInitialBearing: 0,
vincentyDistance: 0
},
{
c1: [180, -90],
c2: [-180, 90],
vincentyFinalBearing: 7.0164775638926606e-15,
vincentyInitialBearing: 7.0164775638926606e-15,
vincentyDistance: 20003931.458623584
},
{
c1: [180, -90],
c2: [-180, 90],
vincentyFinalBearing: 7.0164775638926606e-15,
vincentyInitialBearing: 7.0164775638926606e-15,
vincentyDistance: 20003931.458623584
},
{
c1: [-180, 90],
c2: [-180, 90],

View File

@@ -234,7 +234,7 @@ describe('ol.extent', function() {
.to.roughlyEqual(-1669792.3618991037, 1e-9);
expect(destinationExtent[2]).to.roughlyEqual(5009377.085697311, 1e-9);
expect(destinationExtent[1]).to.roughlyEqual(-3503549.843504376, 1e-8);
expect(destinationExtent[3]).to.roughlyEqual(8399737.889818361, 1e-9);
expect(destinationExtent[3]).to.roughlyEqual(8399737.889818361, 1e-8);
});
it('takes arbitrary function', function() {

View File

@@ -90,16 +90,6 @@ describe('ol.Sphere', function() {
initialBearing: -90.00000000000001,
midpoint: [-45.00000000000005, -4.961398865471767e-15]
},
{
c1: [0, 0],
c2: [90, -180],
cosineDistance: 10007.543398010286,
equirectangularDistance: 20015.086796020572,
finalBearing: 90,
haversineDistance: 10007.543398010288,
initialBearing: -90.00000000000001,
midpoint: [-45.00000000000005, -4.961398865471767e-15]
},
{
c1: [45, 45],
c2: [45, 45],
@@ -170,16 +160,6 @@ describe('ol.Sphere', function() {
initialBearing: -54.735610317245346,
midpoint: [-45.00000000000005, 45]
},
{
c1: [45, 45],
c2: [90, -180],
cosineDistance: 13343.39119734705,
equirectangularDistance: 25092.03003421417,
finalBearing: 35.264389682754654,
haversineDistance: 13343.391197347048,
initialBearing: -54.735610317245346,
midpoint: [-45.00000000000005, 45]
},
{
c1: [-45, 45],
c2: [-45, 45],
@@ -240,16 +220,6 @@ describe('ol.Sphere', function() {
initialBearing: -125.26438968275465,
midpoint: [-71.56505117707799, 24.0948425521107]
},
{
c1: [-45, 45],
c2: [90, -180],
cosineDistance: 6671.695598673525,
equirectangularDistance: 25669.894779453065,
finalBearing: 35.264389682754654,
haversineDistance: 6671.695598673525,
initialBearing: -125.26438968275465,
midpoint: [-71.56505117707799, 24.0948425521107]
},
{
c1: [-45, -45],
c2: [-45, -45],
@@ -300,16 +270,6 @@ describe('ol.Sphere', function() {
initialBearing: -54.73561031724536,
midpoint: [-71.56505117707799, -24.094842552110702]
},
{
c1: [-45, -45],
c2: [90, -180],
cosineDistance: 6671.695598673524,
equirectangularDistance: 16072.9523901477,
finalBearing: 144.73561031724535,
haversineDistance: 6671.695598673525,
initialBearing: -54.73561031724536,
midpoint: [-71.56505117707799, -24.094842552110702]
},
{
c1: [45, -45],
c2: [45, -45],
@@ -350,16 +310,6 @@ describe('ol.Sphere', function() {
initialBearing: -125.26438968275465,
midpoint: [-45.00000000000005, -45.00000000000001]
},
{
c1: [45, -45],
c2: [90, -180],
cosineDistance: 13343.39119734705,
equirectangularDistance: 15132.953174634127,
finalBearing: 144.73561031724535,
haversineDistance: 13343.391197347048,
initialBearing: -125.26438968275465,
midpoint: [-45.00000000000005, -45.00000000000001]
},
{
c1: [90, 180],
c2: [90, 180],
@@ -390,16 +340,6 @@ describe('ol.Sphere', function() {
initialBearing: 0,
midpoint: [-90, 0]
},
{
c1: [90, 180],
c2: [90, -180],
cosineDistance: 0,
equirectangularDistance: 40030.173592041145,
finalBearing: 0,
haversineDistance: 1.5603934160404731e-12,
initialBearing: 0,
midpoint: [-90, 0]
},
{
c1: [-90, 180],
c2: [-90, 180],
@@ -420,36 +360,6 @@ describe('ol.Sphere', function() {
initialBearing: -90,
midpoint: [-180, 0]
},
{
c1: [-90, 180],
c2: [90, -180],
cosineDistance: 20015.086796020572,
equirectangularDistance: 44755.09465146047,
finalBearing: 270,
haversineDistance: 20015.086796020572,
initialBearing: -90,
midpoint: [-180, 0]
},
{
c1: [90, -180],
c2: [90, -180],
cosineDistance: 0,
equirectangularDistance: 0,
finalBearing: 180,
haversineDistance: 0,
initialBearing: 0,
midpoint: [-90, -7.0164775638926606e-15]
},
{
c1: [90, -180],
c2: [90, -180],
cosineDistance: 0,
equirectangularDistance: 0,
finalBearing: 180,
haversineDistance: 0,
initialBearing: 0,
midpoint: [-90, -7.0164775638926606e-15]
},
{
c1: [90, -180],
c2: [90, -180],
@@ -469,7 +379,7 @@ describe('ol.Sphere', function() {
for (i = 0; i < expected.length; ++i) {
e = expected[i];
expect(sphere.cosineDistance(e.c1, e.c2)).to.roughlyEqual(
e.cosineDistance, 1e-9);
e.cosineDistance, 1e-3);
}
});