bdq
Version:
Biodiversity Data Quality Mechanisms
69 lines (59 loc) • 3.13 kB
JavaScript
var dq = require("./bdq");
var rawDms = "21°23'37.38''S";
console.log("Raw DMS Coordinate:",rawDms);
console.log(dq.validate.general.isNumeric(""));
console.log("blank",dq.validate.general.isNumeric(""));
//var parsedDms = dq.improve.biogeolocation.parseDMSCoordinate(rawDms);
//console.log("Parsed DMS Coordinate:",parsedDms);
//var decimalCoordinate = dq.improve.biogeolocation.convertCoordinateDMSToDD(parsedDms.degrees,parsedDms.minutes,parsedDms.seconds,parsedDms.direction);
//console.log("Converted DMS Coordinate to Decimal Format:",decimalCoordinate);
/*console.log("Direct converted DMS Coordinate to Decimal Format:", dq.improve.biogeolocation.DMSCoordinateToDecimal(rawDms));
var doc = {
mechanism: {
id: "url:lsid:biocomp.org.br:mechanism:improve:2a92jh723a892",
name: "parseDMSCoordinate",
description: "Parse a string coordinate in Degrees, Minutes, Seconds and Direction format to an Object with split degrees, minutes, seconds and direction.",
parameter: "nonParsedDMSFormat",
verbatimParameter: "The coordinate in DMS format.",
response: "degrees, minutes, seconds, direction",
verbatimResponse: "A parsed DMS coordinated, composed by degree, minutes and seconds.",
author: "Allan Koch Veiga",
url: "http://api.biocomp.org.br:3000/mechanism:improve:biogeolocation:parseDMSCoordinate",
specification: {
id: "url:lsid:biocomp.org.br:specification:mechanism:improve:biogeolocation:2i4ih7824kjh4837",
description: "To ensure that invalid characters will not impact in the parsing, it selects only numbers until a non-number to Degree, the same with the next characters for Minutes and Seconds and select a value S, W, N or E to the Direction using Regex",
algorithm: "degree = SELECT characters until Regex(/[0-9]|\\./) is TRUE, THEN skip WHILE Regex(/[0-9]|\\./) is FALSE; \n" +
"minutes = SELECT characters until Regex(/[0-9]|\\./) is TRUE, THEN skip WHILE Regex(/[0-9]|\\./) is FALSE; \n" +
"seconds = SELECT characters until Regex(/[0-9]|\\./) is TRUE, THEN skip WHILE Regex(/[0-9]|\\./) is FALSE; \n" +
"direction = SELECT a character which match with Regex(/S|W|N|E/); "
}
}};
var MongoClient = require('mongodb').MongoClient;
MongoClient.connect("mongodb://127.0.0.1/", function(err,db){
var bdqRep = db.db("bdq");
bdqRep.collection("mechanism",function(err,mechanism){
if(!err){
mechanism.find(function(err,items){
if(!err){
items.each(function(err,item){
if(item){
console.log(item);
}
});
}
});
}
});
/*
mechanism.insert(doc, function(err,feedback){
if(!err){
console.log("Mecanismo inserido");
console.log(feedback);
}
});
bdqRep.createCollection("mechanism",function(err,collection){
if(!err){
console.log("New Database and Collection created!!!");
}
});
});*/