本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,特別涉及一種動態(tài)標繪方法及裝置。
背景技術(shù):
gis(地理信息系統(tǒng))技術(shù)是近些年迅速發(fā)展起來的一門空間信息分析技術(shù),可以有效地對多時期的資源環(huán)境狀況及生產(chǎn)活動變化進行動態(tài)監(jiān)測和分析比較。
在gis技術(shù)中,web-gis(網(wǎng)絡(luò)地理信息系統(tǒng))被廣為使用。web-gis是網(wǎng)絡(luò)技術(shù)應(yīng)用于gis開發(fā)的產(chǎn)物,其主要編寫語言為javascript(基于對象和事件驅(qū)動的客戶端腳本語言)。web-gis主要通過地圖上的動態(tài)標繪對當前態(tài)勢進行展示。
目前通過web-gis進行動態(tài)標繪時,由于web-gis的主要編寫語言為javascript,而編寫語言javascript無法對已完成的動態(tài)標繪進行保存,給分析、比較態(tài)勢變化帶來了不便。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例提供了一種動態(tài)標繪方法及裝置,能夠?qū)σ淹瓿傻膭討B(tài)標繪進行保存。
第一方面,本發(fā)明實施例提供了一種動態(tài)標繪方法,包括:
對至少一個標繪圖形類型進行展示;
接收外部對在所述展示的至少一個標繪圖形類型中的目標標繪圖形類型進行的觸發(fā);
根據(jù)接收到的所述觸發(fā),在預設(shè)的底圖上繪制與所述目標標繪圖形類型相對應(yīng)的第一標繪圖形
根據(jù)外部輸入的調(diào)整指令,對所述第一標繪圖形進行調(diào)整,形成第二標繪圖形;
對所述底圖的參數(shù)及所述第二標繪圖形的參數(shù)進行序列化,形成序列化數(shù)據(jù);
將所述序列化數(shù)據(jù)傳送至外部的服務(wù)器進行存儲。
優(yōu)選地,所述標繪圖形類型,包括:點、弧線、曲線、圓、橢圓、弓形、扇形、曲面線、集結(jié)地、多邊形、鉗擊、直箭頭、細直箭頭、突擊方向、進攻方向、燕尾進攻方向、分隊戰(zhàn)斗行動、燕尾分隊戰(zhàn)斗行動中的任意一個或多個。
優(yōu)選地,所述根據(jù)外部輸入的調(diào)整指令,對所述第一標繪圖形進行調(diào)整,包括:
根據(jù)所述調(diào)整指令,對所述第一標繪圖形的大小、方向、邊界線顏色、邊界線粗細、區(qū)域填充顏色及區(qū)域填充文字中的任意一個或多個進行調(diào)整。
優(yōu)選地,所述底圖的參數(shù)包括:所述底圖的中心點坐標、層級;
所述第二標繪圖形的參數(shù)包括:所述第二標繪圖形的大小、方向、邊界線顏色、邊界線粗細、區(qū)域填充顏色及區(qū)域填充文字中的任意一個或多個。
優(yōu)選地,所述對所述底圖的參數(shù)及所述第二標繪圖形的參數(shù)形進行序列化,形成序列化數(shù)據(jù),包括:
創(chuàng)建統(tǒng)一的序列化接口;
通過所述序列化接口對所述底圖的參數(shù)及所述第二標繪圖形的參數(shù)進行序列化,形成封裝在同一個數(shù)據(jù)包中的所述序列化數(shù)據(jù)。
優(yōu)選地,所述對所述底圖的參數(shù)及所述第二標繪圖形的參數(shù)形進行序列化,形成序列化數(shù)據(jù),包括:
根據(jù)預定義的二進制序列化方法,對所述底圖的參數(shù)及所述第二標繪圖形的參數(shù)進行序列化,形成二進制的所述序列化數(shù)據(jù)。
第二方面,本發(fā)明實施例提供了一種動態(tài)標繪的裝置,包括:接收模塊、繪制模塊、調(diào)整模塊及存儲模塊;其中,
所述接收模塊,用于對至少一個標繪圖形類型進行展示,并接收外部對在所述展示的至少一個標繪圖形類型中的目標標繪圖形類型進行的觸發(fā);
所述繪制模塊,用于根據(jù)所述接收模塊接收到的觸發(fā),在預設(shè)的底圖上繪制與所述目標標繪圖形類型相對應(yīng)的第一標繪圖形;
所述調(diào)整模塊,用于根據(jù)外部輸入的調(diào)整指令,對所述繪制模塊繪制的第一標繪圖形進行調(diào)整,形成第二標繪圖形;
所述存儲模塊,用于對所述底圖的參數(shù)及所述調(diào)整模塊形成的所述第二標繪圖形的參數(shù)進行序列化,形成序列化數(shù)據(jù),并將所述序列化數(shù)據(jù)傳送至外部的服務(wù)器進行存儲。
優(yōu)選地,所述調(diào)整模塊,進一步用于根據(jù)所述調(diào)整指令,對所述第一標繪圖形的大小、方向、邊界線顏色、邊界線粗細、區(qū)域填充顏色及區(qū)域填充文字中的任意一個或多個進行調(diào)整。
優(yōu)選地,所述存儲模塊,包括:創(chuàng)建單元、序列化單元;
所述創(chuàng)建單元,用于創(chuàng)建統(tǒng)一的序列化接口;
所述序列化單元,用于通過所述創(chuàng)建單元創(chuàng)建的序列化接口對所述底圖的參數(shù)及所述第二標繪圖形的參數(shù)進行序列化,形成封裝在同一個數(shù)據(jù)包中的所述序列化數(shù)據(jù)。
優(yōu)選地,所述存儲模塊,進一步用于根據(jù)預定義的二進制序列化方法,對所述底圖的參數(shù)及所述第二標繪圖形的參數(shù)進行序列化,形成二進制的所述序列化數(shù)據(jù)。
本發(fā)明實施例提供了一種動態(tài)標繪方法及裝置,根據(jù)外部輸入的指令在已有的的標繪圖形類型中確定目標標繪圖形類型。在預設(shè)的底圖上,繪制出與所述目標標繪圖形類型對應(yīng)的初始標繪圖形,即第一標繪圖形。根據(jù)外部輸入的調(diào)整指令,對所述初始標繪圖形進行相應(yīng)的調(diào)整從而形成動態(tài)標繪,即第二標繪圖形。對所述底圖的參數(shù)及所述動態(tài)標繪的參數(shù)進行序列化,形成序列化數(shù)據(jù),并將所述序列化數(shù)據(jù)傳送至數(shù)據(jù)庫中進行存儲。由此可見,本發(fā)明實施例通過對已完成的動態(tài)標繪以及動態(tài)標繪所在的底圖進行序列化,從而使得已完成的動態(tài)標繪能夠存儲到數(shù)據(jù)庫中,從而解決了已完成的動態(tài)標繪不能保存的問題。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1是本發(fā)明一個實施例提供的一種動態(tài)標繪方法的流程圖;
圖2是本發(fā)明一個實施例提供的另一種動態(tài)標繪方法的流程圖;
圖3是本發(fā)明一個實施例提供的一種動態(tài)標繪裝置的結(jié)構(gòu)示意圖;
圖4是本發(fā)明一個實施例提供的另一種動態(tài)標繪裝置的結(jié)構(gòu)示意圖。
具體實施方式
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例,基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
如圖1所示,本發(fā)明實施例提供了一種動態(tài)標繪方法,該方法可以包括以下步驟:
步驟101,對至少一個標繪圖形類型進行展示。
步驟102,接收外部對在所述展示的至少一個標繪圖形類型中的目標標繪圖形類型進行的觸發(fā)。
步驟103,根據(jù)接收到的所述觸發(fā),在預設(shè)的底圖上繪制與所述目標標繪圖形類型相對應(yīng)的第一標繪圖形。
步驟104,根據(jù)外部輸入的調(diào)整指令,對所述第一標繪圖形進行調(diào)整,形成第二標繪圖形。
步驟105,對所述底圖的參數(shù)及所述第二標繪圖形的參數(shù)進行序列化,形成序列化數(shù)據(jù)。
步驟106,將所述序列化數(shù)據(jù)傳送至外部的服務(wù)器進行存儲。
在本發(fā)明的一個實施例中,根據(jù)外部輸入的指令在已有的的標繪圖形類型中確定目標標繪圖形類型。在預設(shè)的底圖上,繪制出與所述目標標繪圖形類型對應(yīng)的初始標繪圖形,即第一標繪圖形。根據(jù)外部輸入的調(diào)整指令,對所述初始標繪圖形進行相應(yīng)的調(diào)整從而形成動態(tài)標繪,即第二標繪圖形。對所述底圖的參數(shù)及所述動態(tài)標繪的參數(shù)進行序列化,形成序列化數(shù)據(jù),并將所述序列化數(shù)據(jù)傳送至數(shù)據(jù)庫中進行存儲。由此可見,本發(fā)明實施例通過對已完成的動態(tài)標繪以及動態(tài)標繪所在的底圖進行序列化,從而使得已完成的動態(tài)標繪能夠存儲到數(shù)據(jù)庫中,從而解決了已完成的動態(tài)標繪不能保存的問題。
為了能更好的在底圖上展示用戶想了解的態(tài)勢,本發(fā)明的一個實施例提供了多種標繪圖形類型,包括:點、弧線、曲線、圓、橢圓、弓形、扇形、曲面線、集結(jié)地、多邊形、鉗擊、直箭頭、細直箭頭、突擊方向、進攻方向、燕尾進攻方向、分隊戰(zhàn)斗行動、燕尾分隊戰(zhàn)斗行動中的任意一個或多個。
在繪制好第一標繪圖形后,用戶可以根據(jù)實際需要,對所述第一標繪圖進行相應(yīng)的調(diào)整,在本發(fā)明的一個實施例中,根據(jù)外部輸入的調(diào)整指令,對所述第一標繪圖形進行調(diào)整,包括:
根據(jù)所述調(diào)整指令,對所述第一標繪圖形的大小、方向、邊界線顏色、邊界線粗細、區(qū)域填充顏色及區(qū)域填充文字中的任意一個或多個進行調(diào)整。
例如,底圖上存在已繪制的箭頭a,對應(yīng)第一標繪圖形的參數(shù)為:長度50mm,箭頭指示方向為東,邊界線顏色和區(qū)域填充顏色為紅色,邊界線粗細為1mm,填充文字為黑色。相應(yīng)地,第二標繪圖形的參數(shù)為:長度60mm,箭頭指示方向為北,邊界線顏色和區(qū)域填充顏色為藍色,邊界線粗細為無,填充文字為黑色,則用戶可以通過相應(yīng)的外部輸入設(shè)備輸入調(diào)整指令對箭頭a做出相應(yīng)的調(diào)整。
為了能保證存儲的動態(tài)標繪在下一次調(diào)用時可以準確地展示相應(yīng)的態(tài)勢,在本發(fā)明的一個實施例中,分別對底圖的參數(shù)和第二標繪圖形的參數(shù)進行序列化。
所述底圖的參數(shù)包括:所述底圖的中心點坐標、層級;
所述第二標繪圖形的參數(shù)包括:所述第二標繪圖形的大小、方向、邊界線顏色、邊界線粗細、區(qū)域填充顏色及區(qū)域填充文字中的任意一個或多個。
對第二標繪圖形的參數(shù)進行序列化,可以存儲動態(tài)標繪的數(shù)據(jù);對底圖的中心點坐標、層級進行序列化可以避免由于底圖的差異而引起的動態(tài)標繪不能準確地展示相應(yīng)的態(tài)勢的問題。例如,已序列化底圖中心點坐標為(105e,30n),已序列化層級為2。在下次調(diào)用時,底圖中心點坐標為(107e,28n),則已存儲的動態(tài)標繪,根據(jù)已序列化的層級,在已序列化的中心點坐標(105e,30n)展示相應(yīng)的態(tài)勢。
當用戶用多個動態(tài)標繪展示態(tài)勢時,現(xiàn)有的保存方法分別對每個動態(tài)標繪進行保存,再次調(diào)用的時候只能一次調(diào)用一個,這使得原為一體的動態(tài)標繪不能同時在底圖上展示相應(yīng)的態(tài)勢,從而降低了相應(yīng)態(tài)勢的展示效果。為了能夠同時調(diào)用多個動態(tài)標繪,在本發(fā)明的一個實施例中,所述步驟105,包括:
創(chuàng)建統(tǒng)一的序列化接口;
通過所述序列化接口對所述底圖的參數(shù)及所述第二標繪圖形的參數(shù)進行序列化,形成封裝在同一個數(shù)據(jù)包中的所述序列化數(shù)據(jù)。
例如,用戶用3個動態(tài)標繪來展示態(tài)勢,在對底圖的參數(shù)及動態(tài)標繪的參數(shù)進行序列化后得到5條序列化數(shù)據(jù),將所有序列化數(shù)據(jù)封裝在一個數(shù)據(jù)包中。下一次調(diào)用時,直接讀取數(shù)據(jù)包中所有序列化數(shù)據(jù),則所述3個動態(tài)圖標可以作為一個整體將對應(yīng)的態(tài)勢展示給用戶。
為了能夠保證序列化的動態(tài)標繪不失真,在本發(fā)明的一個實施例中,所述步驟105,還包括:
根據(jù)預定義的二進制序列化方法,對所述底圖的參數(shù)及所述第二標繪圖形的參數(shù)進行序列化,形成二進制的所述序列化數(shù)據(jù)。
二進序列化方法能夠保持類型保真度,即,對序列化的數(shù)據(jù)進行反序列化后得到的數(shù)據(jù)與序列化之前的數(shù)據(jù)保持一致。
下面以監(jiān)測洪水狀況為例,對本發(fā)明實施例提供的動態(tài)標繪的方法作進一步詳細說明,如圖2所示,該方法可以包括如下步驟:
步驟201,展示標繪圖形類型,根據(jù)外部輸入的指令,從標繪圖形類型中確定目標標繪圖形。
具體地,用圓代表受災(zāi)區(qū)域,燕尾進攻方向代表洪水蔓延趨勢,進攻方向代表抗洪相關(guān)人員及物資聚集路線,直箭頭代表居民轉(zhuǎn)移路線。
步驟202,在確定所述目標標繪圖形之后,根據(jù)外部輸入的指令,在底圖上繪制第一標繪圖形。
步驟203,根據(jù)外部輸入的調(diào)整指令對所述第一標繪圖形進行相應(yīng)修改,形成第二標繪圖形。
具體地,根據(jù)實際情況改變圓的大小來反映受災(zāi)區(qū)域;用藍色表示洪水蔓延方向以及受災(zāi)區(qū)域,用紅色表示抗洪相關(guān)人員及物資聚集路線并在圖上注明人員所屬單位和物資名稱;調(diào)整箭頭方向設(shè)定居民轉(zhuǎn)移路線;取消箭頭的邊界線使底圖的態(tài)勢顯得更清晰。
步驟204,對所述底圖的參數(shù)及所述第二標繪圖形的參數(shù)進行二進制序列化,形成序列化數(shù)據(jù)。
具體地,所述底圖的參數(shù)包括:底圖中心點坐標為(105e,30n),層級為2。所述第二標繪圖形的參數(shù)包括:圓心坐標為(107e,28n),半徑為50mm,顏色為紅色;進攻方向的箭頭長度為102mm,寬度40mm,顏色為藍色,箭頭上標明的人員所屬單位和物資名稱等,分別對上述參數(shù)進行二進制序列化,形成數(shù)列化數(shù)據(jù)。
步驟205,通過創(chuàng)建統(tǒng)一接口將所述序列化數(shù)據(jù)封裝成數(shù)據(jù)包。
在本發(fā)明一個實施例中,步驟205所述過程通過預先建立數(shù)據(jù)表來實現(xiàn),數(shù)據(jù)表如表1所示:
表1
步驟206,將所述數(shù)據(jù)包發(fā)送至數(shù)據(jù)庫進行存儲。
步驟207,根據(jù)所述表1調(diào)用數(shù)據(jù)包中已存儲的數(shù)列化數(shù)據(jù)。
根據(jù)表1,對所述序列化數(shù)據(jù)進行反序列化,在當前底圖上展示相應(yīng)的態(tài)勢,并對與當前態(tài)勢進行比較,從而制定下一步?jīng)Q策。
如圖3所示,本發(fā)明實施例提供了一種動態(tài)標繪裝置,包括:接收模塊301、繪制模塊302、調(diào)整模塊303及存儲模塊304;其中,
接收模塊301,用于對至少一個標繪圖形類型進行展示,并接收外部對在所述展示的至少一個標繪圖形類型中的目標標繪圖形類型進行的觸發(fā);
繪制模塊302,用于根據(jù)所述接收模塊301接收到的觸發(fā),在預設(shè)的底圖上繪制與所述目標標繪圖形類型相對應(yīng)的第一標繪圖形;
調(diào)整模塊303,用于根據(jù)外部輸入的調(diào)整指令,對所述繪制模塊302繪制的第一標繪圖形進行調(diào)整,形成第二標繪圖形;
存儲模塊304,用于對所述底圖的參數(shù)及所述調(diào)整模塊303形成的所述第二標繪圖形的參數(shù)進行序列化,形成序列化數(shù)據(jù),并將所述序列化數(shù)據(jù)傳送至外部的服務(wù)器進行存儲。
在本發(fā)明的一個實施例中,調(diào)整模塊303進一步用于根據(jù)所述調(diào)整指令,對所述第一標繪圖形的大小、方向、邊界線顏色、邊界線粗細、區(qū)域填充顏色及區(qū)域填充文字中的任意一個或多個進行調(diào)整。
如圖4所示,在本發(fā)明的一個實施例中,存儲模塊304包括:創(chuàng)建單元3041,序列化單元3042;其中
創(chuàng)建單元3041,用于創(chuàng)建統(tǒng)一的序列化接口;
序列化單元3042,用于通過所述創(chuàng)建單元3041創(chuàng)建的序列化接口對所述底圖的參數(shù)及所述第二標繪圖形的參數(shù)進行序列化,形成封裝在同一個數(shù)據(jù)包中的所述序列化數(shù)據(jù)。
在本發(fā)明的一個實施例中,存儲模塊304進一步用于根據(jù)預定義的二進制序列化方法,對所述底圖的參數(shù)及所述第二標繪圖形的參數(shù)進行序列化,形成二進制的所述序列化數(shù)據(jù)。
上述裝置內(nèi)的各單元之間的信息交互、執(zhí)行過程等內(nèi)容,由于與本發(fā)明方法實施例基于同一構(gòu)思,具體內(nèi)容可參見本發(fā)明方法實施例中的敘述,此處不再贅述。
本發(fā)明實施例提供了一種可讀介質(zhì),包括執(zhí)行指令,當存儲控制器的處理器執(zhí)行所述執(zhí)行指令時,所述存儲控制器執(zhí)行本發(fā)明任意一個實施例中提供的方法。
本發(fā)明實施例提供了一種存儲控制器,包括:處理器、存儲器和總線;
所述存儲器用于存儲執(zhí)行指令,所述處理器與所述存儲器通過所述總線連接,當所述存儲控制器運行時,所述處理器執(zhí)行所述存儲器存儲的所述執(zhí)行指令,以使所述存儲控制器執(zhí)行本發(fā)明任意一個實施例中提供的方法。
本發(fā)明各個實施例至少具有如下有益效果:
1、在本發(fā)明的一個實施例中,根據(jù)外部輸入的指令在已有的的標繪圖形類型中確定目標標繪圖形類型。在預設(shè)的底圖上,繪制出與所述目標標繪圖形類型對應(yīng)的初始標繪圖形,即第一標繪圖形。根據(jù)外部輸入的調(diào)整指令,對所述初始標繪圖形進行相應(yīng)的調(diào)整從而形成動態(tài)標繪,即第二標繪圖形。對所述底圖的參數(shù)及所述動態(tài)標繪的參數(shù)進行序列化,形成序列化數(shù)據(jù),并將所述序列化數(shù)據(jù)傳送至數(shù)據(jù)庫中進行存儲。由此可見,本發(fā)明實施例通過對已完成的動態(tài)標繪以及動態(tài)標繪所在的底圖進行序列化,從而使得已完成的動態(tài)標繪能夠存儲到數(shù)據(jù)庫中,從而解決了已完成的動態(tài)標繪不能保存的問題。
2、本發(fā)明的一個實施例中,用戶可以根據(jù)實際需要,通過外部輸入的調(diào)整指令,對第一標繪圖形進行相應(yīng)的修改,方便用戶對態(tài)勢進行準確地展示。
3、本發(fā)明的一個實施例中,通過對底圖的參數(shù)及第二標繪圖形的參數(shù)進行序列化,對第二標繪圖形的參數(shù)序列化保證了再次調(diào)用時動態(tài)標繪的準確性;對底圖的參數(shù)序列化,避免了由于底圖不同而引起的動態(tài)標繪不能準確地展示對應(yīng)的態(tài)勢的問題。
4、本發(fā)明的一個實施例中,通過創(chuàng)建統(tǒng)一的序列化接口實現(xiàn)同時調(diào)用多個動態(tài)標繪,使得多個動態(tài)標繪可以作為一個整體將對應(yīng)的態(tài)勢展示給用戶,調(diào)高了相應(yīng)態(tài)勢的展示效果。
5、本發(fā)明的一個實施例中,通過預定義的二進制序列化方法對對所述底圖的參數(shù)及所述第二標繪圖形的參數(shù)進行序列化,二進序列化方法能夠使對序列化的數(shù)據(jù)進行反序列化后得到的數(shù)據(jù)與序列化之前的數(shù)據(jù)保持一致,保證了動態(tài)標繪以及相應(yīng)態(tài)勢的準確性。
需要說明的是,在本文中,諸如第一和第二之類的關(guān)系術(shù)語僅僅用來將一個實體或者操作與另一個實體或操作區(qū)分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個······”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同因素。
最后需要說明的是:以上所述僅為本發(fā)明的較佳實施例,僅用于說明本發(fā)明的技術(shù)方案,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi)所做的任何修改、等同替換、改進等,均包含在本發(fā)明的保護范圍內(nèi)。