runtests.js 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. /* Loop through the test points and create a Proj object for each
  2. */
  3. var src, dest;
  4. function runTests() {
  5. //src = new Proj4js.Proj(Proj4js.defs["WKT0"],cb2);
  6. /*
  7. src = new Proj4js.Proj("EPSG:900913",cb1);
  8. var testPt = new Proj4js.Point([1113194.9079327357, 6800125.454397307]);
  9. var testRes = Proj4js.transform(src, dest, testPt);
  10. alert(testRes.toString());
  11. */
  12. /*
  13. //testing the conversion bewteen CSs which use the towgs84 params (ticket #64)
  14. //TODO convert this to asserts
  15. src = new Proj4js.Proj("EPSG:21781");
  16. dest = new Proj4js.Proj("EPSG:900913");
  17. var testPt = new Proj4js.Point([699212,227132]);
  18. var testRes = Proj4js.transform(src, dest, testPt);
  19. alert(testRes.toString());
  20. //result should be 973791.60867,5972764.60117
  21. */
  22. for (var i=0; i < Proj4js.testPoints.length; ++i) {
  23. var test = Proj4js.testPoints[i];
  24. var proj = new Proj4js.Proj(test.code, Proj4js.bind(showResults, this, test));
  25. }
  26. }
  27. function cb1() {
  28. dest = new Proj4js.Proj("EPSG:2303X",cb2);
  29. }
  30. function cb2(arg1) {
  31. //alert('all set');
  32. }
  33. /* a callback function to run the test for this test point since we are using
  34. the dynamic load capabilities in the test page
  35. */
  36. function showResults(test, proj) {
  37. //var test = proj.testPoint;
  38. var xyEPSLN = 1.0e-2;
  39. var llEPSLN = 1.0e-6;
  40. var row = document.createElement('tr');
  41. var td = document.createElement('td');
  42. td.innerHTML = test.code;
  43. row.appendChild(td);
  44. var td = document.createElement('td');
  45. td.innerHTML = proj.projName;
  46. row.appendChild(td);
  47. //transform from lon/lat to projected x/y and cmopare
  48. var xyResult = Proj4js.transform(Proj4js.WGS84, proj, new Proj4js.Point(test.ll));
  49. if (xyResult) {
  50. var deltaX = Math.abs(xyResult.x - test.xy[0]);
  51. var deltaY = Math.abs(xyResult.y - test.xy[1]);
  52. td = document.createElement('td');
  53. td.innerHTML = "in:"+test.ll[0]+","+test.ll[1];
  54. row.appendChild(td);
  55. td = document.createElement('td');
  56. td.innerHTML = "out:"+xyResult.x+","+xyResult.y;
  57. row.appendChild(td);
  58. td = document.createElement('td');
  59. td.innerHTML = "dx:"+deltaX+ " dy:"+deltaY;
  60. if ( deltaX>xyEPSLN || deltaY>xyEPSLN ) td.style.backgroundColor='red';
  61. row.appendChild(td);
  62. } else {
  63. td = document.createElement('td');
  64. td.innerHTML = "proj undefined";
  65. row.appendChild(td);
  66. }
  67. //transform from map x/y to lon/lat and compare
  68. var llResult = Proj4js.transform(proj, Proj4js.WGS84, new Proj4js.Point(test.xy));
  69. if (llResult) {
  70. var deltaX = Math.abs(llResult.x - test.ll[0]);
  71. var deltaY = Math.abs(llResult.y - test.ll[1]);
  72. td = document.createElement('td');
  73. td.innerHTML = "in:"+test.xy[0]+","+test.xy[1];
  74. row.appendChild(td);
  75. td = document.createElement('td');
  76. td.innerHTML = "out:"+llResult.x+","+llResult.y;
  77. row.appendChild(td);
  78. td = document.createElement('td');
  79. td.innerHTML = "dx:"+deltaX+ " dy:"+deltaY;
  80. if ( deltaX>llEPSLN || deltaY>llEPSLN ) td.style.backgroundColor='red';
  81. row.appendChild(td);
  82. } else {
  83. td = document.createElement('td');
  84. td.innerHTML = "proj undefined";
  85. row.appendChild(td);
  86. }
  87. var testTable = document.getElementById('testResult');
  88. testTable.tBodies[0].appendChild(row);
  89. };