所述一個(gè)注記的坐標(biāo)位置進(jìn)行調(diào)整,以避讓相應(yīng)的每一個(gè)圖層元素。
[0044]可選的,所述生成單元進(jìn)一步用于:
[0045]若無法避讓,則對(duì)避讓優(yōu)先級(jí)最低的圖層元素進(jìn)行疊加,若存在多個(gè)優(yōu)先級(jí)最低的,則隨機(jī)選擇至少一個(gè)優(yōu)先級(jí)最低的圖層元素進(jìn)行疊加;或者,
[0046]若無法避讓,則不生成所述一個(gè)注記。
[0047]可選的,所述生成單元進(jìn)一步用于:
[0048]在生成注記的過程中,基于圖層元素的標(biāo)識(shí)信息在每一個(gè)圖層元素和相應(yīng)的注記之間建立關(guān)聯(lián)關(guān)系;
[0049]在原始圖層數(shù)據(jù)更新后,對(duì)更新的原始圖層數(shù)據(jù)進(jìn)行解析,確定更新后的原始圖層數(shù)據(jù)包含的每一個(gè)圖層元素及相應(yīng)的標(biāo)識(shí)信息;
[0050]基于每一個(gè)圖層元素的標(biāo)識(shí)信息,在各個(gè)圖層元素和各個(gè)注記之間進(jìn)行匹配,并根據(jù)匹配結(jié)果針對(duì)匹配成功的圖層元素和注記進(jìn)行確認(rèn)操作,以及針對(duì)未匹配成功的圖層元素或/和注記進(jìn)行調(diào)整操作。
[0051]可選的,針對(duì)匹配成功的圖層元素和注記進(jìn)行確認(rèn)操作時(shí),所述生成單元用于:
[0052]若判定對(duì)應(yīng)一圖層元素的標(biāo)識(shí)信息存在相應(yīng)的標(biāo)記且存在相應(yīng)的圖層元素,則在進(jìn)一步判定所述一圖層元素的坐標(biāo)位置相較于原始圖層數(shù)據(jù)更新之前發(fā)生變化時(shí),對(duì)所述一圖層元素周邊設(shè)定坐標(biāo)范圍內(nèi)的各個(gè)注記的坐標(biāo)位置進(jìn)行相應(yīng)調(diào)整;
[0053]若判定對(duì)應(yīng)一圖層元素的標(biāo)識(shí)信息存在相應(yīng)的標(biāo)記且存在相應(yīng)的圖層元素,則在進(jìn)一步判定所述一圖層元素的對(duì)應(yīng)的避讓優(yōu)先級(jí)已變更時(shí),按照變更后的避讓優(yōu)先級(jí),重新調(diào)整相應(yīng)注記的坐標(biāo)位置;
[0054]若判定對(duì)應(yīng)一圖層元素的標(biāo)識(shí)信息存在相應(yīng)的標(biāo)記且存在相應(yīng)的圖層元素,則在進(jìn)一步判定所述一圖層元素的注記顯示方式相較于原始圖層數(shù)據(jù)更新之前發(fā)生變化時(shí),對(duì)所述一圖層元素周邊設(shè)定坐標(biāo)范圍內(nèi)的各個(gè)注記的坐標(biāo)位置進(jìn)行相應(yīng)調(diào)整。
[0055]可選的,根據(jù)匹配結(jié)果對(duì)未匹配成功的圖層元素或/和注記進(jìn)行調(diào)整時(shí),所述生成單元用于:
[0056]若對(duì)應(yīng)一圖層元素的標(biāo)識(shí)信息存在相應(yīng)的圖層元素但不存在相應(yīng)的注記,則判定所述一圖層元素為新增元素,并對(duì)應(yīng)所述一圖層元素生成新的注記;
[0057]若對(duì)應(yīng)一圖層元素的標(biāo)識(shí)信息存在相應(yīng)注記但不存在相應(yīng)的圖層元素,則判定所述一圖層元素為刪除元素,則刪除對(duì)應(yīng)所述一圖層元素生成的注記。
[0058]這樣,當(dāng)原始圖層數(shù)據(jù)發(fā)生變化時(shí),能夠快速檢測(cè)到所有變化了的圖層元素?cái)?shù)據(jù),并針對(duì)變化的圖層元素,利用局部的注記生成方法生成新的注記內(nèi)容,這能夠減少對(duì)現(xiàn)有注記的干擾,而且注記生成方式效率高,并具有很強(qiáng)的實(shí)用性和靈活性。
【附圖說明】
[0059]為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使用的附圖作簡要介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域的普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0060]圖1為本發(fā)明實(shí)施例中地理信息系統(tǒng)系統(tǒng)注記生成方法的概述流程圖;
[0061]圖2為本發(fā)明實(shí)施例中地理信息系統(tǒng)系統(tǒng)注記生成與更新的流程示意圖;
[0062]圖3為本發(fā)明實(shí)施例中地理信息系統(tǒng)系統(tǒng)注記生成的結(jié)構(gòu)示意圖;
【具體實(shí)施方式】
[0063]為了提高地圖圖層中注記的生成效率,以及降低維護(hù)成本,本發(fā)明實(shí)施例中,在圖層和注記之間建立關(guān)聯(lián)關(guān)系,通過注記生成與避讓算法,自動(dòng)實(shí)現(xiàn)注記和圖層元素之間的避讓處理,大幅度地減少人工工作量和人工成本。
[0064]為了使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明作進(jìn)一步地詳細(xì)描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部份實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其它實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0065]下面通過具體實(shí)施例對(duì)本發(fā)明方案進(jìn)行詳細(xì)描述,當(dāng)然,本發(fā)明并不限于以下實(shí)施例。
[0066]本發(fā)明實(shí)施例中,將原始圖層中的各個(gè)圖層元素與相應(yīng)的注記(可看作是一種點(diǎn)狀圖層)進(jìn)行邏輯上的關(guān)聯(lián),同時(shí)充分利用空間數(shù)據(jù)庫中的空間索引機(jī)制,通過優(yōu)化兩級(jí)空間索引,達(dá)到空間查詢比對(duì)的最優(yōu),并通過設(shè)置避讓算法,自動(dòng)實(shí)現(xiàn)圖層元素和注記之間的避讓,其中,圖層元素包含各類的地標(biāo)(如,道路、建筑)和相應(yīng)的注記。
[0067]注記生成之前,需要設(shè)計(jì)注記的存儲(chǔ)結(jié)構(gòu),例如,在數(shù)據(jù)庫中設(shè)計(jì)注記的存儲(chǔ)結(jié)構(gòu)時(shí),設(shè)置注記的標(biāo)識(shí)信息主要包含主鍵字段(即標(biāo)識(shí)信息),空間字段(即坐標(biāo)位置),地圖級(jí)別,參考的圖層元素的編號(hào)字段(即與哪一圖層元素存在關(guān)聯(lián)關(guān)系),注記內(nèi)容和注記風(fēng)格,并以key-value形式存儲(chǔ)字體、字高、顏色、粗體、斜體、下劃線、定位點(diǎn)位置、偏移量等信息。這樣,通過注記中設(shè)計(jì)的圖層元素的編號(hào)字段,能夠?qū)崿F(xiàn)注記與圖層元素在邏輯上的關(guān)聯(lián),即在生成注記的過程中,基于圖層元素的標(biāo)識(shí)信息在每一個(gè)圖層元素和相應(yīng)的注記之間建立了關(guān)聯(lián)關(guān)系。
[0068]參閱圖1所示,本發(fā)明實(shí)施例中,地理信息系統(tǒng)系統(tǒng)生成注記的具體流程如下:
[0069]步驟101:對(duì)原始圖層數(shù)據(jù)進(jìn)行解析,確定原始圖層數(shù)據(jù)包含的多個(gè)圖層和各個(gè)圖層的圖層元素。
[0070]具體的,電子地圖的圖層分為點(diǎn)狀圖層、線狀圖層和面狀圖層,其中,點(diǎn)狀圖層用于繪制建筑物等地理因素,如大廈、民居小區(qū)等,線狀圖層用來繪制交通道路等地理因素,如大街、道路等,面狀圖層用來繪制區(qū)域形狀的地理因素,如湖泊、山川等。通過對(duì)原始圖層數(shù)據(jù)進(jìn)行解析,確定原始圖層數(shù)據(jù)包含的多個(gè)圖層,從而解析出各個(gè)圖層的圖層元素。
[0071]而注記可以看作是一種點(diǎn)狀圖層,在注記生成后,可以將注記與其他圖層通過疊加方式進(jìn)行呈現(xiàn)。
[0072]步驟102:針對(duì)每一個(gè)圖層中的每一個(gè)圖層元素生成相應(yīng)的注記;其中,每生成一個(gè)注記,以該注記當(dāng)前的坐標(biāo)位置為定位點(diǎn),對(duì)設(shè)定坐標(biāo)范圍進(jìn)行掃描,確定存在與該注記的坐標(biāo)位置疊加且符合預(yù)設(shè)避讓條件的圖層元素時(shí),對(duì)該注記的坐標(biāo)位置進(jìn)行調(diào)整。
[0073]由于注記實(shí)際上是以點(diǎn)狀圖層的形式存在,具體的,針對(duì)一個(gè)圖層元素生成相應(yīng)的注記時(shí),首先需要先針對(duì)該注記確定一個(gè)坐標(biāo)位置(可以由管理人員配置),并生成注記內(nèi)容,通常是以注記的左上角或右下角的點(diǎn)作為該注記的坐標(biāo)位置,接著,以該注記當(dāng)前的坐標(biāo)位置為定位點(diǎn),對(duì)設(shè)定的坐標(biāo)范圍進(jìn)行掃,最后,通過掃描結(jié)果確定存在與該注記的坐標(biāo)位置疊加且符合預(yù)設(shè)避讓條件的圖層元素時(shí),對(duì)該注記的坐標(biāo)位置進(jìn)行調(diào)整。
[0074]具體的,確定一個(gè)圖層元素是否符合預(yù)設(shè)的避讓條件,包括:確定一個(gè)圖層元素的屬性類型屬于指定的避讓類型,確定該圖層元素符合預(yù)設(shè)的避讓條件;或者,確定一個(gè)圖層元素的名稱中包含指定的避讓關(guān)鍵字時(shí),確定該圖層元素符合預(yù)設(shè)的避讓條件。
[0075]生成注記之前,需要設(shè)置避讓算法,通過對(duì)原始圖層數(shù)據(jù)設(shè)置避讓條件,確定符合預(yù)設(shè)避讓條件的圖層元素,其中,通過指定避讓的屬性類型和關(guān)鍵字來設(shè)置避讓條件,當(dāng)某一圖層元素屬于指定的避讓類型或該圖層元素的名稱中包含指定的避讓關(guān)鍵字時(shí),該圖層元素即為符合避讓條件的圖層元素,注記生成時(shí)則需要對(duì)這種圖層元素進(jìn)行避讓。
[0076]例如:生成注記之前,針對(duì)圖層元素預(yù)先設(shè)定的避讓類型為“道路”,則在注記生成時(shí)需要避讓“道路”類型的圖層元素。
[0077]又例如:生成注記之前,針對(duì)圖層元素預(yù)先設(shè)定的避讓關(guān)鍵字包括“天安門、故宮、香山”等,則在注記生成時(shí)則需要避讓每個(gè)包含關(guān)鍵字的圖層元素。
[0078]此外,若存在多個(gè)符合避讓條件的圖層元素,需要針對(duì)多個(gè)符合避讓條件的圖層元素設(shè)置避讓優(yōu)先級(jí),這樣,注記生成時(shí),需要根據(jù)設(shè)置的避讓優(yōu)先級(jí)對(duì)符合避讓條件的圖層元素依次避讓。具體為:
[0079]若僅存在一個(gè)與該注記的坐標(biāo)位置疊加且符合預(yù)設(shè)避讓條件的圖層元素,則對(duì)該注記的坐標(biāo)位置進(jìn)行調(diào)整,直接避讓該符合預(yù)設(shè)避讓條件的圖層元素;
[0080]例如:針對(duì)