树形节点的rtree分层选择
基于坐标点选择的R-Tree实现,使用hilbertcurve打包xy坐标
DemosPoint selelct of DOMElements https://codepen.io/flyend/pen/OJPVRrN
InstallingR-Tree依赖基础dalaba框架. 应首先加载dalaba.js,HTML的script在打包后的dist目录中引用最新版本 dalaba.js
和dalaba.rtree.js
:
<script type="text/javascript" src="/dist/dalaba.js"></script> <script type="text/javascript" src="/dist/dalaba.rtree.js"></script>
或者使用 import:
import * as Dalaba from "/dist/dabala"; import {RTree} from "/dist/dalaba.rtree"; Usage
var tree = new Dalaba.geom.RTree; // 插入节点 tree.insert({x: 56, y: 156, width: 130, height: 130}); tree.insert({x: 103, y: 124, width: 140, height: 130, data: {id: 1, value: "A"}}); // 搜索节点 var nodes = tree.search({x: 50, y: 90}); console.log(nodes); Quick start
如果要使用源代码 npm start启动服务,即可运行 index.html
Fork and clone this repositorygit clone https://github.com/flyend/dalaba.rtree.git cd dalaba.rtree Install node, npm Install dependencies
npm install Run rollup in dev mode while you edit
npm start Push to your local fork and make your pull request Reference
https://en.wikipedia.org/wiki/R-tree https://en.wikipedia.org/wiki/Z-order_curve
版权声明:
1、该文章(资料)来源于互联网公开信息,我方只是对该内容做点评,所分享的下载地址为原作者公开地址。2、网站不提供资料下载,如需下载请到原作者页面进行下载。