基于站间距及方位角加权的邻区添加工具实现精选.docx

基于站间距及方位角加权的邻区添加工具实现精选.docx

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于站间距及方位角加权的邻区添加工具实现精选

设计背景目前在众多软件中有很多邻区添加工具,但是较多工具中邻区添加算法大多没有对站点间小区的覆盖范围纳入考虑,故在小区对边缘站点添加邻区时,他们将邻站小区与本站小区正朝向的优先级与小区负朝向的优先级相同,显然按照此类邻区添加算法与现网网络模型不匹配。现本课题设计一个针对小区间方位角进行距离加权的算法,从而更加贴近网络现状进行添加邻区。设计目标及方法主要设计目标如下:设计一个算法,使得在邻区关系添加过程中,能根据方位角和地理位置区分对原小区的邻区优先级,从而更合理的添加邻区。完成设计共需要实现4个功能:小区间方位角加权的距离实现优化检索算法计算本小区与邻区间的站间距计算本小区与邻区间方位角差值本设计将采用VBA程序语言,结合EXCEL界面做成一个工具,主要在EXCEL工具内部实现上述功能。设计流程图3.1设计流程图本工具主要设计流程图如下:设计过程及结果4.1 核心算法方位角加权,可以把扇区考虑成一个扇形的区域,加权系数则是从扇柄到扇形外部的距离,当加权系数大时,距离扇柄的距离大,当加权系数小时,则到扇柄的距离小。如下图所示:加权情况示意图则为了有效的将三个小区区分,可以对经纬度点根据方位角进行加权,这样加权越大,三个扇区的位置差异就越明显,从而能够对方位角与距离进行判断,添加更合理的网络邻区关系。如下图所示:加权情况在实际网络中的应用核心算法由于小区距离的方位角DAL是由A向B的,所以夹角a=方位角A-(DAL+180)夹角b=方位角B-DAL,算得夹角后。在垂直于小区连线方向通过SIN函数乘以加权系数D得到D_SHORT,小区连线方向通过COS函数乘以加权系数D加上小区距离,得到加权后连线的方向的长度D_LONG。上述D_LONG与D_SHORT得到可以通过勾股定理,算得加权后的小区距离(见以下代码实现部分)核心代码实现部分 Do While i = .Range(A65536).End(xlUp).Row .Range(k i) = qiufangweijiang(Sheet2.Range(D i), Sheet2.Range(e i), Sheet1.Range(D j), Sheet1.Range(e j)) .Range(j i) = Cal_Long_Lat(Sheet2.Range(D i), Sheet2.Range(e i), Sheet1.Range(D j), Sheet1.Range(e j)) D2 = Sheet2.Range(G i).Value DAL = .Range(k i).Value Distanc = .Range(j i).ValueD_LONG = (Distanc + xishu * (Sin((D1 - DAL + 180) / 180 * pi) + Sin((D2 - DAL) / 180 * pi))) ^ 2D_SHORT = xishu * (Cos((D1 - DAL + 180) / 180 * pi) + Cos((D2 - DAL) / 180 * pi)) ^ 2 .Range(L i) = Sqr(D_LONG + D_SHORT) i = i + 1 Loop4.2 检索优化算法初步算法是将市区每个点与目标经纬度点计算距离,然后得出N个TOP最近的点添加邻区。由于新余地市较小,考虑到后期站点优化及批量站点添加,依然必须要对算法进行优化。通过考虑矩阵算法,将整个网络分割成若干个网格,添加邻区时,仅对目标网格周边的8个网格进行计算。目前可以通过基于笛卡尔层的空间有哪些信誉好的足球投注网站学习算法进行实现Cartesian Tiers 笛卡尔层Cartesian Tiers是通过将一个平面地图的根据设定的层次数,将每层的分解成若干个网格,如下图所示:笛卡尔分层示意图? 每层以2的评方递增,所以第一层为4个网格,第二层为16 个,所以整个地图的经纬度将在每层的网格中体现:笛卡尔矩阵笛卡尔层在Lucene中对空间地理位置查询最大的用处在查找周边地址的时候有效的减少查询量,即将查询量可以控制在分层后最小的网格中的若干docId。构建这样的索引结构呢,只需要对应笛卡尔层的层数来构建域即可。也即是tiers0-field_0,tiers1-field_1,tiers2-field_2,……,tiers19-field_19。(一般20层即可)。每个对应笛卡尔层次的域将根据当前这条记录的经纬度通过笛卡尔算法计算出归属于当前层的网格,然后将gridId(网格唯一标示)以term的方式存入索引。这样每条记录关于笛卡尔0-19的域将都会有一个gridId对应起来。目前索引的实现核心代码:ActiveCell.Formu

文档评论(0)

feixiang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档