proj4js/lib/parseCode.js
2016-12-19 15:12:35 -05:00

38 lines
847 B
JavaScript

var defs = require('./defs');
var wkt = require('wkt-parser');
var projStr = require('./projString');
function testObj(code){
return typeof code === 'string';
}
function testDef(code){
return code in defs;
}
var codeWords = ['PROJECTEDCRS', 'PROJCRS', 'GEOGCS','GEOCCS','PROJCS','LOCAL_CS', 'GEODCRS', 'GEODETICCRS', 'GEODETICDATUM', 'ENGCRS', 'ENGINEERINGCRS'];
function testWKT(code){
return codeWords.some(function (word) {
return code.indexOf(word) > -1;
});
}
function testProj(code){
return code[0] === '+';
}
function parse(code){
if (testObj(code)) {
//check to see if this is a WKT string
if (testDef(code)) {
return defs[code];
}
if (testWKT(code)) {
return wkt(code);
}
if (testProj(code)) {
return projStr(code);
}
}else{
return code;
}
}
module.exports = parse;