一种基于GIS计算路网网格中人口密度的方法与流程

文档序号:12667124阅读:4161来源:国知局
一种基于GIS计算路网网格中人口密度的方法与流程
本发明属于数据挖据
技术领域
,具体涉及到城市道路围成的网格空间的面积计算方法以及其中人口密度的计算方法。
背景技术
:GIS(地理信息系统)的出现使人们能够更有效地利用现有地理数据,并从中挖掘更有价值的数据。通过把GIS提供的数据的地理属性提取出来,将数据保存至数据库中,这样就可以通过查询数据库对地理信息的数据进行挖掘分析。目前,数据挖掘技术在很多领域提供了有益的帮助,使我们的生活水平有了显著地提升。例如在医疗方面,数据挖掘技术可以通过利用各种采集人们身体健康指数的设备收集数据,对数据进行分析,这对医疗技术带来了极大地提高。如何通过数据挖掘技术为人们工作生活提供更好的服务是大数据当前研究的热点和重点。在人们的日常生活中,存在着以下问题:公交车线路的设计、公共厕所的选址、药店布局、公共自行车站的选址等。对于上述的问题,现在的方法主要是针对地区的平均距离来进行相应的设计与选址。然而,此方法缺乏对实际情况的分析,其对于人口区域密度以及老龄人口的分布和出行情况考虑不周到。技术实现要素:本发明的目的是针对现有技术的不足,提供一种基于GIS计算路网网格中人口密度的方法。该方法是通过对路网数据进行挖掘分析,获得每个人对应的路网网格信息,然后计算每个人对应的路网网格的面积,从而可以计算各个路网网格中人的个数,最后计算出各个路网网格中的人口密度,为上述问题提供数据支持。本发明的技术构思为:根据人所在位置的经纬度以及路网数据,获取人所对应路网网格的四个经纬度坐标点,然后求其对应路网网格的面积大小,最后求出每个路网网格中的人口密度。本发明方法的具体步骤是:步骤(1).读取地图数据,地图数据包括路段编号(LDID)、路段起点的经纬度(QD_JD,QD_WD)、路段终点的经纬度(ZD_JD,ZD_WD),将地图网格化得到“网格—路段编号”数据表;步骤(2).通过百度地图API和人的居住地获取人的地理信息数据,数据包括经度(jd)和纬度(wd);步骤(3).通过方向判断以及闵可夫斯基距离获取人所对应路网网格的四个经纬度坐标点;步骤(4).对四个经纬度坐标点按逆时针方向进行排序;步骤(5).将排序好的经纬度坐标对应至xy坐标轴上,利用多边形面积计算公式计算每个人对应的路网网格的面积;步骤(6).通过步骤(3)和步骤(5)获取的每个人对应路网网格的经纬度坐标和面积计算出各个路网网格中的人口密度。因此,与现有技术相比,本发明具有如下优点:(1)精确性:本发明根据GIS提供的数据的地理属性获取到路段数据,能够精确地计算出每个人对应路网网格的面积。(2)科学性:本发明通过计算每个人对应其所在路网网格的面积大小,以此计算出每个路网网格中人口密度,这对公交车线路的设计、公共厕所的选址、药店布局、公共自行车站的选址等提供数据支持使其相比较传统方法更加科学化,更加符合人们生活所需。附图说明图1是人对应路网示意图。图2是计算路网网格中人口密度的具体实施步骤流程图。具体实施方式下面通过具体实施例,并结合附图,对本发明的技术方案作进一步具体的说明,如图2所示,本发明方法包括如下步骤:步骤(1).地图数据预处理:读取地图数据,地图数据包括路段编号(LDID)、路段起点经纬度信息(QD_JD,QD_WD)、路段终点经纬度信息(ZD_JD,ZD_WD),将地图网格化得到“路段编号-经纬度”数据表(如表1所示)。表1LDIDQD_JDQD_WDZD_JDZD_WD步骤(2).通过百度地图API和人的居住地址获取人的地理信息数据,数据包括每个人对应的经度(jd)和纬度(wd):读取每个人的居住地址,通过百度地图提供的API将地址转换成对应的经纬度得到“人编号-经纬度”数据表(如表2所示)。表2peopleIDjdwd表2中的peopleID代表人的编号。步骤(3).通过方向判断以及闵可夫斯基距离获取人所对应路网网格的四个经纬度坐标点:3-1.通过在步骤(1)中获取到路网每个路段起点和终点的经纬度值,根据图1可知每个人的上下左右方向各有一个路段,且每个路段是有方向的。所有首先判断这个路段在人所对应路网网格的哪个方向,即上下左右四个方向。又因路段存在方向之分,所以每个方向要考虑两种情况。3-2.根据路段的起点经纬度坐标和终点经纬度坐标来判断其对于人的经纬度坐标的方向,判断公式如下,FX右代表方向为右,FX左代表方向为左,FX下代表方向为下,FX上代表方向为上,因为路段是有方向的,所以每个方向有两种情况,即:3-3.根据闵可夫斯基距离的定义计算点(jd,wd)到点(QD_JD,QD_WD)和点(ZD_JD,ZD_WD)之间的距离和。两个n维变量h(x11,x12,…,x1n)与f(x21,x22,…,x2n)间的闵可夫斯基距离定义为:p值的选择需根据具体的场景而选择,d代表两个向量之间的距离。对此场景,p应等于2,即求解欧式距离,然后根据公式计算点(jd,wd)到点(QD_JD,QD_WD)和点(ZD_JD,ZD_WD)之间的距离和。3-4.通过上述计算每个方向的最小距离和得到每个人对应每个方向的路段编号,并记录其四个方向的经纬度坐标点,即其对应路网网格的四个经纬度坐标点。步骤(4).对四个经纬度坐标点按逆时针方向进行排序。对于不规则的多边形,可以通过分割三角形法来实现多边形面积的求解。在求解前需要做一下排序的预处理,即将多边形的所有顶点按逆时针排序,避免叉积法求三角形面积时符号的正负上出问题。4-1.人对应路网网格的四个顶点经纬度坐标分别记为a(j1,w1),b(j2,w2),c(j3,w3),d(j4,w4),计算出其重心g(j0,w0)4-2.从g点平行x轴构造一个单位矢量求出下面四个矢量与单位矢量之间的夹角关系:对四个矢量分别进行讨论:4-3.求解上述的三角方程,计算出从到的逆时针旋转角到的逆时针旋转角到的逆时针旋转角到的逆时针旋转角按角度从小到大排序获取到4个点的逆时针排序。步骤(5).将排序好的经纬度坐标对应至xy坐标轴上,利用多边形面积计算公式计算每个人对应的路网网格的面积。5-1.求解每个人对应的路网网格面积需要将经纬度转换为xy坐标。先通过每个人所对应路网网格的四个坐标点获取在xy坐标轴上对应四边形的四条边和两条对角线的长度,另地球半径记为r,r=6371km。l1,l2,l3,l4是四边形四条边的长度,l5,l6是两条对角线的长度,即:5-2.通过将上一步中获取到的四边形的四条边和两条对角线的长度对应到xy坐标轴上,因为已知四条边和两条对角线的长度可以确定该四边形,故可以画出符合的四边形,按逆时针方向将该四边形的四个顶点坐标记为(x1,y1),(x2,y2),(x3,y3),(x4,y4)。5-3.路网网格面积记为area,根据路网网格面积(area)计算公式计算路网网格的面积,即:步骤(6).利用步骤(3)和步骤(5)获取的每个人对应路网网格的经纬度坐标和面积计算出各个路网网格中的人口密度。6-1.利用步骤(3)和步骤(5)获取的每个人对应路网网格的经纬度坐标和面积构造“人编号-对应路网网格经纬度坐标-面积”数据表(如表3所示)。表3peopleIDa(j1,w1)b(j2,w2)c(j3,w3)d(j4,w4)area6-2.设立初始空集合S={},集合S中的值包含两部分,key1和value1,key1代表路网网格经纬度坐标,value1代表该路网网格对应的编号,可以通过查询S的key1获取对应的value1,设立n=1,对表3进行逐个扫描,获取peopleID对应的信息,然后对集合S的key1进行扫描,如果该人的a(j1,w1),b(j2,w2),c(j3,w3),d(j4,w4)不在集合S的key1中,则该人对应的路网网格编号为n,将{a(j1,w1),b(j2,w2),c(j3,w3),d(j4,w4),n}加入集合S中,然后将n的值自增加1,即n=n+1,否则将a(j1,w1),b(j2,w2),c(j3,w3),d(j4,w4)对应的value1值作为该人对应路网网格的编号。6-3.根据上一步的结果,构造“人编号-对应路网网格编号-面积”数据表(如表4所示)。表4peopleIDLWWGIDarea表4中的LWWGID代表路网网格编号。6-4.设立初始空集合G={},集合G中的值包含两部分,key2和value2,key2代表路网网格编号,value2代表该路网网格中人的个数,可以通过查询G的key2获取对应的value2,对表4进行逐个扫描,获取人编号对应的路网网格编号与路网网格面积,然后对集合G的key2进行扫描,如果LWWGID不在G的key2中,则将{LWWGID,1}加入G中,否则将LWWGID对应的value2值增加1。6-5.根据上一步的结果,构造“路网网格编号-面积-人的个数”数据表(如表5所示)。表5LWWGIDareapeopleCount表5中的peopleCount为路网网格中的人数。6-6.对表5进行逐个扫描,通过peopleCount/area获得每个路网网格中人口密度。最后需要说明的是,以上具体的实施例仅用于详细说明本发明,但本领域的技术人员应该理解,本发明并不局限于以上所述实施例,可以对本发明的技术方案进行修改或者等同替换,但不会偏离本发明的精神和范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1