var parseCode = require("./parseCode");
|
var extend = require('./extend');
|
var projections = require('./projections');
|
var deriveConstants = require('./deriveConstants');
|
|
function Projection(srsCode,callback) {
|
if (!(this instanceof Projection)) {
|
return new Projection(srsCode);
|
}
|
callback = callback || function(error){
|
if(error){
|
throw error;
|
}
|
};
|
var json = parseCode(srsCode);
|
if(typeof json !== 'object'){
|
callback(srsCode);
|
return;
|
}
|
var modifiedJSON = deriveConstants(json);
|
var ourProj = Projection.projections.get(modifiedJSON.projName);
|
if(ourProj){
|
extend(this, modifiedJSON);
|
extend(this, ourProj);
|
this.init();
|
callback(null, this);
|
}else{
|
callback(srsCode);
|
}
|
}
|
Projection.projections = projections;
|
Projection.projections.start();
|
module.exports = Projection;
|