Example #1
0
 "Inversion works for non-zero translation": function() {
   var mercator = d3.geo.mercator().translate([123, 99]).scale(100),
       coords = mercator([0, 85]),
       lonlat = mercator.invert(coords);
   assert.inDelta(lonlat[0], 0, 1e-6);
   assert.inDelta(lonlat[1], 85, 1e-6);
 }
 "size": function() {
   var f = new BloomFilter(1000, 4), i = -1;
   for (var i = 0; i < 100; ++i) f.add(i);
   assert.inDelta(f.size(), 100, 6);
   for (var i = 0; i < 1000; ++i) f.add(i);
   assert.inDelta(f.size(), 1000, 100);
 }
 "the length of a line string is the sum of its great arc segments": function (length) {
     assert.inDelta(length({
         type: "LineString", coordinates: [
             [-45, 0],
             [45, 0]
         ]
     }), Math.PI / 2, 1e-6);
     assert.inDelta(length({
         type: "LineString", coordinates: [
             [-45, 0],
             [-30, 0],
             [-15, 0],
             [0, 0]
         ]
     }), Math.PI / 4, 1e-6);
     assert.inDelta(length({
         type: "MultiLineString", coordinates: [
             [
                 [-45, 0],
                 [-30, 0]
             ],
             [
                 [-15, 0],
                 [0, 0]
             ]
         ]
     }), Math.PI / 6, 1e-6);
 },
Example #4
0
 'from line': function (p) {
   var
     dt = 1,
     err_delta = 0.01,
     line = new Line(1, 1, 10, 1);
   // top
   p.x = 5; p.y = 0.9; p.vx = 0.2; p.vy = -0.2;
   assert.isTrue(p.reflectFromLine(line, dt));
   assert.equal(p.vx, 0.2);
   assert.equal(p.vy, 0.2);
   // bottom
   p.x = 2; p.y = 1.1; p.vx = 0.2; p.vy = 0.2;
   assert.isTrue(p.reflectFromLine(line, dt));
   assert.equal(p.vx, 0.2);
   assert.equal(p.vy, -0.2);
   // another line
   line = new Line(1, 1, 10, 10);
   p.x = 5.1; p.y = 5; p.vx = 0.2; p.vy = 0.0;
   assert.isTrue(p.reflectFromLine(line, dt));
   assert.inDelta(p.vx, 0.0, err_delta);
   assert.inDelta(p.vy, 0.2, err_delta);
   // far away
   p.x = 50; p.y = 25; p.vx = 0.2; p.vy = 0.2;
   assert.isFalse(p.reflectFromLine(line, dt));
   assert.equal(p.vx, 0.2);
   assert.equal(p.vy, 0.2);
 },
Example #5
0
 "Inversion works for non-zero translation": function() {
   var projection = d3.geo.orthographic().translate([123, 99]).scale(100),
       coords = projection([0, 85]),
       lonlat = projection.invert(coords);
   assert.inDelta(lonlat[0], 0, 1e-6);
   assert.inDelta(lonlat[1], 85, 1e-6);
 }
Example #6
0
 "`inDelta`": function () {
     assert.inDelta(42, 40, 5);
     assert.inDelta(42, 40, 2);
     assert.inDelta(42, 42, 0);
     assert.inDelta(3.1, 3.0, 0.2);
     assertError(assert.inDelta, [42, 40, 1]);
 },
Example #7
0
 "Inversion works for non-zero translation": function() {
   var albers = d3.geo.albers().translate([123, 99]).scale(100),
       coords = albers([0, 85]),
       lonlat = albers.invert(coords);
   assert.inDelta(lonlat[0], 0, 1e-6);
   assert.inDelta(lonlat[1], 85, 1e-6);
 }
 "Inversion works for non-zero translation": function() {
   var azimuthal = d3.geo.azimuthal().mode("stereographic").translate([123, 99]).scale(100),
       coords = azimuthal([0, 85]),
       lonlat = azimuthal.invert(coords);
   assert.inDelta(lonlat[0], 0, 1e-6);
   assert.inDelta(lonlat[1], 85, 1e-6);
 }
 "size": function() {
   var f = new BloomFilter(1000, 4), i = -1;
   while (++i < 100) f.add(i);
   assert.inDelta(f.size(), 97.014763, 1e-6);
   --i; while (++i < 1000) f.add(i);
   assert.inDelta(f.size(), 1007.549320, 1e-6);
 }
 "size": function() {
   var f = new BloomFilter(1000, 4), i = -1;
   while (++i < 100) f.add(i);
   assert.inDelta(f.size(), 101.241308, 1e-6);
   --i; while (++i < 1000) f.add(i);
   assert.inDelta(f.size(), 1067.174487, 1e-6);
 }
Example #11
0
 "simple": function() {
   var erf = science.stats.erf;
   assert.inDelta(erf(-3  ), -0.999977909503, 1e-6);
   assert.inDelta(erf(-1  ), -0.842700792950, 1e-6);
   assert.inDelta(erf( 0  ),  0,              1e-6);
   assert.inDelta(erf( 0.5),  0.520499877813, 1e-6);
   assert.inDelta(erf( 2.1),  0.997020533344, 1e-6);
 }
Example #12
0
 "Phillipines": function(mercator) {
   var coords = mercator([180, 0]);
   assert.inDelta(coords[0], 50, 1e-6);
   assert.inDelta(coords[1], 0, 1e-6);
   var lonlat = mercator.invert(coords);
   assert.inDelta(lonlat[0], 180, 1e-6);
   assert.inDelta(lonlat[1], 0, 1e-6);
 },
Example #13
0
 "Antarctic": function(mercator) {
   var coords = mercator([0, -85]);
   assert.inDelta(coords[0], 0, 1e-6);
   assert.inDelta(coords[1], 49.8362085, 1e-6);
   var lonlat = mercator.invert(coords);
   assert.inDelta(lonlat[0], 0, 1e-6);
   assert.inDelta(lonlat[1], -85, 1e-6);
 },
Example #14
0
 "Hawaii": function(albers) {
   var coords = albers([-180, 0]);
   assert.inDelta(coords[0], -984.779405, 1e-6);
   assert.inDelta(coords[1],  209.571197, 1e-6);
   var lonlat = albers.invert(coords);
   assert.inDelta(lonlat[0], -180, 1e-6);
   assert.inDelta(lonlat[1], 0, 1e-6);
 },
Example #15
0
 "Arctic": function(albers) {
   var coords = albers([0, 85]);
   assert.inDelta(coords[0], 1031.393796, 1e-6);
   assert.inDelta(coords[1], -714.160436, 1e-6);
   var lonlat = albers.invert(coords);
   assert.inDelta(lonlat[0], 0, 1e-6);
   assert.inDelta(lonlat[1], 85, 1e-6);
 },
Example #16
0
 "Antarctic": function(projection) {
   var coords = projection([0, -90]);
   assert.inDelta(coords[0], 0, 1e-6);
   assert.inDelta(coords[1], 141.421356, 1e-6);
   var lonlat = projection.invert(coords);
   assert.inDelta(lonlat[0], 180, 1e-6);
   assert.inDelta(lonlat[1], -90, 1e-6);
 },
Example #17
0
 "Arctic": function(projection) {
   var coords = projection([0, 85]);
   assert.inDelta(coords[0], 0, 1e-6);
   assert.inDelta(coords[1], -135.118041, 1e-6);
   var lonlat = projection.invert(coords);
   assert.inDelta(lonlat[0], 0, 1e-6);
   assert.inDelta(lonlat[1], 85, 1e-6);
 },
 "Phillipines": function(azimuthal) {
   var coords = azimuthal([180, 0]);
   assert.inDelta(coords[0], 0, 1e-6);
   assert.inDelta(coords[1], 0, 1e-6);
   var lonlat = azimuthal.invert(coords);
   assert.inDelta(lonlat[0], 0, 1e-6);
   assert.inDelta(lonlat[1], 0, 1e-6);
 },
 "Antarctic": function(azimuthal) {
   var coords = azimuthal([0, -85]);
   assert.inDelta(coords[0], 0, 1e-6);
   assert.inDelta(coords[1], 99.619469, 1e-6);
   var lonlat = azimuthal.invert(coords);
   assert.inDelta(lonlat[0], 0, 1e-6);
   assert.inDelta(lonlat[1], -85, 1e-6);
 },
 "origin": function(azimuthal) {
   var coords = azimuthal([0, 0]);
   assert.inDelta(coords[0], 0, 1e-6);
   assert.inDelta(coords[1], 0, 1e-6);
   var lonlat = azimuthal.invert(coords);
   assert.inDelta(lonlat[0], 0, 1e-6);
   assert.inDelta(lonlat[1], 0, 1e-6);
 },
Example #21
0
 "Antarctic": function(albers) {
   var coords = albers([0, -85]);
   assert.inDelta(coords[0], 2753.458335, 1e-6);
   assert.inDelta(coords[1],  317.371122, 1e-6);
   var lonlat = albers.invert(coords);
   assert.inDelta(lonlat[0], 0, 1e-6);
   assert.inDelta(lonlat[1], -85, 1e-6);
 },
Example #22
0
 "simple": function() {
   var phi = science.stats.phi;
   assert.inDelta(phi(-3  ),  0.00134989803163, 1e-6);
   assert.inDelta(phi(-1  ),  0.158655253931,   1e-6);
   assert.inDelta(phi( 0  ),  0.5,              1e-6);
   assert.inDelta(phi( 0.5),  0.691462461274,   1e-6);
   assert.inDelta(phi( 2.1),  0.982135579437,   1e-6);
 }
Example #23
0
 "Phillipines": function(albers) {
   var coords = albers([180, 0]);
   assert.inDelta(coords[0],   894.435228, 1e-6);
   assert.inDelta(coords[1], -2927.636630, 1e-6);
   var lonlat = albers.invert(coords);
   assert.inDelta(lonlat[0], 180, 1e-6);
   assert.inDelta(lonlat[1], 0, 1e-6);
 },
Example #24
0
 "Antarctic": function(projection) {
   var coords = projection([0, -85]);
   assert.inDelta(coords[0], 0, 1e-6);
   assert.inDelta(coords[1], 99.619469, 1e-6);
   var lonlat = projection.invert(coords);
   assert.inDelta(lonlat[0], 0, 1e-6);
   assert.inDelta(lonlat[1], -85, 1e-6);
 },
Example #25
0
 "computes the centroid as mid-radius and mid-angle": function(arc) {
   var c = arc().innerRadius(0).outerRadius(100).startAngle(0).endAngle(2 * Math.PI).centroid();
   assert.inDelta(c[0], 0, 1e-6);
   assert.inDelta(c[1], 50, 1e-6);
   var c = arc().innerRadius(100).outerRadius(200).startAngle(Math.PI).endAngle(2 * Math.PI).centroid();
   assert.inDelta(c[0], -150, 1e-6);
   assert.inDelta(c[1], 0, 1e-6);
 },
 "Arctic": function(azimuthal) {
   var coords = azimuthal([0, 85]);
   assert.inDelta(coords[0], 0, 1e-6);
   assert.inDelta(coords[1], -135.118041, 1e-6);
   var lonlat = azimuthal.invert(coords);
   assert.inDelta(lonlat[0], 0, 1e-6);
   assert.inDelta(lonlat[1], 85, 1e-6);
 },
Example #27
0
 "Hawaii": function(mercator) {
   var coords = mercator([-180, 0]);
   assert.inDelta(coords[0], -50, 1e-6);
   assert.inDelta(coords[1], 0, 1e-6);
   var lonlat = mercator.invert(coords);
   assert.inDelta(lonlat[0], -180, 1e-6);
   assert.inDelta(lonlat[1], 0, 1e-6);
 },
Example #28
0
 "Phillipines": function(projection) {
   var coords = projection([180, 0]);
   assert.inDelta(coords[0], 0, 1e-6);
   assert.inDelta(coords[1], 0, 1e-6);
   var lonlat = projection.invert(coords);
   assert.inDelta(lonlat[0], 0, 1e-6);
   assert.inDelta(lonlat[1], 0, 1e-6);
 },
Example #29
0
 "Hawaii": function(projection) {
   var coords = projection([-180, 0]);
   assert.inDelta(coords[0], 0, 1e-6);
   assert.inDelta(coords[1], 0, 1e-6);
   var lonlat = projection.invert(coords);
   assert.inDelta(lonlat[0], 0, 1e-6);
   assert.inDelta(lonlat[1], 0, 1e-6);
 },
 "Antarctic": function(azimuthal) {
   var coords = azimuthal([0, -90]);
   assert.inDelta(coords[0], 0, 1e-6);
   assert.inDelta(coords[1], 141.421356, 1e-6);
   var lonlat = azimuthal.invert(coords);
   assert.inDelta(lonlat[0], 180, 1e-6);
   assert.inDelta(lonlat[1], -90, 1e-6);
 },