UNPKG

compare-geojson

Version:

Compare a features new and old versions in GeoJSON

31 lines (27 loc) 1.08 kB
'use strict'; module.exports = draggedHighwayWaterway; var Geopoint = require('geopoint'); var threshold = 10; function draggedHighwayWaterway(newVersion, oldVersion, callback) { var result = {}; if (!newVersion) { return callback(null, result); } if (newVersion.properties && (newVersion.properties.hasOwnProperty('highway') || newVersion.properties.hasOwnProperty('waterway')) && newVersion.properties['osm:type'] === 'way' && newVersion.geometry && newVersion.geometry.hasOwnProperty('coordinates') && newVersion.geometry.coordinates.length > 1) { for (var i = 0; i < newVersion.geometry.coordinates.length - 1; i++) { var point1 = new Geopoint(newVersion.geometry.coordinates[i][1], newVersion.geometry.coordinates[i][0]); var point2 = new Geopoint(newVersion.geometry.coordinates[i + 1][1], newVersion.geometry.coordinates[i + 1][0]); var distance = point1.distanceTo(point2, true); if (distance > threshold) { result['result:draggedHighwayWaterway'] = true; } } } callback(null, result); }