本申請涉及計算機領域,尤其涉及電子地圖數(shù)據(jù)的存儲方法及裝置。
背景技術:
:電子地圖又稱數(shù)字地圖,是利用計算機技術,以數(shù)字方式存儲和查閱的地圖。相對于傳統(tǒng)的紙質地圖,電子地圖覆蓋面廣、查找容易、易于修改和更新,方便用戶使用。電子地圖的一個重要存儲方式是按照矢量數(shù)據(jù)方式存儲。矢量數(shù)據(jù)文件中的每個地圖元素都是一個自成一體的實體,它具有顏色、形狀、輪廓、大小和屏幕位置等屬性信息。地圖元素可以劃分為以下三種類型:點元素(如poi)、線元素(如道路、地鐵、鐵路、線性水系、天橋、地下通道等)和面元素(如綠地、面狀水系、樓塊等)?,F(xiàn)有電子地圖的矢量數(shù)據(jù)存儲方式為:針對每一種類型的地圖元素,確定出該類型的地圖元素中包含的屬性信息項最多的地圖元素,以該地圖元素為參考標準確定為該類型的每一個地圖元素分配固定長度的存儲空間。如點元素中,有些poi包括的屬性信息為10項,有些poi包括的屬性信息為20項、50項甚至100項,假設包含屬性信息最多的poi包含100項,則按照該點元素包含的屬性信息為參考標準,則確定為點元素中分配一個能夠存儲100項屬性信息的存儲空間。但是,實際上并不是點元素中的所有poi均會具有100項屬性信息,因此為這些poi分配能夠存儲100項屬性信息的存儲空間實際上比較浪費存儲空間,存儲空間得不到有效地利用。同理,線元素和面元素的存儲方式均存 在以上技術問題。申請內容本申請?zhí)峁┝艘环N電子地圖數(shù)據(jù)存儲方法及裝置,以降低電子地圖數(shù)據(jù)占用的存儲空間。第一方面,本申請實施例提供了一種電子地圖數(shù)據(jù)存儲方法,方法包括:針對電子地圖的每一個瓦片,包括:將瓦片中的地圖元素按照點元素、線元素和面元素進行分類,得到至少一個地圖元素類;分別根據(jù)每一個地圖元素類包含的地圖元素的屬性信息的數(shù)據(jù)總量,為所述地圖元素類分配相應大小的存儲空間;將每一個地圖元素類包含的地圖元素的屬性信息存儲至對應的存儲空間中。第二方面,本申請實施例提供了一種電子地圖數(shù)據(jù)存儲裝置。該裝置包括:地圖元素分類模塊、存儲空間分配模塊、屬性信息存儲模塊,其中:該地圖元素分類模塊,用于針對電子地圖的每一個瓦片,將瓦片中的地圖元素按照點元素、線元素和面元素進行分類,得到至少一個地圖元素類;存儲空間分配模塊,用于分別根據(jù)每一個地圖元素類包含的地圖元素的屬性信息的數(shù)據(jù)總量,為地圖元素類分配相應大小的存儲空間;屬性信息存儲模塊,用于將每一個地圖元素類包含的地圖元素的屬性信息存儲至對應的存儲空間中。本申請實施例中,針對每一個地圖元素類,根據(jù)該地圖元素類包含的地圖元素的屬性信息的數(shù)據(jù)總量,為所述地圖元素類分配相應大小的存儲空間,即分配的存儲空間大小與地圖元素類包含的地圖元素的屬性信息的數(shù)據(jù)總量對應,克服現(xiàn)有技術根據(jù)地圖元素中屬性信息最多的地圖元素為參考標準為每個地圖元素分配固定大小的存儲空間從而導致屬性信息較少的地圖元素也會占用很大一塊存儲空間,繼而導致存儲空間較為浪費的問題。本申請技術方案對電子地圖數(shù)據(jù)存儲方式進行優(yōu)化,使電子地圖數(shù)據(jù)占 用的存儲空間大大減少。這對于內存空間較少的終端設備而言是非常實用的。附圖說明為了更清楚地說明本申請實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹。圖1為本申請實施例提供的電子地圖數(shù)據(jù)存儲方法流程圖;圖2為面元素的屬性信息中位置屬性信息示意圖;圖3為一個瓦片的示意圖;圖4為本申請實施例提供的電子地圖數(shù)據(jù)存儲裝置的結構示意圖。具體實施方式下面將結合附圖,對本申請實施例中的技術方案進行清楚、完整地描述。本申請實施例針對電子地圖中的每一個瓦片,將各瓦片中的點元素、線元素、面元素進行分類存儲,得到點元素類、線元素類、面元素類;并且根據(jù)每一個地圖元素類(即點元素類或線元素類或面元素類)包含的地圖元素的屬性信息(如名稱、樣式、位置等)的數(shù)據(jù)總量,為各地圖元素類分配相應大小的存儲空間;再將每一個地圖元素類包含的地圖元素的屬性信息存儲至對應的存儲空間中。因此,對于每一個地圖元素類,為該地圖元素類分配的存儲空間的大小與該地圖元素類包含的各地圖元素實際包含的屬性信息的數(shù)據(jù)量相應,不會存在分配的存儲空間遠遠大于地圖元素類包含的地圖元素的屬性信息的數(shù)據(jù)量從而導致存儲空間浪費的問題。本申請實施例提供了一種電子地圖數(shù)據(jù)存儲方法,該方法的執(zhí)行主體可以是位于網(wǎng)絡側的服務器,也可以是位于用戶側的終端設備(如手機、pad、導航儀等)。如圖1所示,該方法針對電子地圖中的每一個瓦片,執(zhí)行以下步驟101、步驟102和步驟103,其中:步驟101,將瓦片中的地圖元素按照點元素、線元素和面元素進行分類,得到至少一個地圖元素類,即得到點元素類、線元素類、面元素類中的一個或多個。在步驟101之前還包括:獲取電子地圖源數(shù)據(jù),該電子地圖源數(shù)據(jù)可以是由具有地圖測繪資質的商家預先通過采集、測繪等方式得到的數(shù)據(jù),該電子地圖源數(shù)據(jù)中包括所有地圖元素的源數(shù)據(jù),即每個地圖元素對應一條源數(shù)據(jù),該源數(shù)據(jù)中包含地圖元素的屬性信息。并且按照行政區(qū)域(如省、市、區(qū)等)將電子地圖源數(shù)據(jù)分開存儲以形成不同的數(shù)據(jù)文件。在各數(shù)據(jù)文件中數(shù)據(jù)的存儲格式可以shp或dbf。更細致的,本申請實施例中,針對每個行政區(qū)域對應的數(shù)據(jù)文件,將該數(shù)據(jù)文件中的電子地圖源數(shù)據(jù)按照不同的比例尺分別存儲為多個子文件;在每一個子文件中,將該行政區(qū)劃的電子地圖數(shù)據(jù)劃分成多個網(wǎng)格(即瓦片,tile),每個瓦片中包含有點元素、線元素和面元素。每個瓦片占據(jù)電子地圖中的一定地理區(qū)域,拼接行政區(qū)域中的所有瓦片即可得到該行政區(qū)域的電子地圖。本申請步驟101即為將前述每一個瓦片中的地圖元素按照點元素、線元素和面元素進行分類以得到至少一個地圖元素類。點元素如可以為電子地圖數(shù)據(jù)中的poi、路牌、路名等,點元素的屬性信息可以包括但不僅限于名稱、地址、位置(為一個經(jīng)緯度坐標或像素坐標)、類型、樣式、電話號碼、營業(yè)信息、郵編等。例如,一個點元素為一家餐廳,其屬性信息包括該餐廳名稱、樣式、位置、地址、電話、營業(yè)時間等。線元素如可以為電子地圖數(shù)據(jù)中的道路、地鐵、鐵路、線性水系(如河流)、天橋、隧道、地下通道等,線元素的屬性信息可以包括但不僅限于名稱、位置(包括構成線元素的多個形狀點的經(jīng)緯度坐標或像素坐標)、樣式、道路類型、道路等級、路口、link信息等。如某一線元素為一條道路,則該 線元素包含的屬性信息為:道路名稱、位置、樣式、道路級別、道路包含的多個鏈路(即link)、節(jié)點(即node,如路口、紅綠燈)等。面元素如可以為綠地、面狀水系(如湖泊等)、樓塊、景區(qū)等,其多數(shù)為一個封閉的多邊形區(qū)域,面元素的屬性信息可以包括但不僅限于名稱、位置(如包括構成所述面元素的形狀點的經(jīng)緯度坐標或屏幕坐標)、樣式、地址、類型、級別、面積。例如,一面元素為一個公園,其包含的屬性信息包括:公園名稱、位置、地址、樣式、等級等,對于面元素的屬性信息中的位置屬性信息可通過圖2及以下內容闡釋。圖2是面元素的屬性信息中的位置屬性信息的其中一個示意圖。假設該圖2示出的是一個公園的位置屬性信息。該公園的位置屬性信息包括多個形狀點的經(jīng)緯度坐標。形狀點為該面元素的邊界點,即連接面元素的形狀點即可得到該面元素的空間形狀及位置。步驟102,分別根據(jù)每一個地圖元素類包含的地圖元素的屬性信息的數(shù)據(jù)總量,為該地圖元素類分配相應大小的存儲空間。例如,地圖元素類為點元素類,則根據(jù)該點元素類的所有點元素包含的屬性信息的數(shù)據(jù)總量,為該點元素類分配與該數(shù)據(jù)總量相應大小的存儲空間,該存儲空間用于存儲點元素類包含的各點元素的屬性信息。為線元素類和面元素類分配存儲空間的方式類似,在此不再贅述。步驟103,將每一個地圖元素類包含的地圖元素的屬性信息存儲至對應的存儲空間中。優(yōu)選地,每一個地圖元素類包含的各地圖元素的屬性信息中均會包括樣式屬性信息,且可能會存在多個地圖元素的樣式屬性信息相同,若存儲該地圖元素類中的每一個地圖元素的樣式屬性信息則可能需要占用大量的存儲空間,因此,為進一步節(jié)省存儲空間,本實施例對于樣式屬性信息相同的地圖元素分為一類,針對該一類地圖元素僅存儲一次樣式屬性信息即可,因此, 前述步驟103的一個實現(xiàn)方式如下:針對每一個地圖元素類,執(zhí)行以下步驟:步驟103a、將該地圖元素類中屬性信息中的樣式屬性信息相同的地圖元素分為一類,得到至少一個地圖元素子類;步驟103b、依次將各地圖元素子類包含的地圖元素的屬性信息連續(xù)存儲在該地圖元素類對應的存儲空間中。如圖3所示為一個瓦片,以點元素為例,在該瓦片中點元素為公園的點元素其在電子地圖中繪制出來的樣式是一樣的,如朝陽公園、北海公園;還例如,該瓦片中的點元素為大學的點元素在電子地圖中繪制出的樣式是一樣的,如對外經(jīng)濟貿(mào)易大學、中國中醫(yī)科學院和北京師范大學等。優(yōu)選地,上述步驟103b中依次將各地圖元素子類包含的地圖元素的屬性信息連續(xù)存儲在該地圖元素類對應的存儲空間中,具體實現(xiàn)可如下:依次對每一個地圖元素子類,執(zhí)行以下步驟103b-1和步驟103b-2,其中:步驟103b-1:在地圖元素子類所屬的地圖元素類對應的存儲空間中存儲該地圖元素子類的樣式屬性信息;步驟103b-2:依次存儲各地圖元素的除樣式屬性信息之外的其他屬性信息。如下表1所示。假設該表1存儲的屬性信息為某一地圖元素類包含的地圖元素的屬性信息,通過表1可知,對于一個地圖元素子類僅存儲一次樣式屬性信息,無需存儲該地圖元素子類中所有地圖元素的樣式屬性信息,因此,節(jié)省了存儲空間。表1本實施例中,針對每一個地圖元素類,其包含的每一個地圖元素均具有一條源數(shù)據(jù),該條源數(shù)據(jù)包含該地圖元素的所有屬性信息,地圖元素的源數(shù)據(jù)的屬性信息按照預設的與該地圖元素所屬的地圖元素類對應的字段模板存儲,如每一個字段對應一個屬性信息。屬于同一個地圖元素類的所有地圖元素采用的字段模板相同,該字段模板包含的字段的數(shù)目與該地圖元素類中包含屬性信息項最多的一個地圖元素所包含的屬性信息項的數(shù)量一致。比如說,點元素類中包含屬性信息項最多的一個地圖元素包含100個屬性信息項,則點元素類的點元素的源數(shù)據(jù)采用的字段模板包括100個字段,每個字段用于存儲一個對應的屬性信息。點元素的源數(shù)據(jù)中若包含字段模板中字段對應的屬性信息,則在該字段中存儲該點元素的相應屬性信息;若不包含字段模板中字段對應的屬性信息,則在該字段中存儲信息為空。如下表2所示。表2以點元素類為例,該點元素類中包含屬性信息項最多的點元素包含7個屬性信息項,則點元素的源數(shù)據(jù)采用的字段模板包含7個字段,該7個字段分別對應名稱、位置、地址、電話、營業(yè)信息、類型、樣式。其中點元素poi1包含5個屬性信息,點元素poi2包含6個屬性信息,點元素poi3包含6個屬性信息,則在相應的字段存儲相應的屬性信息,如表2所示。點元素類對應的字段模板、線元素類對應的字段模板和面元素類對應的字段模板有所不同。下面繼續(xù)闡述如何依次存儲各地圖元素的除樣式屬性信息之外的其他屬性信息。在一個示例中,前述步驟103b-2中,依次存儲各地圖元素的除樣式屬性信息之外的其他屬性信息,具體可如下:依次按照預置的屬性信息讀取順序讀取每一個地圖元素包含的除樣式屬性信息之外的每一項屬性信息,針對每次讀取操作執(zhí)行以下步驟a:若該地圖元素中包含當前讀取屬性信息則存儲該地圖元素的當前讀取屬性信息并讀取下一屬性信息;若該地圖元素中不包含該當前讀取屬性信息則讀取下一屬性信息;依此直到按照該屬性信息讀取順序讀取完該地圖元素的屬性信息。本申請實施例中,每一個地圖元素類對應的屬性信息讀取順序根據(jù)該地圖元素類對應的字段模板生成,即屬性信息讀取順序為字段模板中的字段先 后順序,因此只要根據(jù)該屬性信息讀取順序依次即可讀取出地圖元素的源數(shù)據(jù)中包含的所有屬性信息。優(yōu)選地,在節(jié)省空間的基礎上,以便于后續(xù)快速讀取地圖元素的屬性信息,本申請實施例可以預先針對某些屬性信息設定為特殊屬性信息(是指并非所有地圖元素均會包含的屬性信息),并在存儲地圖元素的特殊屬性信息時增加一位標志位,在該標志位中表明該地圖元素是否包含該特殊屬性信息,以便后續(xù)讀取該地圖元素的屬性信息時能夠快速獲知地圖元素包含哪些屬性信息和不包含哪些屬性信息。例如,對于點元素類而言,所有點元素均會包括名稱、地址、位置、類型和樣式等,但是并非所有點元素均包括電話、營業(yè)信息等,因此,可以將點元素類中的電話、營業(yè)信息等屬性信息設置為特殊屬性信息。還例如,對于線元素類而言,所有線元素均會包括名稱、位置、道路級別和樣式等,但是并非所有線元素均包括路口、紅綠燈、車道數(shù)等,因此,可以將線元素類中的路口、紅綠燈和車道數(shù)等設置為特殊屬性信息。還例如,對于面元素類而言,所有面元素均會包括名稱、位置、級別和樣式等,但是并非所有面元素均包括面積、樓層高度等,因此,可以將面元素類中的面積、樓層高度等設置為特殊屬性信息。因此,前述依次按照預置的屬性信息讀取順序讀取每一個地圖元素包含的除樣式屬性信息之外的每一項屬性信息,針對每次讀取操作該執(zhí)行以下步驟b:步驟b:判斷當前讀取屬性信息是否為預置的特殊屬性信息;若否則執(zhí)行前述步驟a;若是則增加標志位,并在該標志位中填寫用于表明該地圖元素中是否包含該當前讀取屬性信息的標識,并執(zhí)行前述步驟a;其中,該特殊屬性信息為預置的并非所有地圖元素均包含的屬性信息。具體地,前述標志位占用一個bit,在該標志位標識該地圖元素是否包含當前讀取屬性信息。如標志位中的標識為0則表示不存在,標識為1則表示存在。假設當前讀取的是點元素的電話屬性信息,則確定電話為特殊屬性信 息,此時增加一個標志位,在該標志位中填寫用于表示該點元素是否包含電話屬性信息的標識。標識可以用二進制的0和1表示,也可以用其他字符表示,如標識為n則表示不存在,標識為y則表示存在,本申請并不做嚴格限定。下面結合表2詳細闡述,表2中存儲的為點元素屬性信息,假設郵編為特殊屬性信息,點元素類對應的字段模板為名稱、位置和郵編,則屬性信息讀取順序先后依次為名稱、位置和郵編,則按照前述步驟a和步驟b存儲點元素的屬性信息可如下表2。樣式1名稱1位置11郵編1名稱2位置20名稱3位置31郵編3…………樣式2名稱m位置n0名稱m位置p1郵編s名稱t位置q0………………樣式3名稱h位置v0………………表2由前述內容可知,所有的地圖元素均會包括名稱,電子地圖中地圖元素的名稱一般是一串漢字字符串,占用的內存很大,并且在一個電子地圖中名稱一致的地圖元素非常多,若存儲每一個地圖元素的漢子字符串名稱則會占用大量的存儲空間。比如說點元素類中,點元素名稱為麥當勞、肯德基、中國銀行、建設銀行等的點元素非常多;還例如,線元素類中,線元素名稱為中山路、長安路等的線元素非常多;還例如,面元素類中,面元素名稱為中山公園、朝陽公園等的面元素非常多。在一張電子地圖中存在大量地圖元素的名稱相同。因為,更優(yōu)的,為進一步節(jié)省存儲空間,針對每一個地圖元素類,預先在某一存儲空間(后續(xù)稱為名稱存儲空間)統(tǒng)一存儲該地圖元素類包含的所有地圖元素的名稱,排除冗余,如針對北京市的電子地圖,地圖元素名稱為麥當勞的地圖元素,在該存儲空間僅存儲一次麥當勞,無需存儲所有地圖元素的名稱。同理,對于點元素類和面元素類,還可以分別在某一存 儲空間(后續(xù)稱為地址存儲空間)預先存儲點元素類的所有點元素的地址以及預先存儲面元素類的所有面元素的地址,排除冗余。因此,優(yōu)選地,若當前讀取屬性信息為地圖元素的名稱或地址,則所述步驟a中存儲所述地圖元素的當前讀取屬性信息,具體包括:從預置的名稱存儲空間中讀取所述地圖元素的名稱在所述名稱存儲空間中的名稱偏移量,并將所述名稱偏移量替代所述地圖元素的名稱作為地圖元素的當前讀取屬性信息存儲;其中名稱存儲空間中存儲有各地圖元素類包含的地圖元素的名稱;從預置的地址存儲空間中讀取所述地圖元素的地址在所述地址存儲空間中的地址偏移量,并將所述地址偏移量替代所述地圖元素的地址作為地圖元素的當前讀取屬性信息存儲;其中地址存儲空間中存儲有各地圖元素類包含的地圖元素的地址。可參見以下表3和表4。由于在存儲地圖元素的名稱/地址時并不直接存儲名稱的漢字字符串,而是存儲其名稱/地址在名稱存儲空間/地址存儲空間中的名稱/地址偏移量,而名稱/地址偏移量一般為一個數(shù)值,而數(shù)值占用的存儲空間較小,因此用數(shù)值來替代漢字字符串,節(jié)省了存儲空間。表3僅示意性地示出在名稱存儲空間中存儲線元素類中線元素的名稱名稱偏移量名稱0京新高速5大廣高速…………表3表4僅示意性地示出在地址存儲空間中存儲點元素類中點元素的名稱表4本發(fā)明實施例中,由于線元素和面元素的位置屬性信息中包含線元素和面元素的多各形狀點的經(jīng)緯度坐標信息,若直接存儲線元素的所有形狀點的經(jīng)緯度坐標和面元素的所有形狀點的經(jīng)緯度坐標,將會耗費大量的存儲空間,因此,為進一步節(jié)省存儲空間,本發(fā)明實施例中,針對線元素類中的線元素,在存儲該線元素的位置信息時僅存儲首個形狀點的經(jīng)緯度坐標,其他形狀點的經(jīng)緯度坐標用該形狀點與前一個形狀點的經(jīng)緯度坐標差值來替代;同理,針對面元素類中的面元素,在存儲該面元素的位置信息時僅存儲首個形狀點的經(jīng)緯度坐標,其他形狀點的經(jīng)緯度坐標用該形狀點與前一個形狀點的經(jīng)緯度坐標差值來替代,或者其他形狀點的經(jīng)緯度坐標用該形狀點與首個形狀點的經(jīng)緯度坐標差值來替代。由于差值比實際的經(jīng)緯度坐標占用的內存空間小,因此該種存儲方式更進一步節(jié)省了存儲空間。因此,前述若所述地圖元素類對應的地圖元素包含的位置屬性信息包括至少兩個形狀點的經(jīng)緯度坐標時;若當前讀取屬性信息為地圖元素的位置屬性信息;則所述步驟a中存儲所述地圖元素的當前讀取屬性信息,具體包括:依次存儲該地圖元素的首形狀點的坐標以及后一形狀點與前一形狀點的坐標差值。還或者,在又一個示例中,將點元素類和/或線元素類和/或面元素類的地圖元素的經(jīng)緯度坐標轉換成像素坐標,在存儲該地圖元素的位置信息時存儲相應的各經(jīng)緯度坐標對應的像素坐標而不是經(jīng)緯度坐標,由于像素坐標相對于經(jīng)緯度坐標來說,數(shù)值更小,因此采用像素坐標方式存儲各地圖元素的位置屬性,能夠進一步降低存儲空間。例如,針對電子地圖數(shù)據(jù)中的每一個瓦 片,每個瓦片的橫縱像素坐標的范圍均為(0~256)像素,將每個瓦片的經(jīng)緯度坐標轉換為像素坐標,即將每一瓦片中的地圖元素坐標轉換成像素坐標。在再一個示例中,在電子地圖數(shù)據(jù)中,各地圖元素包含的所有屬性信息的存儲單位是比特。而現(xiàn)有技術中,最小存儲單位是字節(jié),即8個比特。也就是說,在現(xiàn)有技術中,即使存儲少量信息,也至少需要8個比特位。因此,以比特為存儲單位存儲電子地圖,相對于以字節(jié)為存儲單位存儲電子地圖,所占用存儲空間更小。本申請實施例中,一方面,針對每一個地圖元素類,根據(jù)該地圖元素類包含的地圖元素的屬性信息的數(shù)據(jù)總量,為所述地圖元素類分配相應大小的存儲空間,即分配的存儲空間大小與地圖元素類包含的地圖元素的屬性信息的數(shù)據(jù)總量對應,克服現(xiàn)有技術根據(jù)地圖元素中屬性信息最多的地圖元素為參考標準為每個地圖元素分配固定大小的存儲空間從而導致屬性信息較少的地圖元素也會占用很大一塊存儲空間,繼而導致存儲空間較為浪費的問題。本申請技術方案對電子地圖數(shù)據(jù)存儲方式進行優(yōu)化,使電子地圖數(shù)據(jù)占用的存儲空間大大減少。這對于內存空間較少的終端設備而言是非常實用的。另一方面,對于每一個地圖元素類而言,該地圖元素類的樣式屬性信息相同的地圖元素分為一類并僅存儲依次樣式屬性信息,因此,無需存儲每一個地圖元素的樣式屬性信息,因此,進一步降低了存儲空間。再一方面,本申請實施例中,在存儲地圖元素的名稱和/地址時,直接存儲該地圖元素的名稱和/或地址在其他存儲空間中的偏移量而不是直接存儲地圖元素的漢子字符串,因此更進一步降低存儲空間。最后一方面,對于線元素和面元素,在存儲其位置信息時并不是直接存儲其所有形狀點的經(jīng)緯度坐標,而是僅存儲首形狀點的經(jīng)緯度坐標,對于其他每個形狀點,存儲該形狀點與前一個形狀點或首形狀點的差值,從而進一步降低了存儲空間。綜上,采用本申請技術方案,相對于現(xiàn)有技術而言大大提高了存儲空間利用率。圖4是本申請一個實施例的一種電子地圖數(shù)據(jù)存儲裝置400。電子地圖數(shù)據(jù)存儲裝置400包括地圖元素分類模塊420、存儲空間分配模塊430、屬性信息存儲模塊440。優(yōu)選地,前述裝置400還可進一步包括源數(shù)據(jù)獲取模塊410。源數(shù)據(jù)獲取模塊410,用于獲取電子地圖源數(shù)據(jù),并針對電子地圖源數(shù)據(jù)中的每一個瓦片,觸發(fā)所述地圖元素分類模塊420;地圖元素分類模塊420,用于針對電子地圖的每一個瓦片,將瓦片中的地圖元素按照點元素、線元素和面元素進行分類,得到至少一個地圖元素類。存儲空間分配模塊430,用于根據(jù)每一個地圖元素類包含的地圖元素的屬性信息的數(shù)據(jù)總量,分別為所述地圖元素類的各地圖元素分配相應大小的存儲空間。屬性信息存儲模塊440,用于將每一個地圖元素類包含的地圖元素的屬性信息存儲至對應的存儲空間中。優(yōu)選地,該屬性信息存儲模塊440包括地圖元素子類獲取模塊441、地圖元素子類存儲模塊442,其中:地圖元素子類獲取模塊441,用于針對每一個地圖元素類,將該地圖元素類中屬性信息中的樣式屬性信息相同的地圖元素分為一類,得到至少一個地圖元素子類。地圖元素子類存儲模塊442,用于針對每一個地圖元素類,依次將各地圖元素子類包含的地圖元素的屬性信息連續(xù)存儲在該地圖元素類對應的存儲空間中。優(yōu)選地,地圖元素子類存儲模塊442具體用于,依次對每一個地圖元素子類執(zhí)行以下步驟:在所述地圖元素子類所屬地圖元素類對應的存儲空間中存儲該地圖元素子類的樣式屬性信息,以及依次存儲各地圖元素的除樣式屬性信息之外的其他屬性信息。優(yōu)選地,該地圖元素子類存儲模塊442針對該依次存儲各地圖元素的除樣式屬性信息之外的其他屬性信息具體用于:依次按照預置的屬性信息讀取順序讀取每一個地圖元素包含的除樣式屬性信息之外的每一項屬性信息;針對每次讀取操作執(zhí)行以下步驟a:若該地圖元素中包含當前讀取屬性信息則存儲該地圖元素的當前讀取屬性信息并讀取下一屬性信息,若該地圖元素中不包含該當前讀取屬性信息則讀取下一屬性信息;依此直到按照該屬性信息讀取順序讀取完該地圖元素的屬性信息。更進一步地,地圖元素子類存儲模塊442針對每次讀取操作,進一步的在執(zhí)行步驟a之前還執(zhí)行以下步驟b:步驟b:判斷當前讀取屬性信息是否為預置的特殊屬性信息,若否則執(zhí)行前述步驟a;若是則:增加標志位,并在該標志位中填寫用于表明該地圖元素中是否包含該當前讀取屬性信息的標識并執(zhí)行前述步驟a;其中,該特殊屬性信息為預置的并非所有地圖元素均包含的屬性信息。具體參見前文表2及其相關內容。進一步地,若該地圖元素子類存儲模塊當前讀取屬性信息為地圖元素的名稱或地址,則在步驟a中存儲所述地圖元素的當前讀取屬性信息具體用于:從預置的名稱存儲空間中讀取該地圖元素的名稱在該名稱存儲空間中的名稱偏移量,并將該名稱偏移量替代該地圖元素的名稱作為地圖元素的當前讀取屬性信息存儲;其中名稱存儲空間中存儲有各地圖元素類包含的地圖元素的名稱;具體可參見前文表3及相關內容闡釋。從預置的地址存儲空間中讀取該地圖元素的地址在該地址存儲空間中的地址偏移量,并將該地址偏移量替代該地圖元素的地址作為地圖元素的當前讀取屬性信息存儲;其中地址存儲空間中存儲有各地圖元素類包含的地圖元素的地址。具體可參見表4及相關內容闡釋。進一步地,若該地圖元素類對應的地圖元素包含的位置屬性信息包括至 少兩個形狀點的經(jīng)緯度坐標時;若該地圖元素子類存儲模塊當前讀取屬性信息為地圖元素的位置屬性信息;則該地圖元素子類存儲模塊在所述步驟a中存儲所述地圖元素的當前讀取屬性信息具體用于:依次存儲該地圖元素的首形狀點的經(jīng)緯度坐標以及后一形狀點與前一形狀點的經(jīng)緯度坐標差值。在又一個示例中,將點元素類和/或線元素類和/或面元素類的經(jīng)緯度坐標轉換成像素坐標,進行存儲,由于像素坐標相對于經(jīng)緯度坐標來說,數(shù)值更小,因此采用像素坐標方式存儲各地圖元素的位置屬性,能夠進一步降低存儲空間。在再一個示例中,在電子地圖數(shù)據(jù)中,各地圖元素包含的所有屬性信息的存儲單位是比特。而現(xiàn)有技術中,最小存儲單位是字節(jié),即8個比特。也就是說,在現(xiàn)有技術中,即使存儲少量信息,也至少需要8個比特位。因此,以比特為存儲單位存儲電子地圖,相對于以字節(jié)為存儲單位存儲電子地圖,所占用存儲空間更小。本領域技術人員應該可以意識到,在上述一個或多個示例中,本申請所描述的功能可以用硬件、軟件、固件或它們的任意組合來實現(xiàn)。當使用軟件實現(xiàn)時,可以將這些功能存儲在計算機可讀介質中或者作為計算機可讀介質上的一個或多個指令或代碼進行傳輸。計算機可讀介質包括計算機存儲介質和通信介質,其中通信介質包括便于從一個地方向另一個地方傳送計算機程序的任何介質。存儲介質可以是通用或專用計算機能夠存取的任何可用介質。以上所述的具體實施方式,對本申請的目的、技術方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本申請的具體實施方式而已,并不用于限定本申請的保護范圍,凡在本申請的技術方案的基礎之上,所做的任何修改、等同替換、改進等,均應包括在本申請的保護范圍之內。當前第1頁12