mirror of
https://github.com/TiddlyWiki/TiddlyWiki5.git
synced 2026-05-01 16:06:58 +00:00
First commit
This is the beginnings of a new core plugin to add geospatial capabilities, building on the JSON operators that we now have in the core. It uses the libraries leaflet.js for mapping and turf.js for geospatial calculations.
This commit is contained in:
31
plugins/tiddlywiki/geospatial/operators/measurement.js
Normal file
31
plugins/tiddlywiki/geospatial/operators/measurement.js
Normal file
@@ -0,0 +1,31 @@
|
||||
/*\
|
||||
title: $:/plugins/tiddlywiki/geospatial/operators/measurement.js
|
||||
type: application/javascript
|
||||
module-type: filteroperator
|
||||
|
||||
Filter operators for geospatial measurement
|
||||
|
||||
\*/
|
||||
(function(){
|
||||
|
||||
/*jslint node: true, browser: true */
|
||||
/*global $tw: false */
|
||||
"use strict";
|
||||
|
||||
var turf = require("$:/plugins/tiddlywiki/geospatial/turf.js"),
|
||||
geotools = require("$:/plugins/tiddlywiki/geospatial/geotools.js");
|
||||
|
||||
var VALID_UNITS = ["miles","kilometers","radians","degrees"],
|
||||
DEFAULT_UNITS = "miles";
|
||||
|
||||
exports.geodistance = function(source,operator,options) {
|
||||
var from = geotools.parsePoint(operator.operands[0]),
|
||||
to = geotools.parsePoint(operator.operands[1]),
|
||||
units = operator.operands[2] || DEFAULT_UNITS;
|
||||
if(VALID_UNITS.indexOf(units) === -1) {
|
||||
units = DEFAULT_UNITS;
|
||||
}
|
||||
return [JSON.stringify(turf.distance(from,to,{units: units}))];
|
||||
};
|
||||
|
||||
})();
|
||||
Reference in New Issue
Block a user