turf-meta
Functional helpers for Turf modules.
Why? Because many turf modules have a similar pattern of running some operation
over every coordinate or property object, etc. This module unifies those patterns
into one structure and make sure that turf is able to handle unusual structures
(geometry roots, null geometries, geometrycollections, and so on). It's also
quite fast - it uses monomorphic functions as much as possible and avoids copying
data unnecessarily.
coordEach(layer, callback)
Lazily iterate over coordinates in any GeoJSON object, similar to Array.forEach.
layer
(Object
): any GeoJSON objectcallback
(Function
): a method that takes (value)
var point = { type: 'Point', coordinates: [0, 0] };
coordEach(point, function(coords) {
});
coordReduce(layer, callback, memo)
Lazily reduce coordinates in any GeoJSON object into a single value, similar to how Array.reduce works. However, in this case we lazily runthe reduction, so an array of all coordinates is unnecessary.
layer
(Object
): any GeoJSON objectcallback
(Function
): a method that takes (memo, value) and returns a new memomemo
(``): the starting value of memo: can be any type.
propEach(layer, callback)
Lazily iterate over property objects in any GeoJSON object, similar to Array.forEach.
layer
(Object
): any GeoJSON objectcallback
(Function
): a method that takes (value)
var point = { type: 'Feature', geometry: null, properties: { foo: 1 } };
propEach(point, function(props) {
});
propReduce(layer, callback, memo)
Lazily reduce properties in any GeoJSON object into a single value, similar to how Array.reduce works. However, in this case we lazily runthe reduction, so an array of all properties is unnecessary.
layer
(Object
): any GeoJSON objectcallback
(Function
): a method that takes (memo, coord) and returns a new memomemo
(``): the starting value of memo: can be any type.