本發(fā)明涉及三維地圖領(lǐng)域,具體而言,涉及一種三維地圖生成方法、裝置、電子設(shè)備及可讀存儲(chǔ)介質(zhì)。
背景技術(shù):
1、隨著地理信息技術(shù)的快速發(fā)展,三維可視化與地理信息系統(tǒng)(gis)緊密關(guān)聯(lián)起來(lái),其中,地理空間數(shù)據(jù)就是三維場(chǎng)景可視化的基石,例如geojson作為一種輕量級(jí)且易于解析的地理空間數(shù)據(jù)交換格式,已經(jīng)成為連接二維地理信息與三維可視化世界的重要橋梁。
2、現(xiàn)有技術(shù)中,三維場(chǎng)景構(gòu)建依賴于三維建模人員通過(guò)專業(yè)建模軟件進(jìn)行手動(dòng)建模并對(duì)地理空間數(shù)據(jù)進(jìn)行處理,從而得到立體的三維效果,然而,人為進(jìn)行復(fù)雜的手動(dòng)建模和繁瑣的數(shù)據(jù)處理,不僅耗時(shí)耗力,而且難以保證模型的一致性和精度。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明的目的在于提供一種三維地圖生成方法、裝置、電子設(shè)備及可讀存儲(chǔ)介質(zhì),以改善現(xiàn)有技術(shù)存在的問(wèn)題。
2、本發(fā)明的實(shí)施例可以這樣實(shí)現(xiàn):
3、第一方面,本發(fā)明提供一種三維地圖生成方法,應(yīng)用于電子設(shè)備,包括:
4、獲取目標(biāo)區(qū)域的地理空間數(shù)據(jù),所述地理空間數(shù)據(jù)包括m個(gè)特征圖層數(shù)據(jù),所述特征圖層數(shù)據(jù)對(duì)應(yīng)所述目標(biāo)區(qū)域中的地理實(shí)體;
5、對(duì)每個(gè)所述特征圖層數(shù)據(jù)進(jìn)行坐標(biāo)轉(zhuǎn)換處理以及三維建模處理,得到每個(gè)所述特征圖層數(shù)據(jù)對(duì)應(yīng)的三維模型塊;
6、對(duì)每個(gè)所述三維模型塊進(jìn)行模型細(xì)化處理后進(jìn)行紋理貼圖,得到m個(gè)三維模型紋理塊;
7、將所述m個(gè)三維模型紋理塊進(jìn)行拼接,得到所述目標(biāo)區(qū)域的紋理三維模型,并基于所述紋理三維模型渲染出所述目標(biāo)區(qū)域的三維地圖。
8、在可選的實(shí)施方式中,所述對(duì)每個(gè)所述特征圖層數(shù)據(jù)進(jìn)行坐標(biāo)轉(zhuǎn)換處理以及三維建模處理,得到每個(gè)所述特征圖層數(shù)據(jù)對(duì)應(yīng)的三維模型塊的步驟,包括:
9、啟動(dòng)主線程,所述主線程按照設(shè)定數(shù)據(jù)容量分別對(duì)每個(gè)所述特征圖層數(shù)據(jù)進(jìn)行多次分割,得到全部所述特征圖層數(shù)據(jù)對(duì)應(yīng)的若干子數(shù)據(jù),并在每次分割出一個(gè)所述子數(shù)據(jù)時(shí)基于預(yù)設(shè)命名規(guī)則設(shè)置所述子數(shù)據(jù)的文件名稱前綴;
10、開啟k個(gè)子線程,所述主線程將全部子數(shù)據(jù)平均分配給每個(gè)所述子線程;
11、所述子線程將分配到的每個(gè)所述子數(shù)據(jù)中的坐標(biāo)數(shù)據(jù)從大地坐標(biāo)系轉(zhuǎn)換至笛卡爾坐標(biāo)系;
12、所述子線程從每個(gè)坐標(biāo)轉(zhuǎn)換后的子數(shù)據(jù)中提取幾何數(shù)據(jù)并基于所述幾何數(shù)據(jù)進(jìn)行三維建模,得到分配到的每個(gè)所述子數(shù)據(jù)對(duì)應(yīng)的子三維模型塊,并將各個(gè)所述子數(shù)據(jù)的文件名稱前綴分別作為對(duì)應(yīng)的各個(gè)子三維模型塊的文件名稱前綴;
13、所述主線程接收每個(gè)所述子線程返回的多個(gè)子三維模型塊;
14、所述主線程基于每個(gè)所述子三維模型塊的文件名稱前綴,查找出每個(gè)所述特征圖層數(shù)據(jù)對(duì)應(yīng)的所有子三維模型塊,并分別將每個(gè)所述特征圖層數(shù)據(jù)對(duì)應(yīng)的所有子三維模型塊進(jìn)行拼接,得到每個(gè)所述特征圖層數(shù)據(jù)對(duì)應(yīng)的三維模型塊。
15、在可選的實(shí)施方式中,所述主線程在每次分割出一個(gè)所述子數(shù)據(jù)時(shí)基于預(yù)設(shè)命名規(guī)則設(shè)置所述子數(shù)據(jù)的文件名稱前綴的步驟,包括:
16、所述主線程在每次分割出一個(gè)所述子數(shù)據(jù)時(shí),確定所述子數(shù)據(jù)的分割編號(hào);
17、所述主線程從所述特征圖層數(shù)據(jù)中獲取對(duì)應(yīng)的地理實(shí)體的實(shí)體標(biāo)識(shí);
18、所述主線程基于所述分割編號(hào)以及所述實(shí)體標(biāo)識(shí),設(shè)置所述子數(shù)據(jù)的文件名稱前綴。
19、在可選的實(shí)施方式中,所述三維模型塊包括若干三角面,每個(gè)所述三角面均對(duì)應(yīng)三個(gè)頂點(diǎn);
20、所述對(duì)每個(gè)所述三維模型塊進(jìn)行模型細(xì)化處理后進(jìn)行紋理貼圖,得到m個(gè)三維模型紋理塊的步驟,包括:
21、針對(duì)每個(gè)所述三維模型塊,將所述三維模型塊中每對(duì)相連頂點(diǎn)的中點(diǎn)均作為待定頂點(diǎn);
22、基于各個(gè)所述待定頂點(diǎn)的相鄰頂點(diǎn),分別擬合出各個(gè)所述待定頂點(diǎn)對(duì)應(yīng)的新增頂點(diǎn)的坐標(biāo);
23、將每個(gè)所述新增頂點(diǎn)融入所述三維模型塊,得到細(xì)化后的三維模型塊;
24、基于對(duì)應(yīng)的特征圖層數(shù)據(jù)的預(yù)設(shè)紋理圖像,對(duì)所述細(xì)化后的三維模型塊進(jìn)行紋理貼圖,得到所述三維模型紋理塊。
25、在可選的實(shí)施方式中,所述三維地圖包括多個(gè)地圖塊,所述方法還包括:
26、響應(yīng)于用戶的交互操作,對(duì)所述三維地圖進(jìn)行顯示處理;所述交互操作為旋轉(zhuǎn)操作、放大操作以及縮小操作中的一個(gè);
27、或者,響應(yīng)于用戶針對(duì)所述三維地圖中任一目標(biāo)地圖塊的選中操作,在所述三維地圖中凸出高亮顯示所述目標(biāo)地圖塊。
28、在可選的實(shí)施方式中,所述三維地圖包括所述目標(biāo)區(qū)域中m個(gè)子區(qū)域?qū)?yīng)的地圖塊,一個(gè)所述地圖塊代表一個(gè)所述特征圖層數(shù)據(jù)對(duì)應(yīng)的地理實(shí)體;所述方法還包括:
29、響應(yīng)于用戶的人口數(shù)據(jù)查看操作,獲取所述目標(biāo)區(qū)域中各個(gè)子區(qū)域的人口數(shù)據(jù);
30、將所述目標(biāo)區(qū)域中各個(gè)子區(qū)域的名稱和人口數(shù)據(jù)作為數(shù)據(jù)標(biāo)簽,分別疊加顯示于所述三維地圖中的各個(gè)地圖塊上;或者,確定各個(gè)子區(qū)域內(nèi)的設(shè)定經(jīng)緯度分別在所述三維地圖中對(duì)應(yīng)的對(duì)照地圖位置,在每個(gè)地圖塊的對(duì)照地圖位置處按照對(duì)應(yīng)的人口數(shù)據(jù)顯示立體柱,所述立體柱垂直于所述三維地圖的水平面且所述立體柱的高度代表所述人口數(shù)據(jù)的大小。
31、在可選的實(shí)施方式中,所述方法還包括:
32、響應(yīng)于用戶的旅游數(shù)據(jù)查看操作,顯示查詢條件彈窗;
33、獲取用戶在所述查詢條件彈窗輸入并提交的查詢時(shí)段和待查詢景區(qū)等級(jí);
34、獲得所述目標(biāo)區(qū)域中景區(qū)等級(jí)與所述待查詢景區(qū)等級(jí)相同的多個(gè)待查詢旅游景區(qū)的經(jīng)緯度以及在所述查詢時(shí)段的接待數(shù)據(jù);
35、基于各個(gè)所述待查詢旅游景區(qū)的經(jīng)緯度分別確定各個(gè)所述待查詢旅游景區(qū)在所述三維地圖中的景區(qū)地圖位置;
36、在每個(gè)所述景區(qū)地圖位置處按照對(duì)應(yīng)的接待數(shù)據(jù)顯示立體柱,所述立體柱垂直于所述三維地圖的水平面且所述立體柱的高度代表所述接待數(shù)據(jù)的大小。
37、第二方面,本發(fā)明提供一種三維地圖生成裝置,應(yīng)用于電子設(shè)備,所述裝置包括:
38、數(shù)據(jù)獲取模塊,用于獲取目標(biāo)區(qū)域的地理空間數(shù)據(jù),所述地理空間數(shù)據(jù)包括m個(gè)特征圖層數(shù)據(jù),所述特征圖層數(shù)據(jù)對(duì)應(yīng)所述目標(biāo)區(qū)域中的地理實(shí)體;
39、轉(zhuǎn)換建模模塊,用于對(duì)每個(gè)所述特征圖層數(shù)據(jù)進(jìn)行坐標(biāo)轉(zhuǎn)換處理以及三維建模處理,得到每個(gè)所述特征圖層數(shù)據(jù)對(duì)應(yīng)的三維模型塊;
40、貼圖模塊,用于對(duì)每個(gè)所述三維模型塊進(jìn)行模型細(xì)化處理后進(jìn)行紋理貼圖,得到m個(gè)三維模型紋理塊;
41、拼接渲染模塊,用于將所述m個(gè)三維模型紋理塊進(jìn)行拼接,得到所述目標(biāo)區(qū)域的紋理三維模型,并基于所述紋理三維模型渲染出所述目標(biāo)區(qū)域的三維地圖。
42、第三方面,本發(fā)明提供一種電子設(shè)備,包括:存儲(chǔ)器和處理器,所述存儲(chǔ)器存儲(chǔ)有軟件程序,當(dāng)所述電子設(shè)備運(yùn)行時(shí)所述處理器執(zhí)行所述軟件程序以實(shí)現(xiàn)如前述第一方面所述的三維地圖生成方法。
43、第四方面,本發(fā)明提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)前述第一方面所述的三維地圖生成方法。
44、與現(xiàn)有技術(shù)相比,本發(fā)明實(shí)施例提供了一種三維地圖生成方法、裝置、電子設(shè)備及可讀存儲(chǔ)介質(zhì),首先獲取目標(biāo)區(qū)域的地理空間數(shù)據(jù),該地理空間數(shù)據(jù)包括與目標(biāo)區(qū)域的m個(gè)地理實(shí)體一一對(duì)應(yīng)的m個(gè)特征圖層數(shù)據(jù);對(duì)每個(gè)特征圖層數(shù)據(jù)進(jìn)行坐標(biāo)轉(zhuǎn)換處理以及三維建模處理,得到每個(gè)特征圖層數(shù)據(jù)對(duì)應(yīng)的三維模型塊;對(duì)每個(gè)三維模型塊進(jìn)行模型細(xì)化處理后進(jìn)行紋理貼圖,得到m個(gè)三維模型紋理塊;將m個(gè)三維模型紋理塊進(jìn)行拼接,得到目標(biāo)區(qū)域的紋理三維模型,并基于紋理三維模型渲染出目標(biāo)區(qū)域的三維地圖。本發(fā)明能夠自動(dòng)化地對(duì)地理空間數(shù)據(jù)進(jìn)行處理,以生成目標(biāo)區(qū)域的三維地圖,避免了三維建模人員的人為操作,實(shí)現(xiàn)了快速地圖生成。