# 业务空间邻接关系 ## 前置条件 1. 业务空间有所在楼层 2. 业务空间有外轮廓 ## 处理逻辑 1. 查出所有有所在楼层关系, 并且外轮廓不是null的业务空间 2. 根据所在楼层, 业务空间分区类型来将业务空间分为不同的组 (例如 : A 楼层下的默认业务空间是一组, A楼层下的空调分区是另外一组) 3. 计算每个分组内的业务空间的相邻关系 计算相邻算法 (如下图): 1. 在一个分组内, 查到所有的门信息,根据门的outline作垂线算出线段的方程,y=kx+a 1). 根据 x2-x1 = 根号 d2/1+k2, 和门的中点,算出上下两边长度均为door_length长的点 2. 将上面找到的点, 依次与组内其他业务空间外轮廓做一次点是否在多边形内的判断, 如果在, 则认为该多边形与图中多边形相邻 ![image](./img/sp2sp2-1.png) ## 函数 ### 业务空间轮廓结构 ``` [ [ [ {点坐标}, {点坐标}... ], // 子轮廓的外轮廓 [ {点坐标}, {点坐标}... ], // 子轮廓的第n个需要被排除的轮廓 ], // 子轮廓 [ [ {点坐标}, {点坐标}... ] ], ] ```
源码 ``` ```
## 入参 1. 项目id ## 例子