CN112214563A - 一种基于区域划分的距离计算方法、装置及电子设备 - Google Patents
一种基于区域划分的距离计算方法、装置及电子设备 Download PDFInfo
- Publication number
- CN112214563A CN112214563A CN202010932545.1A CN202010932545A CN112214563A CN 112214563 A CN112214563 A CN 112214563A CN 202010932545 A CN202010932545 A CN 202010932545A CN 112214563 A CN112214563 A CN 112214563A
- Authority
- CN
- China
- Prior art keywords
- area
- result
- region
- sub
- distance
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004364 calculation method Methods 0.000 title claims abstract description 30
- 238000000034 method Methods 0.000 claims abstract description 32
- 238000005192 partition Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 8
- 101100134058 Caenorhabditis elegans nth-1 gene Proteins 0.000 claims description 4
- 230000004044 response Effects 0.000 description 11
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 101100182247 Caenorhabditis elegans lat-1 gene Proteins 0.000 description 2
- 101100182248 Caenorhabditis elegans lat-2 gene Proteins 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001788 irregular Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9537—Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Remote Sensing (AREA)
- Navigation (AREA)
Abstract
本发明公开了一种基于区域划分的距离计算方法、装置及电子设备,所述方法应用于服务器中,服务器与客户端连接,所述方法包括:获取特定区域的边界位置点的坐标得到第一结果;基于第一结果和目标预设单位对特定区域进行区域划分,获得包括多个子区域的第二结果;确定每个子区域的区域中心位置的坐标,获得第三结果;基于第三结果,获取每个子区域的区域中心位置到各预设目标点位的距离,获得第四结果;获取来自于所述客户端的距离请求,距离请求包括用户的当前位置和目标点位,目标点位为所述各预设目标点位中的一个;确定当前位置所处的子区域,得到第五结果;基于第四结果和第五结果,确定当前位置与目标点位的距离发送给所述客户端。
Description
技术领域
本发明涉及距离计算的技术领域,尤其涉及一种基于区域划分的距离计算方法、装置及电子设备。
背景技术
在互联网服务领域中,用户借助移动应用,感知区域距离信息,查看实时位置,导航时,如何高效的对用户请求进行反馈,快速得到目标位置距离信息是关注的重点。
但本申请发明人在实现本申请实施例中技术方案的过程中,发现上述现有技术至少存在如下技术问题:
现有技术中,距离计算高并发下效率低、响应不及时,限制了数据的实时反馈,不能很好地提升移动导览用户体验,从一定程度上限制了用户对智能化服务的需求。
发明内容
本申请实施例通过提供一种基于区域划分的距离计算方法、装置及电子设备,解决了现有技术中距离计算高并发下效率低、响应不及时,限制了数据的实时反馈,不能很好地提升移动导览用户体验,从一定程度上限制了用户对智能化服务的需求的技术问题。
第一方面,本申请通过本申请的一实施例提供如下技术方案:
一种基于区域划分的距离计算方法,应用于服务器中,所述服务器与客户端连接,所述方法包括:获取特定区域的边界位置点的坐标,得到第一结果;基于所述第一结果和目标预设单位,对所述特定区域进行区域划分,获得第二结果,所述第二结果为包括多个子区域的区域;确定每个所述子区域的区域中心位置的坐标,获得第三结果;基于所述第三结果,获取每个所述子区域的区域中心位置到各预设目标点位的距离,获得第四结果;获取来自于所述客户端的距离请求,所述距离请求包括用户的当前位置和目标点位,所述目标点位为所述各预设目标点位中的一个;确定所述当前位置在所述第二结果中所处的子区域,得到第五结果;基于所述第四结果和所述第五结果,确定所述当前位置与所述目标点位的距离,并发送给所述客户端。
在一个实施例中,所述基于所述第一结果和目标预设单位,对所述特定区域进行区域划分,获得第二结果,包括:基于所述第一结果,对所述特定区域进行N级区域划分,获得第六结果,所述第六结果包括每级区域划分后所得的区域;基于所述目标预设单位,对所述特定区域进行第N+1级区域划分,获得所述第二结果,所述第二结果为包括多个第N+1子区域的区域。
在一个实施例中,所述基于所述第一结果,对所述特定区域进行N级区域划分,获得第六结果,所述第六结果包括每级区域划分后所得的区域,包括:根据第一预设单位和所述第一结果,对所述特定区域进行第一级区域划分,获得第一区域,所述第一区域为包括多个第一子区域的区域;根据第二预设单位,对所述第一区域内的每个所述第一子区域进行第二级区域划分,获得第二区域,所述第二区域为包括多个第二子区域的区域;以此类推,直至根据第N预设单位,对所述第N-1区域的每个第N-1子区域进行第N级区域划分,获得第N区域,所述第N区域为包括多个第N子区域的区域,其中,所述第六结果包括所述第一区域至第N区域中的每一个区域。
在一个实施例中,所述基于目标预设单位,对每个所述第N子区域进行区域划分,获得所述第二结果,所述第二结果为包括多个第N+1子区域的区域,包括:基于所述目标预设单位,对所述第N区域内的每个所述第N子区域进行第N+1级区域划分,获得第N+1区域,所述第N+1区域为所述第二结果。
在一个实施例中,在所述确定所述当前位置在所述第二结果中所处的子区域,得到第五结果之前,还包括:获取第i区域内的每个第i子区域的区域中心位置的坐标,其中,i依次取1至N的正整数。
在一个实施例中,所述确定所述当前位置在所述第二结果中所处的子区域,得到第五结果,包括:获取所述第i区域位于目标子区域内的每个所述第i子区域的区域中心位置的坐标,所述目标子区域为所述当前位置在第i-1区域所处的第i-1子区域;基于所述目标子区域内的每个所述第i子区域的区域中心位置的坐标,确定所述当前位置分别与所述目标子区域内的所述每个第i子区域的区域中心位置的距离,获得第七结果;基于所述第七结果,确定所述当前位置在所述第i区域内所处的第i子区域,其中,i依次取1至N的正整数,直至确定所述当前位置在所述第N+1区域所处的第N子区域,当i取1时,所述目标子区域为所述特定区域。
在一个实施例中,所述确定每个所述子区域的区域中心位置的坐标,获得第三结果,包括:确定每个所述第N+1子区域的区域中心位置的坐标,获得所述第三结果;所述基于所述第三结果,获取每个所述子区域的区域中心位置到各预设目标点位的距离,获得第四结果,包括:基于所述第三结果,获取每个所述第N+1子区域的区域中心位置到各预设目标点位的距离,获得所述第四结果。
第二方面,本申请通过本申请的一实施例,提供如下技术方案:
一种基于区域划分的距离计算装置,应用于服务器中,所述服务器与客户端连接,所述装置包括:第一获取单元,用于获取特定区域的边界位置点的坐标,得到第一结果;划分单元,用于根据所述第一结果和目标预设单位,对所述特定区域进行区域划分,获得第二结果,所述第二结果为包括多个子区域的区域;第一确定单元,用于确定每个所述子区域的区域中心位置的坐标,获得第三结果;第二获取单元,用于根据所述第三结果,获取每个所述子区域的区域中心位置到各预设目标点位的距离,获得第四结果;第三获取单元,用于获取来自于所述客户端的距离请求,所述距离请求包括用户的当前位置和目标点位,所述目标点位为所述各预设目标点位中的一个;第二确定单元,用于确定所述当前位置在所述第二结果中所处的子区域,得到第五结果;第三确定单元,用于根据所述第四结果和所述第五结果,确定所述当前位置与所述目标点位的距离,并发送给所述客户端。
第三方面,本申请通过本申请的一实施例,提供如下技术方案:
一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时可以实现如上述任一实施例所述的方法步骤。
第四方面,本申请通过本申请的一实施例,提供如下技术方案:
一种计算机可读存储介质,其上存储有计算机程序,包括:该程序被处理器执行时可以实现如上述任一实施例所述的方法步骤。
本申请实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本申请提供的基于区域划分的距离计算方法中,将特定区域基于目标预设单位进行区域划分后,得到包括多个子区域的区域,然后,获取每个子区域的区域中心位置到各预设目标点位的距离进行存储,当用户通过客户端向服务器发送携带有当前位置和目标点位的距离请求时,先确定出当前位置处于哪个子区域,确定出来后,直接调用存储的该子区域与目标点位之间的距离,以确定当前位置与目标点位的距离,并反馈给客户端,本申请中,相比于现有技术中距离计算的高并发,本申请实现将各子区域与各预设目标点位的距离进行存储,以供用户请求时,不用计算距离,判断出用户的当前位置属于哪个子区域,即可获得用户的当前位置和目标点位之间的距离,因此,本申请具有效率高、响应及时的特点,解决了现有技术中距离计算高并发下效率低、响应不及时,限制了数据的实时反馈,不能很好地提升移动导览用户体验,从一定程度上限制了用户对智能化服务的需求的技术问题。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例一提供的一种基于区域划分的距离计算方法的流程图;
图2为本申请实施例二提供的一种基于区域划分的距离计算装置的架构图;
图3为本申请实施例三提供的一种电子设备的架构图;
图4为本申请实施例四提供的一种计算机可读存储介质的架构图。
具体实施方式
本申请实施例通过提供一种基于区域划分的距离计算方法、装置及电子设备,解决了现有技术中距离计算高并发下效率低、响应不及时,限制了数据的实时反馈,不能很好地提升移动导览用户体验,从一定程度上限制了用户对智能化服务的需求的技术问题。
本申请实施例的技术方案为解决上述技术问题,总体思路如下:
本申请提供的基于区域划分的距离计算方法中,将特定区域基于目标预设单位进行区域划分后,得到包括多个子区域的区域,然后,获取每个子区域的区域中心位置到各预设目标点位的距离进行存储,当用户通过客户端向服务器发送携带有当前位置和目标点位的距离请求时,先确定出当前位置处于哪个子区域,确定出来后,直接调用存储的该子区域与目标点位之间的距离,以确定当前位置与目标点位的距离,并反馈给客户端,本申请中,相比于现有技术中距离计算的高并发,本申请实现将各子区域与各预设目标点位的距离进行存储,以供用户请求时,不用计算距离,判断出用户的当前位置属于哪个子区域,即可获得用户的当前位置和目标点位之间的距离,因此,本申请具有效率高、响应及时的特点,解决了现有技术中距离计算高并发下效率低、响应不及时,限制了数据的实时反馈,不能很好地提升移动导览用户体验,从一定程度上限制了用户对智能化服务的需求的技术问题。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
实施例一
如图1所示,本实施例提供了一种基于区域划分的距离计算方法,应用于服务器中,服务器与客户端连接,方法包括:
步骤S101:获取特定区域的边界位置点的坐标,得到第一结果。
实际实施过程中,特定区域为矩形区域,当实地所在的区域为不规则区域时,通过将边缘的区域划入,以构成矩形区域。步骤S101,具体包括:获取矩形区域的四个角点的坐标,第一结果包括四个角点的坐标。
作为一个示例,矩形区域的四个角点,如下:
角点1:纬度经度-(39.92300,116.15120)
角点2:纬度经度-(39.92300,116.15590)
角点3:纬度经度-(39.91940,116.15590)
角点4:纬度经度-(39.91940,116.15120)
进一步地,基于代码1,获取矩形区域的边长,具体如下:
代码1:
double lat1=Math.toRadians(latitude1);
double lat2=Math.toRadians(latitude2);
double lng1=Math.toRadians(longitude1);
double lng2=Math.toRadians(longitude2);
double a=lat1-lat2;
double b=lng1-lng2;
double s=2*Math.asin(Math.sqrt(Math.pow(Math.sin(a/2),2)+Math.cos(lat1)*Math.cos(lat2)*Math.pow(Math.sin(b/2),2)));
double distance=s*EARTH_RADIUS*1000;
其中,EARTH_RADIUS为地球半径,位置点1的坐标为(latitude1,longtude1),位置点2的坐标为(latitude2,longtude2),distance为两点间的距离。
利用上述代码1,得到角点1到角点2的距离为400米;角点1到角点3的距离为400米。
步骤S102:基于第一结果和目标预设单位,对特定区域进行区域划分,获得第二结果,第二结果为包括多个子区域的区域。
具体应用中,特定区域为矩形区域,基于目标预设单位对特定区域进行等分,得到多个子区域,且每个子区域也为矩形,并基于第一结果,能够得到各子区域的边界位置点的坐标,进而得到第二结果。这里的目标预设单位,是指矩形区域被划分成的子区域的边长。
作为一种可选的实施例,步骤S102,包括:
基于第一结果,对特定区域进行N级区域划分,获得第六结果,第六结果包括每级区域划分后所得的区域。
基于目标预设单位,对特定区域进行第N+1级区域划分,获得第二结果,第二结果为包括多个第N+1子区域的区域。
具体实施过程中,基于第一结果,对特定区域进行N级区域划分,获得第六结果,第六结果包括每级区域划分后所得的区域,包括:
根据第一预设单位和第一结果,对特定区域进行第一级区域划分,获得第一区域,第一区域为包括多个第一子区域的区域;
根据第二预设单位,对第一区域内的每个第一子区域进行第二级区域划分,获得第二区域,第二区域为包括多个第二子区域的区域;
以此类推,直至根据第N预设单位,对第N-1区域的每个第N-1子区域进行第N级区域划分,获得第N区域,第N区域为包括多个第N子区域的区域,其中,第六结果包括第一区域至第N区域中的每一个区域。
作为一个示例,沿用上述例子,对上述矩形区域进行三级区域划分,得到第六结果,并对每一个划分的结果进行缓存,具体如下:
第一级区域划分,并进行缓存:第一预设单位为100米,对特定区域划分后,共得到16块第一子区域,由该16块第一子区域构成的区域为第一区域,对第一区域中的每块第一子区域的边界位置点的坐标进行存储。
然后根据代码2计算每块第一子区域的区域中心位置的坐标,具体如下:
代码2:
doubleδ=D/EARTH_RADIUS;
angle=Math.toRadians(angle);
longtude1=Math.toRadians(longtude1);
latitude1=Math.toRadians(latitude1);
double lat=Math.asin(Math.sin(latitude1)*Math.cos(δ)+Math.cos(latitude1)*Math.sin(δ)*Math.cos(angle));
double lon=longtude1+Math.atan2(Math.sin(angle)*Math.sin(δ)*Math.cos(latitude1),Math.cos(δ)-Math.sin(latitude1)*Math.sin(lat));
lon=Math.toDegrees(lon);
lat=Math.toDegrees(lat);
DecimalFormat df=new DecimalFormat("0.000000");
String resultLon=df.format(lon);
String resultLat=df.format(lat);
其中,(latitude1,longtude1)为已知位置点的坐标,本示例中为子区域的一个角点的坐标,D为子区域边长的一半,angle为子区域的区域中心点位置在纵向上或横向上处于已知位置点的哪个方位,用于确定子区域的区域中心点位置的坐标应该在已知位置点的坐标的基础上进行加或减,(resulitLat,resultLon)为待求位置点的坐标,本示例中为子区域的区域中心点位置的坐标。
基于上述代码2,利用计算得到每块第一子区域的区域中心位置的坐标,具体如下:
第一子区域1中心点:纬度经度-(39.922550,116.151786)
第一子区域2中心点:纬度经度-(39.922550,116.152959)
第一子区域3中心点:纬度经度-(39.922550,116.154132)
第一子区域4中心点:纬度经度-(39.922550,116.155304)
此处不一一列举。
然后进行第二级区域划分,并进行缓存:第二预设单位为25米,对第一区域内的每个第一子区域划分后,共得到16*16=256块第二子区域,由该256块第二子区域构成的区域为第二区域,对第二区域中的每块第二子区域的边界位置点的坐标进行存储。
然后根据上述代码2计算每块第二子区域的区域中心位置的坐标,本示例仅示出了第一子区域1内的4块第二子区域的区域中心位置的坐标,具体如下:
第二子区域1中心点:纬度经度-(39.922888,116.151347)
第二子区域2中心点:纬度经度-(39.922888,116.151640)
第二子区域3中心点:纬度经度-(39.922888,116.151933)
第二子区域4中心点:纬度经度-(39.922888,116.152226)
此处不一一列举。
然后进行第三级区域划分,并进行缓存:
第三预设单位为5米,对第二区域内的每个第二子区域划分后,共得到256*25=6400块第三子区域,由该6400块第三子区域构成的区域为第三区域,对第三区域中的每块第三子区域的边界位置点的坐标进行存储。
然后根据上述代码2计算每块第三子区域的区域中心位置的坐标,本示例仅示出了第二子区域1内的5块第三子区域的区域中心位置的坐标,具体如下:
第三子区域1中心点:纬度经度-(39.922978,116.151229)
第三子区域2中心点:纬度经度-(39.922978,116.151288)
第三子区域3中心点:纬度经度-(39.922978,116.151347)
第三子区域4中心点:纬度经度-(39.922978,116.151405)
第三子区域5中心点:纬度经度-(39.922978,116.151464)
此处不一一列举。
至此,得到第六结果,第六结果包括第一区域、第二区域、第三区域。
作为一种可选的实施例,基于目标预设单位,对每个第N子区域进行区域划分,获得第二结果,第二结果为包括多个第N+1子区域的区域,包括:
基于目标预设单位,对第N区域内的每个第N子区域进行第N+1级区域划分,获得第N+1区域,第N+1区域为第二结果。
作为一个示例,继续沿用上述示例,在第三区域的基础上,进行第四级区域划分,并进行缓存:
目标预设单位为1米,对第三区域内的每个第三子区域划分后,共得到6400*25=160000块第四子区域,由该160000块第四子区域构成的区域为第四区域,对第四区域中的每块第四子区域的边界位置点的坐标进行存储。
步骤S103:确定每个子区域的区域中心位置的坐标,获得第三结果。
作为一种可选的实施例,步骤S103,包括:
确定每个第N+1子区域的区域中心位置的坐标,获得第三结果。
具体实施过程中,根据代码2计算每个第N+1子区域的区域中心位置的坐标。
沿用上述示例,根据上述代码2计算每块第四子区域的区域中心位置的坐标,本示例仅示出了第三子区域1内的5块第四子区域的区域中心位置的坐标,具体如下:
第四子区域1中心点:纬度经度-(39.922996,116.151206)
第四子区域2中心点:纬度经度-(39.922996,116.151218)
第四子区域3中心点:纬度经度-(39.922996,116.151229)
第四子区域4中心点:纬度经度-(39.922996,116.151241)
第四子区域5中心点:纬度经度-(39.922996,116.151253)
此处不一一列举。
步骤S104:基于第三结果,获取每个子区域的区域中心位置到各预设目标点位的距离,获得第四结果。
作为一种可选的实施例,步骤S104,包括:
基于第三结果,获取每个第N+1子区域的区域中心位置到各预设目标点位的距离,获得第四结果。
在步骤S104之前,还包括:获取各预设目标点位的坐标。各预设目标点位可以通过提供接口,由管理员输入。
作为一个示例,预设目标点位包括5个目标点位,具体如下:
目标点位1:纬度经度-(39.922696,116.152907)
目标点位2:纬度经度-(39.921978,116.151444)
目标点位3:纬度经度-(39.920941,116.151822)
目标点位4:纬度经度-(39.920366,116.153276)
目标点位5:纬度经度-(39.922996,116.151253)。
沿用上述示例,根据代码1计算每块第四子区域的区域中心位置到上述每个目标点位的距离,本示例仅示出了第四子区域1、3、5到各目标点位的距离,具体如下:
第四子区域1中心点:纬度经度-(39.922996,116.151206)到各目标点位距离:
【149米,115米,235米,342米,455米】
第四子区域3中心点:纬度经度-(39.922996,116.151229)到各目标点距离:
【147米,115米,234米,341米,454米】
第四子区域5中心点:纬度经度-(39.922996,116.151675)到各目标点距离:
【145米,114米,234米,340米,452米】
此处不一一列举。
本示例中,第四子区域的区域中心位置到每个目标点位的距离为直线距离该距离可根据用户实际需求情况,不限于公式1,也可调用现有的接口计算实际距离,并进行存储。
步骤S105:获取来自于客户端的距离请求,距离请求包括用户的当前位置和目标点位,目标点位为各预设目标点位中的一个。
步骤S106:确定当前位置在第二结果中所处的子区域,得到第五结果。
作为一种可选的实施例,在步骤S106之前,还包括:
获取第i区域内的每个第i子区域的区域中心位置的坐标,其中,i依次取1至N的正整数。
作为一种可选的实施例,步骤S106,包括:
获取第i区域位于目标子区域内的每个第i子区域的区域中心位置的坐标,目标子区域为当前位置在第i-1区域所处的第i-1子区域;
基于目标子区域内的每个第i子区域的区域中心位置的坐标,确定当前位置分别与目标子区域内的每个第i子区域的区域中心位置的距离,获得第七结果;
基于第七结果,确定当前位置在第i区域内所处的第i子区域,其中,i依次取1至N的正整数,直至确定当前位置在第N+1区域所处的第N子区域,当i取1时,目标子区域为特定区域。
具体应用中,基于第七结果中的最小值,确定当前位置在第i区域内所处的第i子区域。
作为一个示例,用户的当前位置为纬度经度-(39.922991,116.151229),处于特定区域内,此时,获取第一区域位于特定区域内的每个第一子区域的区域中心点位置坐标,即需要获取4个第一子区域的区域中心点位置坐标,分别为:
第一子区域1中心点:纬度经度-(39.922550,116.151786);
第一子区域2中心点:纬度经度-(39.922550,116.152959);
第一子区域3中心点:纬度经度-(39.922550,116.154132);
第一子区域4中心点:纬度经度-(39.922550,116.155304)。
根据公式1,计算当前位置到4个第一子区域的区域中心点位置的距离,分别为:【68.35米,155.64米,252.65米,351.34米】,可得,用户当前的位置处于第一区域内的第一子区域1中。
接着,获取第二区域位于第一子区域1内的每个第二子区域的区域中心点位置坐标,即需要获取4个第二子区域的区域中心点位置坐标,分别为:
第二子区域1中心点:纬度经度-(39.922888,116.151347);
第二子区域2中心点:纬度经度-(39.922888,116.151640);
第二子区域3中心点:纬度经度-(39.922888,116.151933);
第二子区域4中心点:纬度经度-(39.922888,116.152226)。
根据公式1,计算当前位置到4个第二子区域的区域中心点位置的距离,分别为:【15.26米,36.91米,61.19米,85.88米】,可得,用户当前的位置处于第二区域内的第二子区域1中。
接着,获取第三区域位于第二子区域1内的每个第三子区域的区域中心点位置坐标,即需要获取5个第三子区域的区域中心点位置坐标,分别为:
第三子区域1中心点:纬度经度-(39.922978,116.151229);
第三子区域2中心点:纬度经度-(39.922978,116.151288);
第三子区域3中心点:纬度经度-(39.922978,116.151347);
第三子区域4中心点:纬度经度-(39.922978,116.151405);
第三子区域5中心点:纬度经度-(39.922978,116.151464)。
根据公式1,计算当前位置到5个第三子区域的区域中心点位置的距离,分别为:【1.45米,5.24米,10.18米,15.09米,20.11米】,可得,用户当前的位置处于第三区域内的第三子区域1中。
最后,获取第四区域位于第三子区域1内的每个第四子区域的区域中心点位置坐标,即需要获取5个第四子区域的区域中心点位置坐标,分别为:
第四子区域1中心点:纬度经度-(39.922996,116.151206)
第四子区域2中心点:纬度经度-(39.922996,116.151218)
第四子区域3中心点:纬度经度-(39.922996,116.151229)
第四子区域4中心点:纬度经度-(39.922996,116.151241)
第四子区域5中心点:纬度经度-(39.922996,116.151253)
根据公式1,计算当前位置到5个第三子区域的区域中心点位置的距离,分别为:【2.04米,1.09米,0.56米,1.17米,2.12米】,可得,用户当前的位置处于第四区域内的第四子区域3中。
步骤S107:基于第四结果和第五结果,确定当前位置与目标点位的距离,并发送给客户端。
具体的,基于第五结果,能够确定出当前位置所处的第N+1子区域,基于第四结果,能够得到当前位置所处的第N+1子区域的区域中心位置到目标点位的距离,将该距离反馈给客户端。
沿用上述示例,基于第五结果,确定出用户的当前位置处于第四区域内的第四子区域3中,第四子区域3的区域中心位置为:纬度经度-(39.922996,116.151229)
若目标点位分别为:
目标点位1:纬度经度-(39.922696,116.152907);
目标点位2:纬度经度-(39.921978,116.151444);
目标点位3:纬度经度-(39.920941,116.151822);
目标点位4:纬度经度-(39.920366,116.153276);
目标点位5:纬度经度-(39.922996,116.151253)。
基于第四结果进行查询,得到四子区域3的区域中心位置到上述5目标点位的距离分别为:【147米,115米,234米,341米,454米】,将其作为即用户的当前位置到各目标点位距离,反馈给客户端。
上述本申请实施例中的技术方案,至少具有如下的技术效果或优点:
本申请提供的基于区域划分的距离计算方法中,将特定区域基于目标预设单位进行区域划分后,得到包括多个子区域的区域,然后,获取每个子区域的区域中心位置到各预设目标点位的距离进行存储,当用户通过客户端向服务器发送携带有当前位置和目标点位的距离请求时,先确定出当前位置处于哪个子区域,确定出来后,直接调用存储的该子区域与目标点位之间的距离,以确定当前位置与目标点位的距离,并反馈给客户端,本申请中,相比于现有技术中距离计算的高并发,本申请实现将各子区域与各预设目标点位的距离进行存储,以供用户请求时,不用计算距离,判断出用户的当前位置属于哪个子区域,即可获得用户的当前位置和目标点位之间的距离,因此,本申请具有效率高、响应及时的特点,解决了现有技术中距离计算高并发下效率低、响应不及时,限制了数据的实时反馈,不能很好地提升移动导览用户体验,从一定程度上限制了用户对智能化服务的需求的技术问题。
实施例二
基于与前述实施例中一种基于区域划分的距离计算方法同样的发明构思,如图2所示,本实施例提供了一种基于区域划分的距离计算装置,应用于服务器中,服务器与客户端连接,装置包括:
第一获取单元201,用于获取特定区域的边界位置点的坐标,得到第一结果;
划分单元202,用于根据第一结果和目标预设单位,对特定区域进行区域划分,获得第二结果,第二结果为包括多个子区域的区域;
第一确定单元203,用于确定每个子区域的区域中心位置的坐标,获得第三结果;
第二获取单元204,用于根据第三结果,获取每个子区域的区域中心位置到各预设目标点位的距离,获得第四结果;
第三获取单元205,用于获取来自于客户端的距离请求,距离请求包括用户的当前位置和目标点位,目标点位为各预设目标点位中的一个;
第二确定单元206,用于确定当前位置在第二结果中所处的子区域,得到第五结果;
第三确定单元207,用于根据第四结果和第五结果,确定当前位置与目标点位的距离,并发送给客户端。
作为一种可选的实施例,划分单元202,还用于:
基于第一结果,对特定区域进行N级区域划分,获得第六结果,第六结果包括每级区域划分后所得的区域;
基于目标预设单位,对特定区域进行第N+1级区域划分,获得第二结果,第二结果为包括多个第N+1子区域的区域。
作为一种可选的实施例,划分单元202,还用于:
根据第一预设单位和第一结果,对特定区域进行第一级区域划分,获得第一区域,第一区域为包括多个第一子区域的区域;
根据第二预设单位,对第一区域内的每个第一子区域进行第二级区域划分,获得第二区域,第二区域为包括多个第二子区域的区域;
以此类推,直至根据第N预设单位,对第N-1区域的每个第N-1子区域进行第N级区域划分,获得第N区域,第N区域为包括多个第N子区域的区域,其中,第六结果包括第一区域至第N区域中的每一个区域。
作为一种可选的实施例,划分单元202,还用于:
基于目标预设单位,对第N区域内的每个第N子区域进行第N+1级区域划分,获得第N+1区域,第N+1区域为第二结果。
作为一种可选的实施例,所述装置还包括:得到单元,用于:
在确定当前位置在第二结果中所处的子区域,得到第五结果之前,获取第i区域内的每个第i子区域的区域中心位置的坐标,其中,i依次取1至N的正整数。
作为一种可选的实施例,第二确定单元206,还用于:
获取第i区域位于目标子区域内的每个第i子区域的区域中心位置的坐标,目标子区域为当前位置在第i-1区域所处的第i-1子区域;
基于目标子区域内的每个第i子区域的区域中心位置的坐标,确定当前位置分别与目标子区域内的每个第i子区域的区域中心位置的距离,获得第七结果;
基于第七结果,确定当前位置在第i区域内所处的第i子区域,其中,i依次取1至N的正整数,直至确定当前位置在第N+1区域所处的第N子区域,当i取1时,目标子区域为特定区域。
作为一种可选的实施例,第一确定单元203,还用于:
确定每个第N+1子区域的区域中心位置的坐标,获得第三结果;
第二获取单元204,还用于:
基于第三结果,获取每个第N+1子区域的区域中心位置到各预设目标点位的距离,获得第四结果。
上述本申请实施例中的技术方案,至少具有如下的技术效果或优点:
本申请提供的基于区域划分的距离计算装置中,将特定区域基于目标预设单位进行区域划分后,得到包括多个子区域的区域,然后,获取每个子区域的区域中心位置到各预设目标点位的距离进行存储,当用户通过客户端向服务器发送携带有当前位置和目标点位的距离请求时,先确定出当前位置处于哪个子区域,确定出来后,直接调用存储的该子区域与目标点位之间的距离,以确定当前位置与目标点位的距离,并反馈给客户端,本申请中,相比于现有技术中距离计算的高并发,本申请实现将各子区域与各预设目标点位的距离进行存储,以供用户请求时,不用计算距离,判断出用户的当前位置属于哪个子区域,即可获得用户的当前位置和目标点位之间的距离,因此,本申请具有效率高、响应及时的特点,解决了现有技术中距离计算高并发下效率低、响应不及时,限制了数据的实时反馈,不能很好地提升移动导览用户体验,从一定程度上限制了用户对智能化服务的需求的技术问题。
实施例三
基于与前述实施例中一种基于区域划分的距离计算方法同样的发明构思,如图3所示,本实施例提供了一种电子设备300,包括:存储器310、处理器320及存储在存储器310上并可在处理器320上运行的计算机程序311,处理器320执行程序311时可以实现如下方法步骤:
获取特定区域的边界位置点的坐标,得到第一结果;基于第一结果和目标预设单位,对特定区域进行区域划分,获得第二结果,第二结果为包括多个子区域的区域;确定每个子区域的区域中心位置的坐标,获得第三结果;基于第三结果,获取每个子区域的区域中心位置到各预设目标点位的距离,获得第四结果;获取来自于客户端的距离请求,距离请求包括用户的当前位置和目标点位,目标点位为各预设目标点位中的一个;确定当前位置在第二结果中所处的子区域,得到第五结果;基于第四结果和第五结果,确定当前位置与目标点位的距离,并发送给客户端。
在具体实施过程中,处理器320执行程序311时,还可以实现实施例一中的任一方式步骤。
实施例四
基于与前述实施例中一种基于区域划分的距离计算方法同样的发明构思,如图4所示,一种计算机可读存储介质400,其上存储有计算机程序411,该计算机程序411被处理器执行时实现以下步骤:
获取特定区域的边界位置点的坐标,得到第一结果;基于第一结果和目标预设单位,对特定区域进行区域划分,获得第二结果,第二结果为包括多个子区域的区域;确定每个子区域的区域中心位置的坐标,获得第三结果;基于第三结果,获取每个子区域的区域中心位置到各预设目标点位的距离,获得第四结果;获取来自于客户端的距离请求,距离请求包括用户的当前位置和目标点位,目标点位为各预设目标点位中的一个;确定当前位置在第二结果中所处的子区域,得到第五结果;基于第四结果和第五结果,确定当前位置与目标点位的距离,并发送给客户端。
在具体实施过程中,该计算机程序411被处理器执行时,可以实现实施例一中的任一方法步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种基于区域划分的距离计算方法,其特征在于,应用于服务器中,所述服务器与客户端连接,所述方法包括:
获取特定区域的边界位置点的坐标,得到第一结果;
基于所述第一结果和目标预设单位,对所述特定区域进行区域划分,获得第二结果,所述第二结果为包括多个子区域的区域;
确定每个所述子区域的区域中心位置的坐标,获得第三结果;
基于所述第三结果,获取每个所述子区域的区域中心位置到各预设目标点位的距离,获得第四结果;
获取来自于所述客户端的距离请求,所述距离请求包括用户的当前位置和目标点位,所述目标点位为所述各预设目标点位中的一个;
确定所述当前位置在所述第二结果中所处的子区域,得到第五结果;
基于所述第四结果和所述第五结果,确定所述当前位置与所述目标点位的距离,并发送给所述客户端。
2.如权利要求1所述的基于区域划分的距离计算方法,其特征在于,所述基于所述第一结果和目标预设单位,对所述特定区域进行区域划分,获得第二结果,包括:
基于所述第一结果,对所述特定区域进行N级区域划分,获得第六结果,所述第六结果包括每级区域划分后所得的区域;
基于所述目标预设单位,对所述特定区域进行第N+1级区域划分,获得所述第二结果,所述第二结果为包括多个第N+1子区域的区域。
3.如权利要求2所述的基于区域划分的距离计算方法,其特征在于,所述基于所述第一结果,对所述特定区域进行N级区域划分,获得第六结果,所述第六结果包括每级区域划分后所得的区域,包括:
根据第一预设单位和所述第一结果,对所述特定区域进行第一级区域划分,获得第一区域,所述第一区域为包括多个第一子区域的区域;
根据第二预设单位,对所述第一区域内的每个所述第一子区域进行第二级区域划分,获得第二区域,所述第二区域为包括多个第二子区域的区域;
以此类推,直至根据第N预设单位,对所述第N-1区域的每个第N-1子区域进行第N级区域划分,获得第N区域,所述第N区域为包括多个第N子区域的区域,其中,所述第六结果包括所述第一区域至第N区域中的每一个区域。
4.如权利要求3所述的基于区域划分的距离计算方法,其特征在于,所述基于目标预设单位,对每个所述第N子区域进行区域划分,获得所述第二结果,所述第二结果为包括多个第N+1子区域的区域,包括:
基于所述目标预设单位,对所述第N区域内的每个所述第N子区域进行第N+1级区域划分,获得第N+1区域,所述第N+1区域为所述第二结果。
5.如权利要求4所述的基于区域划分的距离计算方法,其特征在于,在所述确定所述当前位置在所述第二结果中所处的子区域,得到第五结果之前,还包括:
获取第i区域内的每个第i子区域的区域中心位置的坐标,其中,i依次取1至N的正整数。
6.如权利要求5所述的基于区域划分的距离计算方法,其特征在于,所述确定所述当前位置在所述第二结果中所处的子区域,得到第五结果,包括:
获取所述第i区域位于目标子区域内的每个所述第i子区域的区域中心位置的坐标,所述目标子区域为所述当前位置在第i-1区域所处的第i-1子区域;
基于所述目标子区域内的每个所述第i子区域的区域中心位置的坐标,确定所述当前位置分别与所述目标子区域内的所述每个第i子区域的区域中心位置的距离,获得第七结果;
基于所述第七结果,确定所述当前位置在所述第i区域内所处的第i子区域,其中,i依次取1至N的正整数,直至确定所述当前位置在所述第N+1区域所处的第N子区域,当i取1时,所述目标子区域为所述特定区域。
7.如权利要求2所述的基于区域划分的距离计算方法,其特征在于,所述确定每个所述子区域的区域中心位置的坐标,获得第三结果,包括:
确定每个所述第N+1子区域的区域中心位置的坐标,获得所述第三结果;
所述基于所述第三结果,获取每个所述子区域的区域中心位置到各预设目标点位的距离,获得第四结果,包括:
基于所述第三结果,获取每个所述第N+1子区域的区域中心位置到各预设目标点位的距离,获得所述第四结果。
8.一种基于区域划分的距离计算装置,其特征在于,应用于服务器中,所述服务器与客户端连接,所述装置包括:
第一获取单元,用于获取特定区域的边界位置点的坐标,得到第一结果;
划分单元,用于根据所述第一结果和目标预设单位,对所述特定区域进行区域划分,获得第二结果,所述第二结果为包括多个子区域的区域;
第一确定单元,用于确定每个所述子区域的区域中心位置的坐标,获得第三结果;
第二获取单元,用于根据所述第三结果,获取每个所述子区域的区域中心位置到各预设目标点位的距离,获得第四结果;
第三获取单元,用于获取来自于所述客户端的距离请求,所述距离请求包括用户的当前位置和目标点位,所述目标点位为所述各预设目标点位中的一个;
第二确定单元,用于确定所述当前位置在所述第二结果中所处的子区域,得到第五结果;
第三确定单元,用于根据所述第四结果和所述第五结果,确定所述当前位置与所述目标点位的距离,并发送给所述客户端。
9.一种电子设备,其特征在于,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时可以实现如权利要求1-7任一权项所述的方法步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,包括:该程序被处理器执行时可以实现如权利要求1-7任一权项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010932545.1A CN112214563A (zh) | 2020-09-08 | 2020-09-08 | 一种基于区域划分的距离计算方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010932545.1A CN112214563A (zh) | 2020-09-08 | 2020-09-08 | 一种基于区域划分的距离计算方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112214563A true CN112214563A (zh) | 2021-01-12 |
Family
ID=74049160
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010932545.1A Pending CN112214563A (zh) | 2020-09-08 | 2020-09-08 | 一种基于区域划分的距离计算方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112214563A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003056858A1 (en) * | 2001-12-21 | 2003-07-10 | Telia Ab | Procedure and arrangement for calculation of distances |
WO2016093860A1 (en) * | 2014-12-12 | 2016-06-16 | Ruckus Wireless, Inc. | Calibration-free location determination using wireless communication |
CN106802786A (zh) * | 2016-12-09 | 2017-06-06 | 中电科华云信息技术有限公司 | 基于哈希区域映射的时空距离计算***及方法 |
CN106886674A (zh) * | 2016-08-24 | 2017-06-23 | 阿里巴巴集团控股有限公司 | 一种地理位置距离批量计算方法及装置 |
CN108632739A (zh) * | 2017-03-20 | 2018-10-09 | ***通信集团湖北有限公司 | 基于信令数据的定位方法和装置 |
CN108882191A (zh) * | 2018-06-29 | 2018-11-23 | 广州杰赛科技股份有限公司 | 对象定位方法、装置、计算机设备和存储介质 |
CN109819394A (zh) * | 2018-12-31 | 2019-05-28 | 上海无线通信研究中心 | 基于WiFi与超声波混合的室内定位方法及其*** |
CN110633447A (zh) * | 2019-08-30 | 2019-12-31 | 中国人民解放军军事科学院国防科技创新研究院 | 基于fpga的球面距离定点计算方法及其计算装置 |
US20200090371A1 (en) * | 2018-09-18 | 2020-03-19 | Shanghai United Imaging Healthcare Co., Ltd. | Systems and methods for positioning an object |
-
2020
- 2020-09-08 CN CN202010932545.1A patent/CN112214563A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2003056858A1 (en) * | 2001-12-21 | 2003-07-10 | Telia Ab | Procedure and arrangement for calculation of distances |
WO2016093860A1 (en) * | 2014-12-12 | 2016-06-16 | Ruckus Wireless, Inc. | Calibration-free location determination using wireless communication |
CN106886674A (zh) * | 2016-08-24 | 2017-06-23 | 阿里巴巴集团控股有限公司 | 一种地理位置距离批量计算方法及装置 |
CN106802786A (zh) * | 2016-12-09 | 2017-06-06 | 中电科华云信息技术有限公司 | 基于哈希区域映射的时空距离计算***及方法 |
CN108632739A (zh) * | 2017-03-20 | 2018-10-09 | ***通信集团湖北有限公司 | 基于信令数据的定位方法和装置 |
CN108882191A (zh) * | 2018-06-29 | 2018-11-23 | 广州杰赛科技股份有限公司 | 对象定位方法、装置、计算机设备和存储介质 |
US20200090371A1 (en) * | 2018-09-18 | 2020-03-19 | Shanghai United Imaging Healthcare Co., Ltd. | Systems and methods for positioning an object |
CN109819394A (zh) * | 2018-12-31 | 2019-05-28 | 上海无线通信研究中心 | 基于WiFi与超声波混合的室内定位方法及其*** |
CN110633447A (zh) * | 2019-08-30 | 2019-12-31 | 中国人民解放军军事科学院国防科技创新研究院 | 基于fpga的球面距离定点计算方法及其计算装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110929880A (zh) | 一种联邦学习方法、装置及计算机可读存储介质 | |
US20140280881A1 (en) | Using latency and route information to estimate location | |
EP2601622A1 (en) | Predicting a user behavior number of a word | |
CN105095263B (zh) | ***的生成方法及其装置 | |
CN110515706B (zh) | 一种请求处理方法、装置、设备及可读存储介质 | |
US20180013610A1 (en) | File delivery method, apparatus and system | |
CN112131331A (zh) | 地图数据处理方法、装置、计算机设备和存储介质 | |
CN110784883B (zh) | 基站建设评估方法、装置、设备和存储介质 | |
CN109886529A (zh) | 一种资源分配方法及装置、电子终端及存储介质 | |
CN112269661B (zh) | 基于Kafka集群的分区迁移方法和装置 | |
CN112214563A (zh) | 一种基于区域划分的距离计算方法、装置及电子设备 | |
CN114623844A (zh) | 导航数据处理方法、装置、程序产品、介质及电子设备 | |
CN113656527A (zh) | 地图资源处理方法、装置、计算机设备和存储介质 | |
CN113204406A (zh) | 服务器资源管理方法、***、设备及存储介质 | |
CN115334167B (zh) | 一种角度阈值自适应的轨迹压缩方法 | |
JP2016195364A (ja) | 無線通信方法、プログラム及び無線通信装置 | |
CN113593397B (zh) | 一种历史轨迹数据加载方法、装置及*** | |
CN111586160B (zh) | 数据处理方法、装置、数据处理设备及存储介质 | |
CN111429742B (zh) | 一种路侧设备分配方法及装置 | |
CN114640944A (zh) | 基于信息可用性的车路协同多域多源资源管理方法 | |
CN112001987B (zh) | 一种多边形的裁剪方法、装置、电子设备及存储介质 | |
CN114047554A (zh) | 大地电阻率模型建模方法、装置、计算机设备和存储介质 | |
CN110298722A (zh) | 订单推送方法、装置和设备 | |
CN103024091A (zh) | 获得网络客户端真实物理地址的方法及装置 | |
CN112395110A (zh) | 一种区块链加速响应方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |