博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mapbox-gl空间分析插件turf.js使用介绍
阅读量:5107 次
发布时间:2019-06-13

本文共 1425 字,大约阅读时间需要 4 分钟。

mapbox-gl能够方便地显示地图,做一些交互,但是缺少空间分析功能,比如绘制缓冲区、判断点和面相交等等。

turf.js是一个丰富的用于浏览器和node.js空间分析库,官网  ,非常适合于mapbox-gl开发,不仅mapbox-gl里面推荐的空间分析插件有turf,而且turf.js官网的示例均基于mapbox实现。

下面就开始turf之旅了。

1. 先介绍几个功能介绍

1.1 测量相关MEASUREMENT

如面积(area)、长度(length)、中心(center)、包络线(envelope)

1.2 转换相关TRANSFORMATION

缓冲区buffer、绘制圆circle

1.3 判断相关

 判断点是否在多边形内booleanPointInPolygon

2. 安装

普通script标签引入方式, 

1 2 

npm方式,可以按照以下方式引入

1 import buffer from '@turf/buffer' // 按需引用2 import area from '@turf/area'3 import {point, circle, bboxPolygon, booleanPointInPolygon} from '@turf/turf' // 一次引入多个4 import * as turf from '@turf/turf' // 一次性引入

使用前需要先安装,

// 部分安装npm install @turf/area @turf/buffer // 全部安装npm install @turf/turf

3. 示例

一个简单的应用库,绘制点和面,判断点是否在面内,当然显示还是需要mapbo-gl配合。

1 import {point, circle, bboxPolygon, booleanPointInPolygon} from '@turf/turf' 2 export default { 3   createCircle (center, radius, points) { // 创建圆geojson 4     let res = circle(center, radius / 1000.0, {steps: points || 100, units: 'kilometers'}) 5     return res 6   }, 7   createPoint (location, properties) { // 创建点geojson 8     let res = point(location, properties) 9     return res10   },11   inArea (lngLat, bbox) { // 判断点[lng, Lat]是否在面内,bbox为[minX, minY, maxX, maxY]12     let res = booleanPointInPolygon(point(lngLat), bboxPolygon(bbox))13     return res14   }15 }

希望能给想用turf.js的同学一点引入的作用,欢迎留言交流?

 

转载于:https://www.cnblogs.com/jyughynj/p/11225403.html

你可能感兴趣的文章
Host '****' is not allowed to connect to this MySQL server(数据库不能远程连接)
查看>>
java发送POST请求,参数用&分隔
查看>>
java发送POST/GET/PUT/DELETE请求,header传参,body参数为json格式
查看>>
io.dubbo.springboot版本不兼容dubbo-2.5.3
查看>>
redis入门初学知识
查看>>
linux安装redis
查看>>
CDH6.1.1阿里云安装实践
查看>>
假期周进度报告4
查看>>
假期周进度报告5
查看>>
假期周进度报告7
查看>>
《大道至简》读后感
查看>>
假期周进度报告6
查看>>
JAVA开学测试
查看>>
假期周进度报告8
查看>>
原码、反码与补码
查看>>
Arrays工具类的使用
查看>>
JAVA课堂随机出题
查看>>
2019.9.16日动手动脑作业
查看>>
JAVA课堂题目--递归来判断回数
查看>>
登陆界面
查看>>