turf.js API功能讲解

turf.js(地理空间分析函数库) - http://turfjs.org/ 特点 体积小
模块化加载不同功能
运行快速,不依赖后端
相关API 基础API操作 数据获取 getCoord 从点数据中获取坐标信息
getCoords 从要素、几何对象或数组获取坐标信息
getGeom 从要素或几何对象获取geometry信息
getType 获取GeoJSON对象的类型
getCluster 获取聚类信息
coord操作 coordAll 从Geojson对象中提取所有的经纬度数据并封装为数组
coordEach 遍历Geojson对象中所有的经纬度数据,类似Array.forEach()
coordReduce 类似Array.reduce()
feature操作 featureEach 遍历Geojson对象中的所有feature,类似Array.forEach()
featureReduce 类似Array.reduce()
flatten操作 flattenEach
flattenReduce
geom操作 geomEach 遍历GeoJSON对象中的每个几何,类似于Array.forEach()
geomReduce 类似Array.reduce()
segment操作 segmentEach 迭代任何GeoJSON对象中的2个顶点线段,类似于Array.forEach()(Multi)Point几何不包含线段,因此在此操作期间将忽略它们。
segmentReduce 减少任何GeoJSON对象中的2顶点线段,类似于Array.reduce()(Multi)Point几何不包含线段,因此在此操作期间将忽略它们。
prop操作 propEach 遍历GeoJSON对象中的属性,类似于Array.forEach()
propReduce 类似Array.reduce()
cluster操作 clusterEach
clusterReduce
测量计算 计算方位角 bearing 两个点之间的地理方位,即与北线成0度的度数(-180到180之间)
rhumbBearing 取两个点,并沿Rhumb线找到它们之间的方位角,即以度为单位以北线为起点(0度)的度数
计算中心点或者质心 center 输入一系列geojson元素,返回绝对中心点
centerOfMass 接受任何要素或要素集合,获取其多边形质心
centroid 选取一个或多个要素,并使用所有顶点的平均值计算质心。 在计算一组多边形的质心时,这会减少孤立区域的影响。
计算距离 destination 输入一个点,并以度,弧度,英里或公里为单位,计算目标点的位置。
distance 计算两点之间的距离,以度,弧度,英里或公里为单位。
length 输入线要素信息,计算实际距离长度
pointToLineDistance 返回Point与LineString之间的最小距离
计算面积 area 输入一个或多个geojson要素,求出包含面积
计算边框 bbox 接受一组geojson要素,计算所有输入要素的bbox,然后返回一个矩形边界框。
bboxPolygon 使用bbox并返回等效的多边形。
envelope 接受任意数量的点要素,并返回一个包含所有顶点的矩形面。
square 输入bbox,获取最小正方形框
greatCircle 输入两个点,计算最匹配的圆对应圆环,以lineString的方式返回
计算目标点 along 接受LineString并返回沿线指定距离的Point。
midpoint 取两个点,并在它们之间的中间返回一个点。 中点是通过测地线计算的。
rhumbDestination 获取给定方位角和距离的目标点
pointOnFeature 输入Feature或FeatureCollection,返回一个在要素表面上的Point。
polygonTangents 从一个点寻找多边形的切线对应的点。
坐标改变 cleanCoords 从任何GeoJSON Geometry中删除冗余坐标。
flip 坐标翻转,例如[x, y]经过翻转后为[y, x]
rewind 输入lineString或者polygon数据,逆时针输出相关结果
round 四舍五入,输入数字及保留小数位数,默认保留0位
truncate geojson数据经纬度信息小数点位数限制,避免数据过长影响性能
图形操作 clone geojson数据深拷贝,比JSON.stringify + JSON.parse 快3到4倍
simplify geojson数据简化
concave 根据一组点数据,生成包含的多边形
bboxClip 依据bbox对polygon进行裁剪
bezierSpline 输入一条线,获取近似的贝塞尔曲线
buffer 计算给定半径的输入要素的缓冲区。 
circle 根据中心点、半径等参数创建圆多边形
convex 接受Feature或FeatureCollection,返回凸包Polygon。
dissolve 分解多边形要素的FeatureCollection,并通过可选的属性name:value进行过滤。
intersect 取两个多边形并找到它们的交点。 如果他们共享边界,则返回边界;否则,返回边界。 如果它们不相交,则返回undefined。
lineOffset 给定一条直线返回偏移指定距离的直线。
tesselate 给定要素,将其切分为多个三角形 https://github.com/mapbox/earcut
transformRotate 旋转:围绕其质心或给定的轴心点旋转指定角度
transformTranslate 平移:在提供的方向角上沿Rhumb线移动指定距离的任何geojson特征或几何。 Rhumb:恒向线或等角航线
transformScale 缩放
difference 输入两个面元素,返回差异部分
union 两个或者多个多边形合并
voronoi 输入bbox及多个点数据,生成泰森多边形
要素转换 combine 将Point,LineString或Polygon要素的FeatureCollection转换为为MultiPoint,MultiLineString或MultiPolygon要素。
explode 将polygon转换为多个点要素
flatten 展平:将多个要素合并为一个要素
lineToPolygon 将(Multi)LineString转换为Polygon。
polygonize 将(Multi)LineString转换为Polygon?与上一个类似
polygonToLine 将polygon转换为(Multi)LineString或将MultiPolygon转换为(Multi)LineString的FeatureCollection。
几何体/feature/collection转换 坐标=>feature point 输入一个点坐标,转换为feature
lineString 输入坐标数组,转换为一条LineString
polygon 输入坐标数组,转换为Polygon
multiPoint 输入坐标数组,转换为MultiPoint
multiLineString 输入坐标数组,转换为一条MultiLineString
multiPolygon 输入坐标数组,转换为MultiPolygon
feature=>collection featureCollection 输入一个或多个feature,返回featureCollection
geometryCollection 输入一个或多个GeoJson几何体 ,返回"GeometryCollection"类型feature
几何体对象=>feature feature 输入GeoJSON几何体对象,返回相应feature
随机数据 randomPosition 返回固定范文内的随机位置
randomPoint 获取固定范围内若干个随机点
randomLineString 获取固定范围内若干条随机线
randomPolygon 获取固定范围内若干个随机面
数据抽样 sample 从数据中随机抽取若干数据。
数据插值 interpolate 输入一组点,使用反距离权重(IDW)方法在网格上估计其“属性”值进行显示
isobands 取得具有z值和值中断数组的点要素的网格FeatureCollection,并生成填充轮廓等值带。
isolines 使用具有z值和值中断数组的点要素的网格FeatureCollection并生成等值线。
planepoint 取一个三角形平面作为一个多边形,并在该三角形内获取一个点,并返回该点的z值。 多边形应具有属性a,b和c,用于定义其三个角的值。 或者,如果未将每个三角形点的z值作为属性提供,则可以通过其各自的第三坐标提供z值。
tin 取得一组点,然后创建一个不规则三角剖分网络(简称TIN),以多边形集合的形式返回。 这些通常用于开发高程等高线图或阶梯式热可视化。
空间连接 pointsWithinPolygon 查找属于多边形的点。
tag 获取一组点和一组多边形并执行空间连接。
网格生成 hexGrid 六边形网格:取一个边界框和该单元格的直径,并返回在“奇数”垂直网格中对齐的,平顶六边形或三角形(多边形特征)的FeatureCollection。
pointGrid 点网格:通过边界框FeatureCollection或Feature创建点网格。
squareGrid 矩形网格:从边界框Feature或FeatureCollection创建一个正方形网格。
triangleGrid 三角形网格:获取边界框和像元深度,并在网格中返回一组三角形多边形。
数据分类 nearestPoint 输入一系列点和目标点,寻找与目标点最接近的点
数据聚类 collect 不同元素间属性合并:将点的FeatureCollection中的指定属性合并到多边形的FeatureCollection中。 给定点上的inProperty和多边形的outProperty,它将找到每个多边形内的每个点,收集这些点的inProperty值,并将它们作为数组添加到多边形上的outProperty。
clustersDbscan 根据DBSCAN数据聚类算法,输入一组点并将其划分为集群
clustersKmeans 使用k-means算法,输入一组点使用k均值将它们划分为集群
数据类型限制 collectionOf 限制输入的FeatureCollection的类型
geojsonType 限制输入的Geojson的类型
featureOf 限制输入的Feature类型
containsNumber 判断数据是否包含数字
几何关系判断 booleanClockwise 判断数据是否是顺时针方向
booleanCrosses 判断两个对象是否相交及相交区域是否小于两个对象
booleanDisjoint 如果两个对象没有交集,则返回True
booleanEqual 确定两个相同类型的几何图形是否具有相同的X,Y坐标值
booleanOverlap 判断两个几何对象是否相交
booleanParallel 判断两条线段是否平行
booleanPointInPolygon 判断点是否在面内
booleanPointOnLine 判断点是否在线上
booleanContains 判断第一个对象是否完全包含第二个对象
booleanWithin 判断第二个对象是否在第一个对象上
单位换算 bearingToAzimuth 方向角转换
convertArea 面积单位转换。 有效单位:公里,公里,米,米,厘米,毫米,英亩,英里,码,英尺,英寸等
convertLength 长度单位转换。 有效单位:英里,海里,英寸,码,米,米,公里,厘米,英尺
degreesToRadians 将角度转换为弧度
lengthToRadians 将实际单位的距离测量值(假设是球形地球)转换为弧度。实际单位:英里,海里,英寸,码,米,米,公里,厘米,英尺
lengthToDegrees 将实际单位中的距离测量值(假设是球形地球)转换为度数。实际单位:英里,海里,英寸,码,米,米,厘米,公里,英尺
radiansToLength 将弧度转换为其他单位的距离值
radiansToDegrees 将弧度转换为角度度数
toMercator 将WGS84 GeoJSON对象转换为Mercator(EPSG:900913)投影
toWgs84 将Mercator(EPSG:900913)GeoJSON对象转换为WGS84投影
其他 获取相交点或线 kinks 接受linestring,multi-linestring,multi-polygon或polygon,返回所有自相交处的点。
lineIntersect 输入LineString或Polygon GeoJSON,返回相交点。
lineOverlap 输入LineString或Polygon,返回两个要素之间的重叠线。
创建圆弧或扇形 lineArc 输入一个点及相关参数,创建一段圆弧
sector 输入一个点及相关参数,创建一个扇形polygon
线段分割 lineChunk 将LineString分割成指定长度的线段。 如果该行短于段长度,则返回原始行。
lineSegment 将面要素转换为两条线要素
lineSlice 输入一个线段,一个起点和终点。返回中间的线段
lineSliceAlong 输入一个线段,一个起点距离和一个终点距离。返回中间的线段
lineSplit lineString分割:通过另一个GeoJSON要素分割LineString。
nearestPointOnLine 输入一个Point和一个LineString,计算位于(Multi)LineString上距离最近的Point。
mask 接受任何类型的多边形和可选的蒙版,并返回带有孔的多边形外环。
shortestPath 输入起点、终点和其他元素。返回一条最短路径
unkinkPolygon 取得一个扭曲的多边形,并返回没有扭曲的多边形的要素集合。 内部使用simplepolygon。

你可能感兴趣的:(turf.js)