UNPKG

bdq

Version:

Biodiversity Data Quality Mechanisms

69 lines (59 loc) 3.13 kB
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!!!"); } }); });*/