本發(fā)明屬于數(shù)據(jù)挖據(jù)
技術(shù)領(lǐng)域:
,具體涉及到城市道路圍成的網(wǎng)格空間的面積計算方法以及其中人口密度的計算方法。
背景技術(shù):
:GIS(地理信息系統(tǒng))的出現(xiàn)使人們能夠更有效地利用現(xiàn)有地理數(shù)據(jù),并從中挖掘更有價值的數(shù)據(jù)。通過把GIS提供的數(shù)據(jù)的地理屬性提取出來,將數(shù)據(jù)保存至數(shù)據(jù)庫中,這樣就可以通過查詢數(shù)據(jù)庫對地理信息的數(shù)據(jù)進(jìn)行挖掘分析。目前,數(shù)據(jù)挖掘技術(shù)在很多領(lǐng)域提供了有益的幫助,使我們的生活水平有了顯著地提升。例如在醫(yī)療方面,數(shù)據(jù)挖掘技術(shù)可以通過利用各種采集人們身體健康指數(shù)的設(shè)備收集數(shù)據(jù),對數(shù)據(jù)進(jìn)行分析,這對醫(yī)療技術(shù)帶來了極大地提高。如何通過數(shù)據(jù)挖掘技術(shù)為人們工作生活提供更好的服務(wù)是大數(shù)據(jù)當(dāng)前研究的熱點和重點。在人們的日常生活中,存在著以下問題:公交車線路的設(shè)計、公共廁所的選址、藥店布局、公共自行車站的選址等。對于上述的問題,現(xiàn)在的方法主要是針對地區(qū)的平均距離來進(jìn)行相應(yīng)的設(shè)計與選址。然而,此方法缺乏對實際情況的分析,其對于人口區(qū)域密度以及老齡人口的分布和出行情況考慮不周到。技術(shù)實現(xiàn)要素:本發(fā)明的目的是針對現(xiàn)有技術(shù)的不足,提供一種基于GIS計算路網(wǎng)網(wǎng)格中人口密度的方法。該方法是通過對路網(wǎng)數(shù)據(jù)進(jìn)行挖掘分析,獲得每個人對應(yīng)的路網(wǎng)網(wǎng)格信息,然后計算每個人對應(yīng)的路網(wǎng)網(wǎng)格的面積,從而可以計算各個路網(wǎng)網(wǎng)格中人的個數(shù),最后計算出各個路網(wǎng)網(wǎng)格中的人口密度,為上述問題提供數(shù)據(jù)支持。本發(fā)明的技術(shù)構(gòu)思為:根據(jù)人所在位置的經(jīng)緯度以及路網(wǎng)數(shù)據(jù),獲取人所對應(yīng)路網(wǎng)網(wǎng)格的四個經(jīng)緯度坐標(biāo)點,然后求其對應(yīng)路網(wǎng)網(wǎng)格的面積大小,最后求出每個路網(wǎng)網(wǎng)格中的人口密度。本發(fā)明方法的具體步驟是:步驟(1).讀取地圖數(shù)據(jù),地圖數(shù)據(jù)包括路段編號(LDID)、路段起點的經(jīng)緯度(QD_JD,QD_WD)、路段終點的經(jīng)緯度(ZD_JD,ZD_WD),將地圖網(wǎng)格化得到“網(wǎng)格—路段編號”數(shù)據(jù)表;步驟(2).通過百度地圖API和人的居住地獲取人的地理信息數(shù)據(jù),數(shù)據(jù)包括經(jīng)度(jd)和緯度(wd);步驟(3).通過方向判斷以及閔可夫斯基距離獲取人所對應(yīng)路網(wǎng)網(wǎng)格的四個經(jīng)緯度坐標(biāo)點;步驟(4).對四個經(jīng)緯度坐標(biāo)點按逆時針方向進(jìn)行排序;步驟(5).將排序好的經(jīng)緯度坐標(biāo)對應(yīng)至xy坐標(biāo)軸上,利用多邊形面積計算公式計算每個人對應(yīng)的路網(wǎng)網(wǎng)格的面積;步驟(6).通過步驟(3)和步驟(5)獲取的每個人對應(yīng)路網(wǎng)網(wǎng)格的經(jīng)緯度坐標(biāo)和面積計算出各個路網(wǎng)網(wǎng)格中的人口密度。因此,與現(xiàn)有技術(shù)相比,本發(fā)明具有如下優(yōu)點:(1)精確性:本發(fā)明根據(jù)GIS提供的數(shù)據(jù)的地理屬性獲取到路段數(shù)據(jù),能夠精確地計算出每個人對應(yīng)路網(wǎng)網(wǎng)格的面積。(2)科學(xué)性:本發(fā)明通過計算每個人對應(yīng)其所在路網(wǎng)網(wǎng)格的面積大小,以此計算出每個路網(wǎng)網(wǎng)格中人口密度,這對公交車線路的設(shè)計、公共廁所的選址、藥店布局、公共自行車站的選址等提供數(shù)據(jù)支持使其相比較傳統(tǒng)方法更加科學(xué)化,更加符合人們生活所需。附圖說明圖1是人對應(yīng)路網(wǎng)示意圖。圖2是計算路網(wǎng)網(wǎng)格中人口密度的具體實施步驟流程圖。具體實施方式下面通過具體實施例,并結(jié)合附圖,對本發(fā)明的技術(shù)方案作進(jìn)一步具體的說明,如圖2所示,本發(fā)明方法包括如下步驟:步驟(1).地圖數(shù)據(jù)預(yù)處理:讀取地圖數(shù)據(jù),地圖數(shù)據(jù)包括路段編號(LDID)、路段起點經(jīng)緯度信息(QD_JD,QD_WD)、路段終點經(jīng)緯度信息(ZD_JD,ZD_WD),將地圖網(wǎng)格化得到“路段編號-經(jīng)緯度”數(shù)據(jù)表(如表1所示)。表1LDIDQD_JDQD_WDZD_JDZD_WD步驟(2).通過百度地圖API和人的居住地址獲取人的地理信息數(shù)據(jù),數(shù)據(jù)包括每個人對應(yīng)的經(jīng)度(jd)和緯度(wd):讀取每個人的居住地址,通過百度地圖提供的API將地址轉(zhuǎn)換成對應(yīng)的經(jīng)緯度得到“人編號-經(jīng)緯度”數(shù)據(jù)表(如表2所示)。表2peopleIDjdwd表2中的peopleID代表人的編號。步驟(3).通過方向判斷以及閔可夫斯基距離獲取人所對應(yīng)路網(wǎng)網(wǎng)格的四個經(jīng)緯度坐標(biāo)點:3-1.通過在步驟(1)中獲取到路網(wǎng)每個路段起點和終點的經(jīng)緯度值,根據(jù)圖1可知每個人的上下左右方向各有一個路段,且每個路段是有方向的。所有首先判斷這個路段在人所對應(yīng)路網(wǎng)網(wǎng)格的哪個方向,即上下左右四個方向。又因路段存在方向之分,所以每個方向要考慮兩種情況。3-2.根據(jù)路段的起點經(jīng)緯度坐標(biāo)和終點經(jīng)緯度坐標(biāo)來判斷其對于人的經(jīng)緯度坐標(biāo)的方向,判斷公式如下,F(xiàn)X右代表方向為右,F(xiàn)X左代表方向為左,F(xiàn)X下代表方向為下,F(xiàn)X上代表方向為上,因為路段是有方向的,所以每個方向有兩種情況,即:3-3.根據(jù)閔可夫斯基距離的定義計算點(jd,wd)到點(QD_JD,QD_WD)和點(ZD_JD,ZD_WD)之間的距離和。兩個n維變量h(x11,x12,…,x1n)與f(x21,x22,…,x2n)間的閔可夫斯基距離定義為:p值的選擇需根據(jù)具體的場景而選擇,d代表兩個向量之間的距離。對此場景,p應(yīng)等于2,即求解歐式距離,然后根據(jù)公式計算點(jd,wd)到點(QD_JD,QD_WD)和點(ZD_JD,ZD_WD)之間的距離和。3-4.通過上述計算每個方向的最小距離和得到每個人對應(yīng)每個方向的路段編號,并記錄其四個方向的經(jīng)緯度坐標(biāo)點,即其對應(yīng)路網(wǎng)網(wǎng)格的四個經(jīng)緯度坐標(biāo)點。步驟(4).對四個經(jīng)緯度坐標(biāo)點按逆時針方向進(jìn)行排序。對于不規(guī)則的多邊形,可以通過分割三角形法來實現(xiàn)多邊形面積的求解。在求解前需要做一下排序的預(yù)處理,即將多邊形的所有頂點按逆時針排序,避免叉積法求三角形面積時符號的正負(fù)上出問題。4-1.人對應(yīng)路網(wǎng)網(wǎng)格的四個頂點經(jīng)緯度坐標(biāo)分別記為a(j1,w1),b(j2,w2),c(j3,w3),d(j4,w4),計算出其重心g(j0,w0)4-2.從g點平行x軸構(gòu)造一個單位矢量求出下面四個矢量與單位矢量之間的夾角關(guān)系:對四個矢量分別進(jìn)行討論:4-3.求解上述的三角方程,計算出從到的逆時針旋轉(zhuǎn)角到的逆時針旋轉(zhuǎn)角到的逆時針旋轉(zhuǎn)角到的逆時針旋轉(zhuǎn)角按角度從小到大排序獲取到4個點的逆時針排序。步驟(5).將排序好的經(jīng)緯度坐標(biāo)對應(yīng)至xy坐標(biāo)軸上,利用多邊形面積計算公式計算每個人對應(yīng)的路網(wǎng)網(wǎng)格的面積。5-1.求解每個人對應(yīng)的路網(wǎng)網(wǎng)格面積需要將經(jīng)緯度轉(zhuǎn)換為xy坐標(biāo)。先通過每個人所對應(yīng)路網(wǎng)網(wǎng)格的四個坐標(biāo)點獲取在xy坐標(biāo)軸上對應(yīng)四邊形的四條邊和兩條對角線的長度,另地球半徑記為r,r=6371km。l1,l2,l3,l4是四邊形四條邊的長度,l5,l6是兩條對角線的長度,即:5-2.通過將上一步中獲取到的四邊形的四條邊和兩條對角線的長度對應(yīng)到xy坐標(biāo)軸上,因為已知四條邊和兩條對角線的長度可以確定該四邊形,故可以畫出符合的四邊形,按逆時針方向?qū)⒃撍倪呅蔚乃膫€頂點坐標(biāo)記為(x1,y1),(x2,y2),(x3,y3),(x4,y4)。5-3.路網(wǎng)網(wǎng)格面積記為area,根據(jù)路網(wǎng)網(wǎng)格面積(area)計算公式計算路網(wǎng)網(wǎng)格的面積,即:步驟(6).利用步驟(3)和步驟(5)獲取的每個人對應(yīng)路網(wǎng)網(wǎng)格的經(jīng)緯度坐標(biāo)和面積計算出各個路網(wǎng)網(wǎng)格中的人口密度。6-1.利用步驟(3)和步驟(5)獲取的每個人對應(yīng)路網(wǎng)網(wǎng)格的經(jīng)緯度坐標(biāo)和面積構(gòu)造“人編號-對應(yīng)路網(wǎng)網(wǎng)格經(jīng)緯度坐標(biāo)-面積”數(shù)據(jù)表(如表3所示)。表3peopleIDa(j1,w1)b(j2,w2)c(j3,w3)d(j4,w4)area6-2.設(shè)立初始空集合S={},集合S中的值包含兩部分,key1和value1,key1代表路網(wǎng)網(wǎng)格經(jīng)緯度坐標(biāo),value1代表該路網(wǎng)網(wǎng)格對應(yīng)的編號,可以通過查詢S的key1獲取對應(yīng)的value1,設(shè)立n=1,對表3進(jìn)行逐個掃描,獲取peopleID對應(yīng)的信息,然后對集合S的key1進(jìn)行掃描,如果該人的a(j1,w1),b(j2,w2),c(j3,w3),d(j4,w4)不在集合S的key1中,則該人對應(yīng)的路網(wǎng)網(wǎng)格編號為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)對應(yīng)的value1值作為該人對應(yīng)路網(wǎng)網(wǎng)格的編號。6-3.根據(jù)上一步的結(jié)果,構(gòu)造“人編號-對應(yīng)路網(wǎng)網(wǎng)格編號-面積”數(shù)據(jù)表(如表4所示)。表4peopleIDLWWGIDarea表4中的LWWGID代表路網(wǎng)網(wǎng)格編號。6-4.設(shè)立初始空集合G={},集合G中的值包含兩部分,key2和value2,key2代表路網(wǎng)網(wǎng)格編號,value2代表該路網(wǎng)網(wǎng)格中人的個數(shù),可以通過查詢G的key2獲取對應(yīng)的value2,對表4進(jìn)行逐個掃描,獲取人編號對應(yīng)的路網(wǎng)網(wǎng)格編號與路網(wǎng)網(wǎng)格面積,然后對集合G的key2進(jìn)行掃描,如果LWWGID不在G的key2中,則將{LWWGID,1}加入G中,否則將LWWGID對應(yīng)的value2值增加1。6-5.根據(jù)上一步的結(jié)果,構(gòu)造“路網(wǎng)網(wǎng)格編號-面積-人的個數(shù)”數(shù)據(jù)表(如表5所示)。表5LWWGIDareapeopleCount表5中的peopleCount為路網(wǎng)網(wǎng)格中的人數(shù)。6-6.對表5進(jìn)行逐個掃描,通過peopleCount/area獲得每個路網(wǎng)網(wǎng)格中人口密度。最后需要說明的是,以上具體的實施例僅用于詳細(xì)說明本發(fā)明,但本領(lǐng)域的技術(shù)人員應(yīng)該理解,本發(fā)明并不局限于以上所述實施例,可以對本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,但不會偏離本發(fā)明的精神和范圍。當(dāng)前第1頁1 2 3