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 API功能讲解相关推荐

  1. uni-app map路线轨迹回放功能及turf.js实现缓冲区渲染(微信小程序)

    使用uni-app中 map组件实现路线轨迹回放功能. 1.通过接口获取返回的轨迹点. 2.地图的坐标系与轨迹点的坐标系要保持一致,否则轨迹有偏差.点经纬度转换,wgs84togcj02 =>j ...

  2. turf.js介绍及使用(地图掩膜遮罩功能的实现)

    目前在前端GIS应用中turf.js几乎是必不可少了,我们首先来看一下官网的介绍. 官网地址:Turf.js中文网 官网提供了许多方法,基本的turf的引入和使用我就不说,我说一些重要的常用的,以及大 ...

  3. Total Control脚本功能JS API之获取设备短信内容

    每一个设备对象都对应了 Total Control 中已连接的一台手机设备. 通过设备对象,用户可以获取到手机设备的各种属性,以及使用控制接口对设备进行各种操作,比如 打开或关闭指定APP,发送短信等 ...

  4. 【高德地图API】从零开始学高德JS API(三)覆盖物——标注|折线|多边形|信息窗口|聚合marker|麻点图|图片覆盖物

    原文地址为: [高德地图API]从零开始学高德JS API(三)覆盖物--标注|折线|多边形|信息窗口|聚合marker|麻点图|图片覆盖物 摘要:覆盖物,是一张地图的灵魂.有覆盖物的地图,才是完整的 ...

  5. java 地理围栏实现_基于Turf.js教你快速实现地理围栏的合并拆分

    以下内容转载自totoro的文章<几何计算-基于Turf.js实现多边形的拆分及合并> 作者:totoro 著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. JavaS ...

  6. Node.js API参考文档(目录)

    Node.js v11.5.0 API参考文档 Node.js®是基于Chrome的V8 JavaScript引擎构建的JavaScript运行时. 关于文档 用法和示例 断言测试 稳定性:2 - 稳 ...

  7. ArcGIS JS API 4.X实现动态地图服务子图层显隐控制

    ArcGIS JS API 4.X实现动态地图服务子图层显隐控制 文章目录 ArcGIS JS API 4.X实现动态地图服务子图层显隐控制 使用场景 官网示例 注意事项 使用场景 图层控制功能 官网 ...

  8. node.js api接口_如何在Node.js API客户端中正常处理故障

    node.js api接口 by Roger Jin 罗杰·金(Roger Jin) 如何在Node.js API客户端中正常处理故障 (How to gracefully handle failur ...

  9. 如何使用async / await和Firebase数据库编写漂亮的Node.js API

    by Paul Breslin 保罗·布雷斯林(Pau​​l Breslin) 如何使用async / await和Firebase数据库编写漂亮的Node.js API (How to write ...

  10. Puppeteer -headless Chrome 的 Node.js API

    Puppeteer 是一个控制 headless Chrome 的 Node.js API .它是一个 Node.js 库,通过 DevTools 协议提供了一个高级的 API 来控制 headles ...

最新文章

  1. 摆脱阅读黑洞,退订RSS
  2. oracle 10g 手动创建scott(tiger) schema
  3. HTML列表标记符有哪些,在HTML中,表格标记符为( )
  4. 基于JFinal的开源博客系统JFinal_Blog1.1版本发布
  5. 解密昇腾AI处理器--DaVinci架构(计算单元)
  6. Netty工作笔记0006---NIO的Buffer说明
  7. Codeforces Round #565 (Div. 3) B
  8. 现实迷途 第八章 不轨企图
  9. linux 系统硬件信息检测工具,在Linux上查找系统hwinfo硬件信息工具
  10. UE4锁定Camera画面
  11. 学习Camera2自定义相机从入门到高级一篇就够了
  12. codeforces 558D Guess Your Way Out! II
  13. Evasion Attack in Adversarial Machine Learning
  14. android截视频软件,裁剪切视频app
  15. 齐岳定制EG/Li-BH4复合储氢材料/La2Mg17-Ni复合储氢材料/Mg-Nb/Mg-Nb2O5复合储氢粉体复合材料
  16. 数据结构与算法——19. 散列函数设计方法
  17. 给Flutter中的Widget设置透明度
  18. Generalizing to Unseen Domains: A Survey on Domain Generalization 论文分享
  19. 【自学Java】桌球游戏-边界检测,桌球碰撞反弹的实现,以及模拟真实运动,小球减速运动
  20. 计算机网络期末复习总结

热门文章

  1. 不怕汗水与晃动的运动耳机推荐,六款专业的运动耳机
  2. 没所谓移动开发寒冬,不过是大鱼吃小鱼
  3. LeetCode 1296. 划分数组为连续数字的集合
  4. [转]王飞跃:交通拥堵多因管理水平等所致
  5. 电脑语言栏消失看我怎么办
  6. LayUI项目之我的会议(送审以及排座)
  7. php 数组处理方法,关于PHP数组问题的处理方法
  8. org.postgresql.util.PSQLException: ERROR: column loginid of relation userinfo does not exist
  9. 《程序员修炼之道》读书笔记(4):注重实效的偏执(防卫策略)
  10. LG Sprite Software Root漏洞