树形节点的rtree分层选择

dalaba-rtree

基于坐标点选择的R-Tree实现,使用hilbertcurve打包xy坐标

Demos

Point selelct of DOMElements https://codepen.io/flyend/pen/OJPVRrN

Installing

R-Tree依赖基础dalaba框架. 应首先加载dalaba.js,HTML的script在打包后的dist目录中引用最新版本 dalaba.jsdalaba.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 repository

git 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、网站不提供资料下载,如需下载请到原作者页面进行下载。