StackGenVis: Alignment of Data, Algorithms, and Models for Stacking Ensemble Learning Using Performance Metrics
https://doi.org/10.1109/TVCG.2020.3030352
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
858 lines
27 KiB
858 lines
27 KiB
# @turf/meta
|
|
|
|
<!-- Generated by documentation.js. Update this documentation by updating the source code. -->
|
|
|
|
## coordEachCallback
|
|
|
|
Callback for coordEach
|
|
|
|
Type: [Function][1]
|
|
|
|
**Parameters**
|
|
|
|
- `currentCoord` **[Array][2]<[number][3]>** The current coordinate being processed.
|
|
- `coordIndex` **[number][3]** The current index of the coordinate being processed.
|
|
- `featureIndex` **[number][3]** The current index of the Feature being processed.
|
|
- `multiFeatureIndex` **[number][3]** The current index of the Multi-Feature being processed.
|
|
- `geometryIndex` **[number][3]** The current index of the Geometry being processed.
|
|
|
|
## coordEach
|
|
|
|
Iterate over coordinates in any GeoJSON object, similar to Array.forEach()
|
|
|
|
**Parameters**
|
|
|
|
- `geojson` **([FeatureCollection][4] \| [Feature][5] \| [Geometry][6])** any GeoJSON object
|
|
- `callback` **[Function][1]** a method that takes (currentCoord, coordIndex, featureIndex, multiFeatureIndex)
|
|
- `excludeWrapCoord` **[boolean][7]** whether or not to include the final coordinate of LinearRings that wraps the ring in its iteration. (optional, default `false`)
|
|
|
|
**Examples**
|
|
|
|
```javascript
|
|
var features = turf.featureCollection([
|
|
turf.point([26, 37], {"foo": "bar"}),
|
|
turf.point([36, 53], {"hello": "world"})
|
|
]);
|
|
|
|
turf.coordEach(features, function (currentCoord, coordIndex, featureIndex, multiFeatureIndex, geometryIndex) {
|
|
//=currentCoord
|
|
//=coordIndex
|
|
//=featureIndex
|
|
//=multiFeatureIndex
|
|
//=geometryIndex
|
|
});
|
|
```
|
|
|
|
Returns **void**
|
|
|
|
## coordReduce
|
|
|
|
Reduce coordinates in any GeoJSON object, similar to Array.reduce()
|
|
|
|
**Parameters**
|
|
|
|
- `geojson` **([FeatureCollection][4] \| [Geometry][6] \| [Feature][5])** any GeoJSON object
|
|
- `callback` **[Function][1]** a method that takes (previousValue, currentCoord, coordIndex)
|
|
- `initialValue` **any?** Value to use as the first argument to the first call of the callback.
|
|
- `excludeWrapCoord` **[boolean][7]** whether or not to include the final coordinate of LinearRings that wraps the ring in its iteration. (optional, default `false`)
|
|
|
|
**Examples**
|
|
|
|
```javascript
|
|
var features = turf.featureCollection([
|
|
turf.point([26, 37], {"foo": "bar"}),
|
|
turf.point([36, 53], {"hello": "world"})
|
|
]);
|
|
|
|
turf.coordReduce(features, function (previousValue, currentCoord, coordIndex, featureIndex, multiFeatureIndex, geometryIndex) {
|
|
//=previousValue
|
|
//=currentCoord
|
|
//=coordIndex
|
|
//=featureIndex
|
|
//=multiFeatureIndex
|
|
//=geometryIndex
|
|
return currentCoord;
|
|
});
|
|
```
|
|
|
|
Returns **any** The value that results from the reduction.
|
|
|
|
## coordReduceCallback
|
|
|
|
Callback for coordReduce
|
|
|
|
The first time the callback function is called, the values provided as arguments depend
|
|
on whether the reduce method has an initialValue argument.
|
|
|
|
If an initialValue is provided to the reduce method:
|
|
|
|
- The previousValue argument is initialValue.
|
|
- The currentValue argument is the value of the first element present in the array.
|
|
|
|
If an initialValue is not provided:
|
|
|
|
- The previousValue argument is the value of the first element present in the array.
|
|
- The currentValue argument is the value of the second element present in the array.
|
|
|
|
Type: [Function][1]
|
|
|
|
**Parameters**
|
|
|
|
- `previousValue` **any** The accumulated value previously returned in the last invocation
|
|
of the callback, or initialValue, if supplied.
|
|
- `currentCoord` **[Array][2]<[number][3]>** The current coordinate being processed.
|
|
- `coordIndex` **[number][3]** The current index of the coordinate being processed.
|
|
Starts at index 0, if an initialValue is provided, and at index 1 otherwise.
|
|
- `featureIndex` **[number][3]** The current index of the Feature being processed.
|
|
- `multiFeatureIndex` **[number][3]** The current index of the Multi-Feature being processed.
|
|
- `geometryIndex` **[number][3]** The current index of the Geometry being processed.
|
|
|
|
## propEach
|
|
|
|
Iterate over properties in any GeoJSON object, similar to Array.forEach()
|
|
|
|
**Parameters**
|
|
|
|
- `geojson` **([FeatureCollection][4] \| [Feature][5])** any GeoJSON object
|
|
- `callback` **[Function][1]** a method that takes (currentProperties, featureIndex)
|
|
|
|
**Examples**
|
|
|
|
```javascript
|
|
var features = turf.featureCollection([
|
|
turf.point([26, 37], {foo: 'bar'}),
|
|
turf.point([36, 53], {hello: 'world'})
|
|
]);
|
|
|
|
turf.propEach(features, function (currentProperties, featureIndex) {
|
|
//=currentProperties
|
|
//=featureIndex
|
|
});
|
|
```
|
|
|
|
Returns **void**
|
|
|
|
## propEachCallback
|
|
|
|
Callback for propEach
|
|
|
|
Type: [Function][1]
|
|
|
|
**Parameters**
|
|
|
|
- `currentProperties` **[Object][8]** The current Properties being processed.
|
|
- `featureIndex` **[number][3]** The current index of the Feature being processed.
|
|
|
|
## propReduceCallback
|
|
|
|
Callback for propReduce
|
|
|
|
The first time the callback function is called, the values provided as arguments depend
|
|
on whether the reduce method has an initialValue argument.
|
|
|
|
If an initialValue is provided to the reduce method:
|
|
|
|
- The previousValue argument is initialValue.
|
|
- The currentValue argument is the value of the first element present in the array.
|
|
|
|
If an initialValue is not provided:
|
|
|
|
- The previousValue argument is the value of the first element present in the array.
|
|
- The currentValue argument is the value of the second element present in the array.
|
|
|
|
Type: [Function][1]
|
|
|
|
**Parameters**
|
|
|
|
- `previousValue` **any** The accumulated value previously returned in the last invocation
|
|
of the callback, or initialValue, if supplied.
|
|
- `currentProperties` **any** The current Properties being processed.
|
|
- `featureIndex` **[number][3]** The current index of the Feature being processed.
|
|
|
|
## propReduce
|
|
|
|
Reduce properties in any GeoJSON object into a single value,
|
|
similar to how Array.reduce works. However, in this case we lazily run
|
|
the reduction, so an array of all properties is unnecessary.
|
|
|
|
**Parameters**
|
|
|
|
- `geojson` **([FeatureCollection][4] \| [Feature][5])** any GeoJSON object
|
|
- `callback` **[Function][1]** a method that takes (previousValue, currentProperties, featureIndex)
|
|
- `initialValue` **any?** Value to use as the first argument to the first call of the callback.
|
|
|
|
**Examples**
|
|
|
|
```javascript
|
|
var features = turf.featureCollection([
|
|
turf.point([26, 37], {foo: 'bar'}),
|
|
turf.point([36, 53], {hello: 'world'})
|
|
]);
|
|
|
|
turf.propReduce(features, function (previousValue, currentProperties, featureIndex) {
|
|
//=previousValue
|
|
//=currentProperties
|
|
//=featureIndex
|
|
return currentProperties
|
|
});
|
|
```
|
|
|
|
Returns **any** The value that results from the reduction.
|
|
|
|
## featureEachCallback
|
|
|
|
Callback for featureEach
|
|
|
|
Type: [Function][1]
|
|
|
|
**Parameters**
|
|
|
|
- `currentFeature` **[Feature][5]<any>** The current Feature being processed.
|
|
- `featureIndex` **[number][3]** The current index of the Feature being processed.
|
|
|
|
## featureEach
|
|
|
|
Iterate over features in any GeoJSON object, similar to
|
|
Array.forEach.
|
|
|
|
**Parameters**
|
|
|
|
- `geojson` **([FeatureCollection][4] \| [Feature][5] \| [Geometry][6])** any GeoJSON object
|
|
- `callback` **[Function][1]** a method that takes (currentFeature, featureIndex)
|
|
|
|
**Examples**
|
|
|
|
```javascript
|
|
var features = turf.featureCollection([
|
|
turf.point([26, 37], {foo: 'bar'}),
|
|
turf.point([36, 53], {hello: 'world'})
|
|
]);
|
|
|
|
turf.featureEach(features, function (currentFeature, featureIndex) {
|
|
//=currentFeature
|
|
//=featureIndex
|
|
});
|
|
```
|
|
|
|
Returns **void**
|
|
|
|
## featureReduceCallback
|
|
|
|
Callback for featureReduce
|
|
|
|
The first time the callback function is called, the values provided as arguments depend
|
|
on whether the reduce method has an initialValue argument.
|
|
|
|
If an initialValue is provided to the reduce method:
|
|
|
|
- The previousValue argument is initialValue.
|
|
- The currentValue argument is the value of the first element present in the array.
|
|
|
|
If an initialValue is not provided:
|
|
|
|
- The previousValue argument is the value of the first element present in the array.
|
|
- The currentValue argument is the value of the second element present in the array.
|
|
|
|
Type: [Function][1]
|
|
|
|
**Parameters**
|
|
|
|
- `previousValue` **any** The accumulated value previously returned in the last invocation
|
|
of the callback, or initialValue, if supplied.
|
|
- `currentFeature` **[Feature][5]** The current Feature being processed.
|
|
- `featureIndex` **[number][3]** The current index of the Feature being processed.
|
|
|
|
## featureReduce
|
|
|
|
Reduce features in any GeoJSON object, similar to Array.reduce().
|
|
|
|
**Parameters**
|
|
|
|
- `geojson` **([FeatureCollection][4] \| [Feature][5] \| [Geometry][6])** any GeoJSON object
|
|
- `callback` **[Function][1]** a method that takes (previousValue, currentFeature, featureIndex)
|
|
- `initialValue` **any?** Value to use as the first argument to the first call of the callback.
|
|
|
|
**Examples**
|
|
|
|
```javascript
|
|
var features = turf.featureCollection([
|
|
turf.point([26, 37], {"foo": "bar"}),
|
|
turf.point([36, 53], {"hello": "world"})
|
|
]);
|
|
|
|
turf.featureReduce(features, function (previousValue, currentFeature, featureIndex) {
|
|
//=previousValue
|
|
//=currentFeature
|
|
//=featureIndex
|
|
return currentFeature
|
|
});
|
|
```
|
|
|
|
Returns **any** The value that results from the reduction.
|
|
|
|
## coordAll
|
|
|
|
Get all coordinates from any GeoJSON object.
|
|
|
|
**Parameters**
|
|
|
|
- `geojson` **([FeatureCollection][4] \| [Feature][5] \| [Geometry][6])** any GeoJSON object
|
|
|
|
**Examples**
|
|
|
|
```javascript
|
|
var features = turf.featureCollection([
|
|
turf.point([26, 37], {foo: 'bar'}),
|
|
turf.point([36, 53], {hello: 'world'})
|
|
]);
|
|
|
|
var coords = turf.coordAll(features);
|
|
//= [[26, 37], [36, 53]]
|
|
```
|
|
|
|
Returns **[Array][2]<[Array][2]<[number][3]>>** coordinate position array
|
|
|
|
## geomEachCallback
|
|
|
|
Callback for geomEach
|
|
|
|
Type: [Function][1]
|
|
|
|
**Parameters**
|
|
|
|
- `currentGeometry` **[Geometry][6]** The current Geometry being processed.
|
|
- `featureIndex` **[number][3]** The current index of the Feature being processed.
|
|
- `featureProperties` **[Object][8]** The current Feature Properties being processed.
|
|
- `featureBBox` **[Array][2]<[number][3]>** The current Feature BBox being processed.
|
|
- `featureId` **([number][3] \| [string][9])** The current Feature Id being processed.
|
|
|
|
## geomEach
|
|
|
|
Iterate over each geometry in any GeoJSON object, similar to Array.forEach()
|
|
|
|
**Parameters**
|
|
|
|
- `geojson` **([FeatureCollection][4] \| [Feature][5] \| [Geometry][6])** any GeoJSON object
|
|
- `callback` **[Function][1]** a method that takes (currentGeometry, featureIndex, featureProperties, featureBBox, featureId)
|
|
|
|
**Examples**
|
|
|
|
```javascript
|
|
var features = turf.featureCollection([
|
|
turf.point([26, 37], {foo: 'bar'}),
|
|
turf.point([36, 53], {hello: 'world'})
|
|
]);
|
|
|
|
turf.geomEach(features, function (currentGeometry, featureIndex, featureProperties, featureBBox, featureId) {
|
|
//=currentGeometry
|
|
//=featureIndex
|
|
//=featureProperties
|
|
//=featureBBox
|
|
//=featureId
|
|
});
|
|
```
|
|
|
|
Returns **void**
|
|
|
|
## geomReduceCallback
|
|
|
|
Callback for geomReduce
|
|
|
|
The first time the callback function is called, the values provided as arguments depend
|
|
on whether the reduce method has an initialValue argument.
|
|
|
|
If an initialValue is provided to the reduce method:
|
|
|
|
- The previousValue argument is initialValue.
|
|
- The currentValue argument is the value of the first element present in the array.
|
|
|
|
If an initialValue is not provided:
|
|
|
|
- The previousValue argument is the value of the first element present in the array.
|
|
- The currentValue argument is the value of the second element present in the array.
|
|
|
|
Type: [Function][1]
|
|
|
|
**Parameters**
|
|
|
|
- `previousValue` **any** The accumulated value previously returned in the last invocation
|
|
of the callback, or initialValue, if supplied.
|
|
- `currentGeometry` **[Geometry][6]** The current Geometry being processed.
|
|
- `featureIndex` **[number][3]** The current index of the Feature being processed.
|
|
- `featureProperties` **[Object][8]** The current Feature Properties being processed.
|
|
- `featureBBox` **[Array][2]<[number][3]>** The current Feature BBox being processed.
|
|
- `featureId` **([number][3] \| [string][9])** The current Feature Id being processed.
|
|
|
|
## geomReduce
|
|
|
|
Reduce geometry in any GeoJSON object, similar to Array.reduce().
|
|
|
|
**Parameters**
|
|
|
|
- `geojson` **([FeatureCollection][4] \| [Feature][5] \| [Geometry][6])** any GeoJSON object
|
|
- `callback` **[Function][1]** a method that takes (previousValue, currentGeometry, featureIndex, featureProperties, featureBBox, featureId)
|
|
- `initialValue` **any?** Value to use as the first argument to the first call of the callback.
|
|
|
|
**Examples**
|
|
|
|
```javascript
|
|
var features = turf.featureCollection([
|
|
turf.point([26, 37], {foo: 'bar'}),
|
|
turf.point([36, 53], {hello: 'world'})
|
|
]);
|
|
|
|
turf.geomReduce(features, function (previousValue, currentGeometry, featureIndex, featureProperties, featureBBox, featureId) {
|
|
//=previousValue
|
|
//=currentGeometry
|
|
//=featureIndex
|
|
//=featureProperties
|
|
//=featureBBox
|
|
//=featureId
|
|
return currentGeometry
|
|
});
|
|
```
|
|
|
|
Returns **any** The value that results from the reduction.
|
|
|
|
## flattenEachCallback
|
|
|
|
Callback for flattenEach
|
|
|
|
Type: [Function][1]
|
|
|
|
**Parameters**
|
|
|
|
- `currentFeature` **[Feature][5]** The current flattened feature being processed.
|
|
- `featureIndex` **[number][3]** The current index of the Feature being processed.
|
|
- `multiFeatureIndex` **[number][3]** The current index of the Multi-Feature being processed.
|
|
|
|
## flattenEach
|
|
|
|
Iterate over flattened features in any GeoJSON object, similar to
|
|
Array.forEach.
|
|
|
|
**Parameters**
|
|
|
|
- `geojson` **([FeatureCollection][4] \| [Feature][5] \| [Geometry][6])** any GeoJSON object
|
|
- `callback` **[Function][1]** a method that takes (currentFeature, featureIndex, multiFeatureIndex)
|
|
|
|
**Examples**
|
|
|
|
```javascript
|
|
var features = turf.featureCollection([
|
|
turf.point([26, 37], {foo: 'bar'}),
|
|
turf.multiPoint([[40, 30], [36, 53]], {hello: 'world'})
|
|
]);
|
|
|
|
turf.flattenEach(features, function (currentFeature, featureIndex, multiFeatureIndex) {
|
|
//=currentFeature
|
|
//=featureIndex
|
|
//=multiFeatureIndex
|
|
});
|
|
```
|
|
|
|
## flattenReduceCallback
|
|
|
|
Callback for flattenReduce
|
|
|
|
The first time the callback function is called, the values provided as arguments depend
|
|
on whether the reduce method has an initialValue argument.
|
|
|
|
If an initialValue is provided to the reduce method:
|
|
|
|
- The previousValue argument is initialValue.
|
|
- The currentValue argument is the value of the first element present in the array.
|
|
|
|
If an initialValue is not provided:
|
|
|
|
- The previousValue argument is the value of the first element present in the array.
|
|
- The currentValue argument is the value of the second element present in the array.
|
|
|
|
Type: [Function][1]
|
|
|
|
**Parameters**
|
|
|
|
- `previousValue` **any** The accumulated value previously returned in the last invocation
|
|
of the callback, or initialValue, if supplied.
|
|
- `currentFeature` **[Feature][5]** The current Feature being processed.
|
|
- `featureIndex` **[number][3]** The current index of the Feature being processed.
|
|
- `multiFeatureIndex` **[number][3]** The current index of the Multi-Feature being processed.
|
|
|
|
## flattenReduce
|
|
|
|
Reduce flattened features in any GeoJSON object, similar to Array.reduce().
|
|
|
|
**Parameters**
|
|
|
|
- `geojson` **([FeatureCollection][4] \| [Feature][5] \| [Geometry][6])** any GeoJSON object
|
|
- `callback` **[Function][1]** a method that takes (previousValue, currentFeature, featureIndex, multiFeatureIndex)
|
|
- `initialValue` **any?** Value to use as the first argument to the first call of the callback.
|
|
|
|
**Examples**
|
|
|
|
```javascript
|
|
var features = turf.featureCollection([
|
|
turf.point([26, 37], {foo: 'bar'}),
|
|
turf.multiPoint([[40, 30], [36, 53]], {hello: 'world'})
|
|
]);
|
|
|
|
turf.flattenReduce(features, function (previousValue, currentFeature, featureIndex, multiFeatureIndex) {
|
|
//=previousValue
|
|
//=currentFeature
|
|
//=featureIndex
|
|
//=multiFeatureIndex
|
|
return currentFeature
|
|
});
|
|
```
|
|
|
|
Returns **any** The value that results from the reduction.
|
|
|
|
## segmentEachCallback
|
|
|
|
Callback for segmentEach
|
|
|
|
Type: [Function][1]
|
|
|
|
**Parameters**
|
|
|
|
- `currentSegment` **[Feature][5]<[LineString][10]>** The current Segment being processed.
|
|
- `featureIndex` **[number][3]** The current index of the Feature being processed.
|
|
- `multiFeatureIndex` **[number][3]** The current index of the Multi-Feature being processed.
|
|
- `geometryIndex` **[number][3]** The current index of the Geometry being processed.
|
|
- `segmentIndex` **[number][3]** The current index of the Segment being processed.
|
|
|
|
Returns **void**
|
|
|
|
## segmentEach
|
|
|
|
Iterate over 2-vertex line segment in any GeoJSON object, similar to Array.forEach()
|
|
(Multi)Point geometries do not contain segments therefore they are ignored during this operation.
|
|
|
|
**Parameters**
|
|
|
|
- `geojson` **([FeatureCollection][4] \| [Feature][5] \| [Geometry][6])** any GeoJSON
|
|
- `callback` **[Function][1]** a method that takes (currentSegment, featureIndex, multiFeatureIndex, geometryIndex, segmentIndex)
|
|
|
|
**Examples**
|
|
|
|
```javascript
|
|
var polygon = turf.polygon([[[-50, 5], [-40, -10], [-50, -10], [-40, 5], [-50, 5]]]);
|
|
|
|
// Iterate over GeoJSON by 2-vertex segments
|
|
turf.segmentEach(polygon, function (currentSegment, featureIndex, multiFeatureIndex, geometryIndex, segmentIndex) {
|
|
//=currentSegment
|
|
//=featureIndex
|
|
//=multiFeatureIndex
|
|
//=geometryIndex
|
|
//=segmentIndex
|
|
});
|
|
|
|
// Calculate the total number of segments
|
|
var total = 0;
|
|
turf.segmentEach(polygon, function () {
|
|
total++;
|
|
});
|
|
```
|
|
|
|
Returns **void**
|
|
|
|
## segmentReduceCallback
|
|
|
|
Callback for segmentReduce
|
|
|
|
The first time the callback function is called, the values provided as arguments depend
|
|
on whether the reduce method has an initialValue argument.
|
|
|
|
If an initialValue is provided to the reduce method:
|
|
|
|
- The previousValue argument is initialValue.
|
|
- The currentValue argument is the value of the first element present in the array.
|
|
|
|
If an initialValue is not provided:
|
|
|
|
- The previousValue argument is the value of the first element present in the array.
|
|
- The currentValue argument is the value of the second element present in the array.
|
|
|
|
Type: [Function][1]
|
|
|
|
**Parameters**
|
|
|
|
- `previousValue` **any** The accumulated value previously returned in the last invocation
|
|
of the callback, or initialValue, if supplied.
|
|
- `currentSegment` **[Feature][5]<[LineString][10]>** The current Segment being processed.
|
|
- `featureIndex` **[number][3]** The current index of the Feature being processed.
|
|
- `multiFeatureIndex` **[number][3]** The current index of the Multi-Feature being processed.
|
|
- `geometryIndex` **[number][3]** The current index of the Geometry being processed.
|
|
- `segmentIndex` **[number][3]** The current index of the Segment being processed.
|
|
|
|
## segmentReduce
|
|
|
|
Reduce 2-vertex line segment in any GeoJSON object, similar to Array.reduce()
|
|
(Multi)Point geometries do not contain segments therefore they are ignored during this operation.
|
|
|
|
**Parameters**
|
|
|
|
- `geojson` **([FeatureCollection][4] \| [Feature][5] \| [Geometry][6])** any GeoJSON
|
|
- `callback` **[Function][1]** a method that takes (previousValue, currentSegment, currentIndex)
|
|
- `initialValue` **any?** Value to use as the first argument to the first call of the callback.
|
|
|
|
**Examples**
|
|
|
|
```javascript
|
|
var polygon = turf.polygon([[[-50, 5], [-40, -10], [-50, -10], [-40, 5], [-50, 5]]]);
|
|
|
|
// Iterate over GeoJSON by 2-vertex segments
|
|
turf.segmentReduce(polygon, function (previousSegment, currentSegment, featureIndex, multiFeatureIndex, geometryIndex, segmentIndex) {
|
|
//= previousSegment
|
|
//= currentSegment
|
|
//= featureIndex
|
|
//= multiFeatureIndex
|
|
//= geometryIndex
|
|
//= segmentInex
|
|
return currentSegment
|
|
});
|
|
|
|
// Calculate the total number of segments
|
|
var initialValue = 0
|
|
var total = turf.segmentReduce(polygon, function (previousValue) {
|
|
previousValue++;
|
|
return previousValue;
|
|
}, initialValue);
|
|
```
|
|
|
|
Returns **void**
|
|
|
|
## lineEachCallback
|
|
|
|
Callback for lineEach
|
|
|
|
Type: [Function][1]
|
|
|
|
**Parameters**
|
|
|
|
- `currentLine` **[Feature][5]<[LineString][10]>** The current LineString|LinearRing being processed
|
|
- `featureIndex` **[number][3]** The current index of the Feature being processed
|
|
- `multiFeatureIndex` **[number][3]** The current index of the Multi-Feature being processed
|
|
- `geometryIndex` **[number][3]** The current index of the Geometry being processed
|
|
|
|
## lineEach
|
|
|
|
Iterate over line or ring coordinates in LineString, Polygon, MultiLineString, MultiPolygon Features or Geometries,
|
|
similar to Array.forEach.
|
|
|
|
**Parameters**
|
|
|
|
- `geojson` **([Geometry][6] \| [Feature][5]<([LineString][10] \| [Polygon][11] \| [MultiLineString][12] \| [MultiPolygon][13])>)** object
|
|
- `callback` **[Function][1]** a method that takes (currentLine, featureIndex, multiFeatureIndex, geometryIndex)
|
|
|
|
**Examples**
|
|
|
|
```javascript
|
|
var multiLine = turf.multiLineString([
|
|
[[26, 37], [35, 45]],
|
|
[[36, 53], [38, 50], [41, 55]]
|
|
]);
|
|
|
|
turf.lineEach(multiLine, function (currentLine, featureIndex, multiFeatureIndex, geometryIndex) {
|
|
//=currentLine
|
|
//=featureIndex
|
|
//=multiFeatureIndex
|
|
//=geometryIndex
|
|
});
|
|
```
|
|
|
|
## lineReduceCallback
|
|
|
|
Callback for lineReduce
|
|
|
|
The first time the callback function is called, the values provided as arguments depend
|
|
on whether the reduce method has an initialValue argument.
|
|
|
|
If an initialValue is provided to the reduce method:
|
|
|
|
- The previousValue argument is initialValue.
|
|
- The currentValue argument is the value of the first element present in the array.
|
|
|
|
If an initialValue is not provided:
|
|
|
|
- The previousValue argument is the value of the first element present in the array.
|
|
- The currentValue argument is the value of the second element present in the array.
|
|
|
|
Type: [Function][1]
|
|
|
|
**Parameters**
|
|
|
|
- `previousValue` **any** The accumulated value previously returned in the last invocation
|
|
of the callback, or initialValue, if supplied.
|
|
- `currentLine` **[Feature][5]<[LineString][10]>** The current LineString|LinearRing being processed.
|
|
- `featureIndex` **[number][3]** The current index of the Feature being processed
|
|
- `multiFeatureIndex` **[number][3]** The current index of the Multi-Feature being processed
|
|
- `geometryIndex` **[number][3]** The current index of the Geometry being processed
|
|
|
|
## lineReduce
|
|
|
|
Reduce features in any GeoJSON object, similar to Array.reduce().
|
|
|
|
**Parameters**
|
|
|
|
- `geojson` **([Geometry][6] \| [Feature][5]<([LineString][10] \| [Polygon][11] \| [MultiLineString][12] \| [MultiPolygon][13])>)** object
|
|
- `callback` **[Function][1]** a method that takes (previousValue, currentLine, featureIndex, multiFeatureIndex, geometryIndex)
|
|
- `initialValue` **any?** Value to use as the first argument to the first call of the callback.
|
|
|
|
**Examples**
|
|
|
|
```javascript
|
|
var multiPoly = turf.multiPolygon([
|
|
turf.polygon([[[12,48],[2,41],[24,38],[12,48]], [[9,44],[13,41],[13,45],[9,44]]]),
|
|
turf.polygon([[[5, 5], [0, 0], [2, 2], [4, 4], [5, 5]]])
|
|
]);
|
|
|
|
turf.lineReduce(multiPoly, function (previousValue, currentLine, featureIndex, multiFeatureIndex, geometryIndex) {
|
|
//=previousValue
|
|
//=currentLine
|
|
//=featureIndex
|
|
//=multiFeatureIndex
|
|
//=geometryIndex
|
|
return currentLine
|
|
});
|
|
```
|
|
|
|
Returns **any** The value that results from the reduction.
|
|
|
|
## findSegment
|
|
|
|
Finds a particular 2-vertex LineString Segment from a GeoJSON using `@turf/meta` indexes.
|
|
|
|
Negative indexes are permitted.
|
|
Point & MultiPoint will always return null.
|
|
|
|
**Parameters**
|
|
|
|
- `geojson` **([FeatureCollection][4] \| [Feature][5] \| [Geometry][6])** Any GeoJSON Feature or Geometry
|
|
- `options` **[Object][8]** Optional parameters (optional, default `{}`)
|
|
- `options.featureIndex` **[number][3]** Feature Index (optional, default `0`)
|
|
- `options.multiFeatureIndex` **[number][3]** Multi-Feature Index (optional, default `0`)
|
|
- `options.geometryIndex` **[number][3]** Geometry Index (optional, default `0`)
|
|
- `options.segmentIndex` **[number][3]** Segment Index (optional, default `0`)
|
|
- `options.properties` **[Object][8]** Translate Properties to output LineString (optional, default `{}`)
|
|
- `options.bbox` **[BBox][14]** Translate BBox to output LineString (optional, default `{}`)
|
|
- `options.id` **([number][3] \| [string][9])** Translate Id to output LineString (optional, default `{}`)
|
|
|
|
**Examples**
|
|
|
|
```javascript
|
|
var multiLine = turf.multiLineString([
|
|
[[10, 10], [50, 30], [30, 40]],
|
|
[[-10, -10], [-50, -30], [-30, -40]]
|
|
]);
|
|
|
|
// First Segment (defaults are 0)
|
|
turf.findSegment(multiLine);
|
|
// => Feature<LineString<[[10, 10], [50, 30]]>>
|
|
|
|
// First Segment of 2nd Multi Feature
|
|
turf.findSegment(multiLine, {multiFeatureIndex: 1});
|
|
// => Feature<LineString<[[-10, -10], [-50, -30]]>>
|
|
|
|
// Last Segment of Last Multi Feature
|
|
turf.findSegment(multiLine, {multiFeatureIndex: -1, segmentIndex: -1});
|
|
// => Feature<LineString<[[-50, -30], [-30, -40]]>>
|
|
```
|
|
|
|
Returns **[Feature][5]<[LineString][10]>** 2-vertex GeoJSON Feature LineString
|
|
|
|
## findPoint
|
|
|
|
Finds a particular Point from a GeoJSON using `@turf/meta` indexes.
|
|
|
|
Negative indexes are permitted.
|
|
|
|
**Parameters**
|
|
|
|
- `geojson` **([FeatureCollection][4] \| [Feature][5] \| [Geometry][6])** Any GeoJSON Feature or Geometry
|
|
- `options` **[Object][8]** Optional parameters (optional, default `{}`)
|
|
- `options.featureIndex` **[number][3]** Feature Index (optional, default `0`)
|
|
- `options.multiFeatureIndex` **[number][3]** Multi-Feature Index (optional, default `0`)
|
|
- `options.geometryIndex` **[number][3]** Geometry Index (optional, default `0`)
|
|
- `options.coordIndex` **[number][3]** Coord Index (optional, default `0`)
|
|
- `options.properties` **[Object][8]** Translate Properties to output Point (optional, default `{}`)
|
|
- `options.bbox` **[BBox][14]** Translate BBox to output Point (optional, default `{}`)
|
|
- `options.id` **([number][3] \| [string][9])** Translate Id to output Point (optional, default `{}`)
|
|
|
|
**Examples**
|
|
|
|
```javascript
|
|
var multiLine = turf.multiLineString([
|
|
[[10, 10], [50, 30], [30, 40]],
|
|
[[-10, -10], [-50, -30], [-30, -40]]
|
|
]);
|
|
|
|
// First Segment (defaults are 0)
|
|
turf.findPoint(multiLine);
|
|
// => Feature<Point<[10, 10]>>
|
|
|
|
// First Segment of the 2nd Multi-Feature
|
|
turf.findPoint(multiLine, {multiFeatureIndex: 1});
|
|
// => Feature<Point<[-10, -10]>>
|
|
|
|
// Last Segment of last Multi-Feature
|
|
turf.findPoint(multiLine, {multiFeatureIndex: -1, coordIndex: -1});
|
|
// => Feature<Point<[-30, -40]>>
|
|
```
|
|
|
|
Returns **[Feature][5]<[Point][15]>** 2-vertex GeoJSON Feature Point
|
|
|
|
[1]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Statements/function
|
|
|
|
[2]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Array
|
|
|
|
[3]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Number
|
|
|
|
[4]: https://tools.ietf.org/html/rfc7946#section-3.3
|
|
|
|
[5]: https://tools.ietf.org/html/rfc7946#section-3.2
|
|
|
|
[6]: https://tools.ietf.org/html/rfc7946#section-3.1
|
|
|
|
[7]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Boolean
|
|
|
|
[8]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object
|
|
|
|
[9]: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String
|
|
|
|
[10]: https://tools.ietf.org/html/rfc7946#section-3.1.4
|
|
|
|
[11]: https://tools.ietf.org/html/rfc7946#section-3.1.6
|
|
|
|
[12]: https://tools.ietf.org/html/rfc7946#section-3.1.5
|
|
|
|
[13]: https://tools.ietf.org/html/rfc7946#section-3.1.7
|
|
|
|
[14]: https://tools.ietf.org/html/rfc7946#section-5
|
|
|
|
[15]: https://tools.ietf.org/html/rfc7946#section-3.1.2
|
|
|
|
<!-- This file is automatically generated. Please don't edit it directly:
|
|
if you find an error, edit the source file (likely index.js), and re-run
|
|
./scripts/generate-readmes in the turf project. -->
|
|
|
|
---
|
|
|
|
This module is part of the [Turfjs project](http://turfjs.org/), an open source
|
|
module collection dedicated to geographic algorithms. It is maintained in the
|
|
[Turfjs/turf](https://github.com/Turfjs/turf) repository, where you can create
|
|
PRs and issues.
|
|
|
|
### Installation
|
|
|
|
Install this module individually:
|
|
|
|
```sh
|
|
$ npm install @turf/meta
|
|
```
|
|
|
|
Or install the Turf module that includes it as a function:
|
|
|
|
```sh
|
|
$ npm install @turf/turf
|
|
```
|
|
|