adjust_axis.js 955 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. module.exports = function(crs, denorm, point) {
  2. var xin = point.x,
  3. yin = point.y,
  4. zin = point.z || 0.0;
  5. var v, t, i;
  6. for (i = 0; i < 3; i++) {
  7. if (denorm && i === 2 && point.z === undefined) {
  8. continue;
  9. }
  10. if (i === 0) {
  11. v = xin;
  12. t = 'x';
  13. }
  14. else if (i === 1) {
  15. v = yin;
  16. t = 'y';
  17. }
  18. else {
  19. v = zin;
  20. t = 'z';
  21. }
  22. switch (crs.axis[i]) {
  23. case 'e':
  24. point[t] = v;
  25. break;
  26. case 'w':
  27. point[t] = -v;
  28. break;
  29. case 'n':
  30. point[t] = v;
  31. break;
  32. case 's':
  33. point[t] = -v;
  34. break;
  35. case 'u':
  36. if (point[t] !== undefined) {
  37. point.z = v;
  38. }
  39. break;
  40. case 'd':
  41. if (point[t] !== undefined) {
  42. point.z = -v;
  43. }
  44. break;
  45. default:
  46. //console.log("ERROR: unknow axis ("+crs.axis[i]+") - check definition of "+crs.projName);
  47. return null;
  48. }
  49. }
  50. return point;
  51. };