coordinate mutation
cleanCoords
npm install @turf/clean-coords
接收任意 GeoJSON,删除冗余坐标并返回
参数
| 入参 | 类型 | 描述 | |
|---|---|---|---|
| line | Geometry\ | Feature | Geometry 或 Feature |
| options | Object | 可配置项 |
options
| 属性 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| mutate | Boolean | false | 是否返回入参的 GeoJSON |
返回
范例
var line = turf.lineString([[0, 0],[0, 2],[0, 5],[0, 8],[0, 8],[0, 10]]);var multiPoint = turf.multiPoint([[0, 0],[0, 0],[2, 2]]);turf.cleanCoords(line).geometry.coordinates;//= [[0, 0], [0, 10]]turf.cleanCoords(multiPoint).geometry.coordinates;//= [[0, 0], [2, 2]]// 也可以使用 Geometry 对象var geometry = {type: "LineString",coordinates: [[0, 0],[0, 0],[2, 2]]};var result = turf.cleanCoords(geometry, { mutate: true });/*geometry、result均为{coordinates: [[0, 0], [2, 2]],type: "LineString"}*/
flip
npm install @turf/flip
接收入参要素并将其所有坐标从[x,y]翻转为[y,x]
参数
| 入参 | 类型 | 描述 |
|---|---|---|
| geojson | GeoJSON | 一个任意类型的 GeoJSON |
| options | Object | 可配置项 |
options
| 属性 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| mutate | Boolean | false | 是否返回入参的 GeoJSON,为 true 性能能显著提高 |
返回
范例
var serbia = turf.point([20.566406, 43.421008]);var saudiArabia = turf.flip(serbia);/*{type: "Feature",geometry: {type: "Point",coordinates: [43.421008, 20.566406]},properties: {}}*/
rewind
npm install @turf/rewind
接收(Multi)LineString或(Multi)Polygon,将坐标的顺序修改为顺时针,内圈顺序修改为逆时针
参数
| 入参 | 类型 | 描述 |
|---|---|---|
| geojson | GeoJSON | 类型为 Polygon 的 GeoJSON |
| options | Object | 可配置项 |
options
| 属性 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| reverse | Boolean | false | 启用反向绕组,即坐标组使用 reverse 方法 |
| mutate | Boolean | false | 是否返回入参的 GeoJSON,为 true 性能能显著提高 |
返回
范例
var polygon = turf.polygon([[[121, -29],[138, -29],[138, -18],[121, -18],[121, -29]]]);var rewind = turf.rewind(polygon);/*本来就是顺时针顺序,所以坐标顺序未发生变化{type: "Feature",geometry: {type: "Polygon",coordinates: [[[121, -29],[138, -29],[138, -18],[121, -18],[121, -29]]]},properties: {}}*/
round
npm install @turf/helpers
值得注意的是,round 是 helpers 模块的一部分
接收入参的数字和精确度数,返回四舍五入后的数字
参数
| 入参 | 类型 | 描述 |
|---|---|---|
| num | Number | 需要四舍五入的数字 |
| precision | Number | 坐标的小数点精确位数,不传则不保留 |
返回
Number
范例
turf.round(120.4321);//=120turf.round(120.4321, 2);//=120.43
truncate
npm install @turf/truncate
接收入参要素(Feature)或要素集(FeatureCollection),返回精确后的要素
参数
| 入参 | 类型 | 描述 |
|---|---|---|
| geojson | GeoJSON | 一个 GeoJSON 或要素集 |
| options | Object | 可配置项 |
options
| 属性 | 类型 | 默认值 | 描述 |
|---|---|---|---|
| precision | Number | 6 | 坐标的小数点精确位数 |
| coordinates | Number | 3 | 最大坐标数(主要用于删除 z 坐标) |
| mutate | Boolean | false | 是否返回入参的 GeoJSON,为 true 性能能显著提高 |
返回
范例
var point = turf.point([70.46923055566859, 58.11088890802906, 1508]);var options = { precision: 3, coordinates: 2 };var truncated = turf.truncate(point, options);//=truncated.geometry.coordinates => [70.469, 58.111]
