mirror of
https://github.com/Jermolene/TiddlyWiki5
synced 2024-11-01 07:36:18 +00:00
42 lines
824 B
JavaScript
42 lines
824 B
JavaScript
|
/*\
|
||
|
title: $:/plugins/tiddlywiki/geospatial/geotools.js
|
||
|
type: application/javascript
|
||
|
module-type: library
|
||
|
|
||
|
Geospatial utilities
|
||
|
|
||
|
\*/
|
||
|
(function(){
|
||
|
|
||
|
/*jslint node: true, browser: true */
|
||
|
/*global $tw: false */
|
||
|
"use strict";
|
||
|
|
||
|
var turf = require("$:/plugins/tiddlywiki/geospatial/turf.js");
|
||
|
|
||
|
/*
|
||
|
Parse a string as a GeoJSON Point
|
||
|
*/
|
||
|
exports.parsePoint = function(str) {
|
||
|
var defaultResult = function() {
|
||
|
return turf.point([0,0,0]);
|
||
|
}
|
||
|
// If the string is missing then return 0,0,0
|
||
|
if(!str) {
|
||
|
return defaultResult();
|
||
|
}
|
||
|
// Convert to an object
|
||
|
var json = $tw.utils.parseJSONSafe(str,null);
|
||
|
if(json === null) {
|
||
|
return defaultResult();
|
||
|
}
|
||
|
// Check it is a valid point
|
||
|
if(turf.getType(json) !== "Point") {
|
||
|
return defaultResult();
|
||
|
}
|
||
|
// Return the string now we know it is a valid GeoJSON Point
|
||
|
return json;
|
||
|
}
|
||
|
|
||
|
})();
|