@quartic/bokehjs
Version:
Interactive, novel data visualization
39 lines (31 loc) • 1.28 kB
text/typescript
import {
proj4,
mercator,
wgs84
} from "core/util/proj4";
export var ProjectionUtils = (function() {
function ProjectionUtils() {
this.origin_shift = 2 * Math.PI * 6378137 / 2.0;
}
ProjectionUtils.prototype.geographic_to_meters = function(xLon, yLat) {
return proj4(wgs84, mercator, [xLon, yLat]);
};
ProjectionUtils.prototype.meters_to_geographic = function(mx, my) {
return proj4(mercator, wgs84, [mx, my]);
};
ProjectionUtils.prototype.geographic_extent_to_meters = function(extent) {
var ref, ref1, xmax, xmin, ymax, ymin;
xmin = extent[0], ymin = extent[1], xmax = extent[2], ymax = extent[3];
ref = this.geographic_to_meters(xmin, ymin), xmin = ref[0], ymin = ref[1];
ref1 = this.geographic_to_meters(xmax, ymax), xmax = ref1[0], ymax = ref1[1];
return [xmin, ymin, xmax, ymax];
};
ProjectionUtils.prototype.meters_extent_to_geographic = function(extent) {
var ref, ref1, xmax, xmin, ymax, ymin;
xmin = extent[0], ymin = extent[1], xmax = extent[2], ymax = extent[3];
ref = this.meters_to_geographic(xmin, ymin), xmin = ref[0], ymin = ref[1];
ref1 = this.meters_to_geographic(xmax, ymax), xmax = ref1[0], ymax = ref1[1];
return [xmin, ymin, xmax, ymax];
};
return ProjectionUtils;
})();