1.一種基于dwg文件快速生成二維電子地圖的方法,具體方法為:將dwg文件轉(zhuǎn)換為基于svg格式的通用文件;將轉(zhuǎn)換后的svg文件加載進計算機內(nèi)存中;根據(jù)加載進計算機內(nèi)存中的svg文件繪制二維電子地圖;所述dwg文件為建筑施工用圖,在其中詳細記載了建筑群的形狀和方位信息。
2.根據(jù)權(quán)利要求1所述的快速生成二維電子地圖的方法,所述方法還包括,處理用戶對所述二維電子地圖的拖拽、縮放和旋轉(zhuǎn)的操作。
3.根據(jù)權(quán)利要求1或2所述的快速生成二維電子地圖的方法,采用Arc Gis軟件將dwg文件轉(zhuǎn)換為基于svg格式的通用文件。
4.根據(jù)權(quán)利要求3所述的快速生成二維電子地圖的方法,根據(jù)加載進計算機內(nèi)存中的svg文件繪制二維電子地圖的具體方法為:采用openGL對地圖進行標(biāo)繪,具體方法步驟為:
S101、獲取svg格式文件中的每一條路徑信息;
S102、判斷路徑是否閉合,如果路徑閉合,則調(diào)用openGL繪制多邊形方法對路徑進行繪制,并按照路徑描述中的填充色進行填充;如果路徑不閉合,則按照路徑描述中的線色調(diào)用openGL繪制線段的方法對路徑進行繪制;
S103、重復(fù)S101和S102,直至處理完所有路徑。
5.根據(jù)權(quán)利要求4所述的快速生成二維電子地圖的方法,處理用戶對所述二維電子地圖的拖拽的操作方法為:根據(jù)用戶的拖拽操作對地圖進行位移,具體方法步驟為:
S201、用戶拖拽地圖之前獲取拖拽點屏幕坐標(biāo)m1;
S202、用戶拖拽地圖之后獲取拖拽點屏幕坐標(biāo)m2;
S203、使用m1-m2獲取位移矢量v1;
S204、對于地圖圖層進行移動,位移矢量為v1。
6.根據(jù)權(quán)利要求4所述的快速生成二維電子地圖的方法,處理用戶對所述二維電子地圖的縮放的操作方法為:根據(jù)用戶的縮放操作對地圖進行位移,具體方法步驟為:
S301、用戶縮放地圖前獲取地圖圖層的顯示比例s1;
S302、用戶采用兩觸控點方式進行縮放操作,縮放前獲取用戶觸控點屏幕坐標(biāo)t1和t2,計算出兩觸控點之間的距離d1;
S303、用戶在屏幕上滑動兩觸控點后,再次獲取用戶觸控點屏幕坐標(biāo)t3和t4,計算出兩觸控點之間的距離d2;
S304、計算新的地圖圖層的顯示比例s2=d2/d1*s1,設(shè)置地圖圖層的顯示比例為s2。
7.根據(jù)權(quán)利要求4所述的快速生成二維電子地圖的方法,處理用戶對所述二維電子地圖的旋轉(zhuǎn)的操作方法為:根據(jù)用戶的旋轉(zhuǎn)操作對地圖進行位移,具體方法步驟為:
S401、用戶旋轉(zhuǎn)地圖前獲取地圖圖層相對于正北方向的轉(zhuǎn)角a0;
S402、用戶采用兩觸控點方式進行旋轉(zhuǎn)操作,旋轉(zhuǎn)前獲取用戶觸控點屏幕坐標(biāo)b1和b2,計算兩觸控點的中點c0,計算兩觸控點的連線相對于正北方向的夾角r0;
S403、用戶在屏幕上滑動兩觸控點后,再次獲取用戶觸控點屏幕坐標(biāo)e1和e2,計算兩觸控點的中點c1,計算兩觸控點的連線相對于正北方向的夾角r1;
S404、計算兩觸控點中點c0到c1的位移矢量v2,對于地圖圖層進行移動,位移矢量為v2;
S405、計算地圖新的轉(zhuǎn)角a1=a0+(r1-r0),設(shè)置地圖圖層的旋轉(zhuǎn)角為a1。