First commit
This commit is contained in:
commit
87d22a4516
235 changed files with 51802 additions and 0 deletions
70
node_modules/proj4/lib/projections/cea.js
generated
vendored
Normal file
70
node_modules/proj4/lib/projections/cea.js
generated
vendored
Normal file
|
@ -0,0 +1,70 @@
|
|||
import adjust_lon from '../common/adjust_lon';
|
||||
import qsfnz from '../common/qsfnz';
|
||||
import msfnz from '../common/msfnz';
|
||||
import iqsfnz from '../common/iqsfnz';
|
||||
|
||||
/*
|
||||
reference:
|
||||
"Cartographic Projection Procedures for the UNIX Environment-
|
||||
A User's Manual" by Gerald I. Evenden,
|
||||
USGS Open File Report 90-284and Release 4 Interim Reports (2003)
|
||||
*/
|
||||
export function init() {
|
||||
//no-op
|
||||
if (!this.sphere) {
|
||||
this.k0 = msfnz(this.e, Math.sin(this.lat_ts), Math.cos(this.lat_ts));
|
||||
}
|
||||
}
|
||||
|
||||
/* Cylindrical Equal Area forward equations--mapping lat,long to x,y
|
||||
------------------------------------------------------------*/
|
||||
export function forward(p) {
|
||||
var lon = p.x;
|
||||
var lat = p.y;
|
||||
var x, y;
|
||||
/* Forward equations
|
||||
-----------------*/
|
||||
var dlon = adjust_lon(lon - this.long0);
|
||||
if (this.sphere) {
|
||||
x = this.x0 + this.a * dlon * Math.cos(this.lat_ts);
|
||||
y = this.y0 + this.a * Math.sin(lat) / Math.cos(this.lat_ts);
|
||||
}
|
||||
else {
|
||||
var qs = qsfnz(this.e, Math.sin(lat));
|
||||
x = this.x0 + this.a * this.k0 * dlon;
|
||||
y = this.y0 + this.a * qs * 0.5 / this.k0;
|
||||
}
|
||||
|
||||
p.x = x;
|
||||
p.y = y;
|
||||
return p;
|
||||
}
|
||||
|
||||
/* Cylindrical Equal Area inverse equations--mapping x,y to lat/long
|
||||
------------------------------------------------------------*/
|
||||
export function inverse(p) {
|
||||
p.x -= this.x0;
|
||||
p.y -= this.y0;
|
||||
var lon, lat;
|
||||
|
||||
if (this.sphere) {
|
||||
lon = adjust_lon(this.long0 + (p.x / this.a) / Math.cos(this.lat_ts));
|
||||
lat = Math.asin((p.y / this.a) * Math.cos(this.lat_ts));
|
||||
}
|
||||
else {
|
||||
lat = iqsfnz(this.e, 2 * p.y * this.k0 / this.a);
|
||||
lon = adjust_lon(this.long0 + p.x / (this.a * this.k0));
|
||||
}
|
||||
|
||||
p.x = lon;
|
||||
p.y = lat;
|
||||
return p;
|
||||
}
|
||||
|
||||
export var names = ["cea"];
|
||||
export default {
|
||||
init: init,
|
||||
forward: forward,
|
||||
inverse: inverse,
|
||||
names: names
|
||||
};
|
Loading…
Add table
editor.link_modal.header
Reference in a new issue