通过官网http://turfjs.org/或者github https://github.com/Turfjs/turf了解

第一步:先引用js文件

<script src='https://npmcdn.com/@turf/turf/turf.min.js'></script>

第二步:调用函数,判断关系

booleanClockwise(line) //线是否闭合

var clockwiseRing = turf.lineString([[0,0],[1,1],[1,0],[0,0]]);
var counterClockwiseRing = turf.lineString([[0,0],[1,0],[1,1],[0,0]]);turf.booleanClockwise(clockwiseRing)
//=true
turf.booleanClockwise(counterClockwiseRing)
//=false

booleanContains(feature1,feature2) //feature2是否完全包含在feature1中

var line = turf.lineString([[1, 1], [1, 2], [1, 3], [1, 4]]);
var point = turf.point([1, 2]);turf.booleanContains(line, point);
//=true

booleanCrosses(feature1,feature2) //feature1,feature2是否相交

var line1 = turf.lineString([[-2, 2], [4, 2]]);
var line2 = turf.lineString([[1, 1], [1, 2], [1, 3], [1, 4]]);var cross = turf.booleanCrosses(line1, line2);
//=true

booleanDisjoint(feature1,feature2) //feature1,feature2是否相离

var point = turf.point([2, 2]);
var line = turf.lineString([[1, 1], [1, 2], [1, 3], [1, 4]]);turf.booleanDisjoint(line, point);
//=true

booleanEqual(feature1,feature2) //feature1,feature2是否重合

var pt1 = turf.point([0, 0]);
var pt2 = turf.point([0, 0]);
var pt3 = turf.point([1, 1]);turf.booleanEqual(pt1, pt2);
//= true
turf.booleanEqual(pt2, pt3);
//= false

booleanOverlap(feature1,feature2) //feature1,feature2是否重叠 ,feature1,feature2类型为Polygon、LineString、 Multipoint、MultiLineString、MultiPolygon,且相同

var poly1 = turf.polygon([[[0,0],[0,5],[5,5],[5,0],[0,0]]]);
var poly2 = turf.polygon([[[1,1],[1,6],[6,6],[6,1],[1,1]]]);
var poly3 = turf.polygon([[[10,10],[10,15],[15,15],[15,10],[10,10]]]);turf.booleanOverlap(poly1, poly2)
//=true
turf.booleanOverlap(poly2, poly3)
//=false

booleanParallel(line,line) //两条线是否平行

var line1 = turf.lineString([[0, 0], [0, 1]]);
var line2 = turf.lineString([[1, 0], [1, 1]]);turf.booleanParallel(line1, line2);
//=true

booleanPointInPolygon(point,polygon) //点是否在面中

var pt = turf.point([-77, 44]);
var poly = turf.polygon([[[-81, 41],[-81, 47],[-72, 47],[-72, 41],[-81, 41]
]]);turf.booleanPointInPolygon(pt, poly);
//= true

booleanPointOnLine(point,line) //点是否在线上

var pt = turf.point([0, 0]);
var line = turf.lineString([[-1, -1],[1, 1],[1.5, 2.2]]);
var isPointOnLine = turf.booleanPointOnLine(pt, line);
//=true

booleanWithin(feature1,feature2) //feature1是否完全在feature2中

var line = turf.lineString([[1, 1], [1, 2], [1, 3], [1, 4]]);
var point = turf.point([1, 2]);turf.booleanWithin(point, line);
//=true

利用Turf.js实现点线面几何体的拓扑关系判断相关推荐

  1. 利用turf.js分析数据---占地分析

    之前写过关于占地分析的方案,使用的是geoserver地图服务分析数据,这次还可以使用turf.js来实现功能,改效果展示的是切割效果 具体可从以下链接查看turf.js的一些操作: Turf.js中 ...

  2. Turf.js(地理空间GIS分析的js库),处理地图相关算法

    场景 Turf.js Advanced geospatial analysis for browsers and Node.js 浏览器和Node.js的高级地理空间分析. 特点 Modular, s ...

  3. 解决turf.js裁剪multiPolygon类型的复杂带孔洞多边形时出现的问题

    前言 使用turf.js裁剪,不是用turf.js中的bboxClip方法,此方法只能输入矩形边界,对于不规则边界去裁剪多边形,使用intersect()可以完成,下面所说的裁剪和求交集默认一个意思. ...

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

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

  5. 「跨域」利用node.js实践前端各种跨域方式(上)

    前言 常言道,"读万卷书,不如行万里路".技术的学习也是如此,唯有实践才能更清楚的明白原理和加深印象,因此本文会利用node.js对前端的各种跨域方式进行实践,强烈建议一步一步跟着 ...

  6. 利用exif.js解决手机上传竖拍照片旋转90\180\270度问题

    利用exif.js解决手机上传竖拍照片旋转90\180\270度问题 参考文章: (1)利用exif.js解决手机上传竖拍照片旋转90\180\270度问题 (2)https://www.cnblog ...

  7. php 输出图片给js,如何在php中利用croppic.js对图片进行剪切并上传

    如何在php中利用croppic.js对图片进行剪切并上传 发布时间:2021-01-30 16:41:02 来源:亿速云 阅读:92 作者:Leah 这篇文章将为大家详细讲解有关如何在php中利用c ...

  8. 如何更好的利用Node.js的性能极限

    通过使用非阻塞.事件驱动的I/O操作,Node.js为构建和运行大规模网络应用及服务提供了很好的平台,也受到了广泛的欢迎.其主要特性表现为能够处理庞大的并且高吞吐量的并发连接,从而构建高性能.高扩展性 ...

  9. html 监听input输入框的值,利用原生JS实时监听input框输入值

    利用原生JS实时监听input框输入值 原生JS中可以使用oninput,onpropertychange,onchange oninput,onpropertychange,onchange的用法 ...

最新文章

  1. 上班4年“武功”全废,想跳槽却被HR嘲讽,这位搞AI的硕士小哥心态崩了
  2. 【Android 安装包优化】Android 中使用 7zr 可执行程序 压缩文件
  3. aws搭建java项目_AWS下S3之java开发
  4. 离线数据同步神器:DataX,支持几乎所有异构数据源的离线同步到MaxCompute
  5. 历史:2007年总结与2008年展望
  6. 手把手教你用Python求均值、中值和众数
  7. 贪心——今年暑假不AC(hdu2037)
  8. div图片垂直居中 如何使div中图片垂直居中
  9. python 用selenium自动启动百度并搜索关键词
  10. OpenWHO课程 Introduction to COVID-19: methods for detection, prevention, response and control 小抄
  11. DbVisualizer的Driver连接Oracle Thin选项不可选
  12. Android 开发笔记“context和getApplicationContext”
  13. Hadoop简介(1)
  14. LitJson写入中文乱码问题
  15. 文件夹自定义重命名的步骤
  16. JS 手机号/身份证/银行账号/邮箱/QQ/电话 掩码处理
  17. 艾美捷针对性检测—游离维多珠单抗ADA水平检测试剂盒
  18. 电子商务竞争加速:顺丰速运及天极均推B2C平台
  19. [Practical.Vim(2012.9)].Drew.Neil.Tip12学习摘要
  20. matlab 模糊隶属度判断类别

热门文章

  1. WIFI6模块 802.11ac/ax AP6275S
  2. ap cs java_AP计算机科学(AP CS)考试介绍
  3. Flink实战之实时风控规则引擎
  4. OSError: /home/yukang/anaconda3/envs/fsgan/lib/python3.9/site-packages/torch/lib/../../nvidia/cublas
  5. C++坑人游戏[1.0版本](完)
  6. 怎样制定自己的职业规划
  7. matlab之请求用户输入函数input
  8. 有限差分法-一维波动方程及其Matlab程序实现
  9. 优酷端侧弹幕穿人技术实战之:PixelAI移动端实时人像分割
  10. Factor_mimicking_portfolio(模仿因子的投资组合):EAP.fama_macbeth.Factor_mimicking_portfolio