




已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
武漢科技學(xué)院2005屆畢業(yè)設(shè)計(jì)(論文)11實(shí)現(xiàn)圖形系統(tǒng)的文檔和視圖1.1組織矢量圖形系統(tǒng)的圖形元素類城市的信息化為城市GIS發(fā)展帶來(lái)了機(jī)遇。實(shí)際上,城市信息化表現(xiàn)為政府管理與決策的信息化(數(shù)字政府),企業(yè)管理、決策與服務(wù)的信息化(數(shù)字企業(yè)),市民生活的信息化(數(shù)字城市生活),即“數(shù)字城市”。由此可見,城市GIS是“數(shù)字城市”最核心的部分,可以分為政府GIS、企業(yè)GIS和社會(huì)GIS?!皵?shù)字城市”的發(fā)展,要求政府、企業(yè)和社會(huì)GIS通過(guò)數(shù)據(jù)通信網(wǎng)絡(luò)將政府、企業(yè)和社會(huì)聯(lián)成一個(gè)整體,實(shí)現(xiàn)資源的共享。歷史給了我們中國(guó)人特殊的超越他人的機(jī)遇。美國(guó)人、加拿大人、西歐人在通訊基礎(chǔ)設(shè)施,政府、企業(yè)信息系統(tǒng)建設(shè),信息系統(tǒng)互聯(lián)互通,以及網(wǎng)絡(luò)社會(huì)、網(wǎng)絡(luò)社區(qū)四個(gè)階段循序漸進(jìn)的發(fā)展中占盡先機(jī)。但是當(dāng)時(shí)的3維GIS技術(shù)、VR技術(shù)、4D數(shù)據(jù)融合集成技術(shù)、GIS三維表現(xiàn)技術(shù)都沒(méi)有像今天這樣成熟和廉價(jià)。訪遍美國(guó)、西歐、加拿大、澳洲的城市政府網(wǎng)站,基于4D數(shù)據(jù)、三維表現(xiàn)、借助虛擬現(xiàn)實(shí)技術(shù)的鳳毛麟角。時(shí)間和市場(chǎng)為我們創(chuàng)造了超越的重大歷史機(jī)會(huì)。這個(gè)機(jī)會(huì)就是數(shù)字城市中三維和VR技術(shù)的開發(fā)和應(yīng)用。抓住機(jī)遇,我國(guó)的數(shù)字城市將大放異彩。我們認(rèn)為中國(guó)的數(shù)字城市特色應(yīng)該定位在:建設(shè)具有4D數(shù)據(jù)的城市基礎(chǔ)地理信息公共平臺(tái);建設(shè)以3維和VR技術(shù)為主的城市規(guī)劃、建設(shè)和管理業(yè)務(wù)專業(yè)應(yīng)用系統(tǒng)。集中搶占數(shù)字城市“43VR”的技術(shù)應(yīng)用戰(zhàn)略制高點(diǎn),形成中國(guó)數(shù)字城市“43VR”的特色,開拓中國(guó)數(shù)字城市獨(dú)特的市場(chǎng)空間10。面向?qū)ο蟮某绦蛟O(shè)計(jì),是目前程序設(shè)計(jì)的主流方法,在本設(shè)計(jì)中,將利用面向?qū)ο蟮某绦蛟O(shè)計(jì)和C+類的組織方法,組織建立一個(gè)基本矢量圖形的圖形元素類。組織實(shí)現(xiàn)的矢量圖形系統(tǒng),能夠處理點(diǎn)類、線類、面類、網(wǎng)絡(luò)點(diǎn)等類別的圖形元素,其中點(diǎn)類圖形元素有包括直線,圓,圓弧,子圖,標(biāo)注文本等圖形元素,針對(duì)每類圖形元素組織建立起對(duì)其進(jìn)行管理的C+類,并把每個(gè)圖形元素作為一個(gè)獨(dú)立的對(duì)象來(lái)管理。1.1.1圖形元素基類的組織對(duì)各類圖形元素進(jìn)行分析,可以發(fā)現(xiàn)各類圖形元素具有一些相同的屬性和操作功能,如圖形元素的顏色、線型線寬所在層等屬性和得到一個(gè)圖形元素是否做了刪除標(biāo)志等操作。把這些圖形元素中共性的東西(屬性和操作),組織存放在一個(gè)圖形元素基類(CDraw)中,具體的圖形元素由這個(gè)基類來(lái)派生。1.1.2點(diǎn)類圖形元素組織5對(duì)于點(diǎn)類圖形元素,其基本特性是各個(gè)圖形相互獨(dú)立,且每個(gè)圖形元素具有有限個(gè)固定的特征點(diǎn)。直線的基類是CDraw.,在直線類的構(gòu)造函數(shù)中,共有包括11個(gè)參數(shù),并利武漢科技學(xué)院2005屆畢業(yè)設(shè)計(jì)(論文)2用前7個(gè)參數(shù)調(diào)用基類CDraw的構(gòu)造函數(shù),對(duì)基類的成員變量進(jìn)行初始化,而在本身的構(gòu)造函數(shù)中對(duì)直線類CLine自身的四個(gè)參數(shù)(直線的起點(diǎn)和終點(diǎn))進(jìn)行了初始化。對(duì)圓類的創(chuàng)建方法與直線類CLine類似,圓除了具有圖形元素的基本特征外,還有自身的幾何特性,可以用圓心和半徑作為特征參數(shù)表示圓的幾何特性。圓是圓弧的一個(gè)特例,當(dāng)圓弧的弧度等于2時(shí)就是圓。所以可以從一個(gè)圓類派生得到一個(gè)圓弧類。矢量圖形中可以有大量的標(biāo)注文本,標(biāo)注文本除了具有圖形元素的基本特性外,還具有位置、字體及標(biāo)注內(nèi)容等自身的信息。CText類也有兩個(gè)構(gòu)造函數(shù),第二個(gè)構(gòu)造參數(shù)有多個(gè)參數(shù),并利用多個(gè)參數(shù)對(duì)類的成員變量進(jìn)行初始化。在構(gòu)造函數(shù)中,調(diào)用了基類CDraw的構(gòu)造函數(shù)對(duì)基類CDraw的成員變量進(jìn)行初始化。子圖是各類圖形元素的集合體,是由多個(gè)圖形元素組成的整體。為了在圖形中插入子圖,必須首先建立起管理子圖所包含的圖形元素的類,形成一個(gè)子圖定義體,將選定的子圖塊以一定的橫縱比例插入到圖形中指定的位置,就形成了一個(gè)子圖塊。1.1.3線類圖形元素組織線類圖形元素包括很多種,如連續(xù)直線、混合線、樹狀線等,在本設(shè)計(jì)中,以最簡(jiǎn)單的連續(xù)直線為例進(jìn)行討論,對(duì)于其他類型線的實(shí)現(xiàn)方法,可根據(jù)連續(xù)直線的實(shí)現(xiàn)方法來(lái)開發(fā)。連續(xù)直線除了具有圖形元素基類所具有的屬性外,從圖形的幾何特征上,連續(xù)直線是由很多頂點(diǎn)組成的,而且頂點(diǎn)數(shù)目是不確定的。一條連續(xù)直線可能只有兩個(gè)頂點(diǎn),也可能有幾千個(gè)頂點(diǎn)。所以,需要定義一個(gè)結(jié)構(gòu)來(lái)存儲(chǔ)連續(xù)直線的一個(gè)頂點(diǎn)坐標(biāo)。1.1.4面類圖形元素的組織10面類圖形元素一般是由閉合線圍成的區(qū)域。根據(jù)圍成面的邊界不同,有不同形式的面,如圓形區(qū)域橢圓形區(qū)域復(fù)合線區(qū)域多邊形區(qū)域等。最常用的面是多邊形區(qū)域,其邊界由一條連續(xù)直線組成。因?yàn)榱硗飧鞣N類型面的邊界一般都可以用連續(xù)直線來(lái)近似描述,所以,本設(shè)計(jì)只討論多邊形區(qū)域的實(shí)現(xiàn)方法。在描述多邊形區(qū)域時(shí),最主要的是要描述邊界頂點(diǎn)坐標(biāo)。描述面的邊界頂點(diǎn)坐標(biāo)時(shí),有不同的描述方法,一種方法是將邊界由幾段連續(xù)直線來(lái)描述。另外一種描述方法是直接存儲(chǔ)區(qū)域的邊界頂點(diǎn)坐標(biāo),即把區(qū)域的整個(gè)邊界作為一條連續(xù)直線來(lái)存儲(chǔ)。這種方法的缺點(diǎn)是造成坐標(biāo)的重復(fù)存儲(chǔ);優(yōu)點(diǎn)是具有較強(qiáng)的獨(dú)立性,不用考慮組成區(qū)域的連續(xù)直線段。在本設(shè)計(jì)中,采用直接存儲(chǔ)邊界坐標(biāo)的方式。用這種方式組織多邊形區(qū)域時(shí),組織方式與連續(xù)直線類似。所以,可以由連續(xù)直線類CPline派生出一個(gè)CPlineRgn類,來(lái)對(duì)多邊形區(qū)域進(jìn)行管理。1.1.5網(wǎng)絡(luò)類圖形元素的組織網(wǎng)絡(luò)分析是GIS的一項(xiàng)非常重要的基本功能,最佳路徑分析、最佳游歷路徑分析、連通分析、資源分配等都需要有網(wǎng)絡(luò)類圖形元素對(duì)網(wǎng)絡(luò)進(jìn)行描述、顯示和分析。為了能夠?qū)W(wǎng)絡(luò)進(jìn)行描述和處理,在系統(tǒng)中增加一類圖形元素來(lái)描述有方向、無(wú)轉(zhuǎn)角的網(wǎng)絡(luò)圖。這類圖形元素稱為網(wǎng)絡(luò)點(diǎn)。武漢科技學(xué)院2005屆畢業(yè)設(shè)計(jì)(論文)31.1.6圖形參數(shù)類在矢量圖形系統(tǒng)中,圖形參數(shù)是集中存儲(chǔ)的。在圖形元素基類中成員變量m_ColorPen,m_ColorBrush等存儲(chǔ)的是顏色列表的序列號(hào),m_Layer中存儲(chǔ)的也是在圖層列表中的序列號(hào)。1.2組織矢量圖形系統(tǒng)的文檔1.2.1組織面向?qū)ο蟮奈臋n管理機(jī)制管理矢量圖形系統(tǒng)圖形數(shù)據(jù)的方法即文檔管理機(jī)制。在本設(shè)計(jì)的開發(fā)中,采用一套完全面向?qū)ο蟮奈臋n組織機(jī)制。這種機(jī)制就是通過(guò)圖形元素類創(chuàng)建很多圖形元素對(duì)象,每個(gè)圖形元素對(duì)象作為一個(gè)整體來(lái)組織存儲(chǔ)空間的分配、存取等各種管理功能。然后通過(guò)建立一種存儲(chǔ)機(jī)制,來(lái)管理指向所有圖形元素對(duì)象的指針,達(dá)到管理所有圖形元素對(duì)象的目的。這種文檔管理機(jī)制具有組織簡(jiǎn)單結(jié)構(gòu)化和移植性好,以及比較容易利用VC+程序設(shè)計(jì)語(yǔ)言的開發(fā)功能等優(yōu)點(diǎn)。缺點(diǎn)是需要較大的內(nèi)存空間。1.2.2利用MFC摸板創(chuàng)建管理圖形元素對(duì)象指針的對(duì)象管理一個(gè)矢量圖形系統(tǒng)文檔的思路是:每個(gè)圖形元素是圖形元素類創(chuàng)建的一個(gè)對(duì)象,在創(chuàng)建這個(gè)對(duì)象時(shí)得到指向這個(gè)對(duì)象的指針,建立一個(gè)對(duì)象指針數(shù)組來(lái)管理這些指針,以達(dá)到管理所有圖形元素對(duì)象的目的。在VC+下可以較容易地實(shí)現(xiàn)對(duì)指向圖形元素對(duì)象的指針的組織和管理。在MFC中有一個(gè)類模班CTypedPtrArray,可以用它來(lái)創(chuàng)建一個(gè)管理類指針的對(duì)象。例如,可以定義一個(gè)管理CLine類指針的對(duì)象如下:CTypedPtrArraym_LineArray;101.2.3實(shí)現(xiàn)矢量圖形系統(tǒng)的文檔在應(yīng)用程序Draw中,可以派生幾個(gè)CObArray對(duì)象來(lái)分別管理基類圖形元素。在文檔類CDrawDoc中創(chuàng)建幾個(gè)管理各類圖形元素對(duì)象指針的CObArray對(duì)象如下:private:CTypedPtrArraym_LineArray;CTypedPtrArraym_CircleArray;CTypedPtrArraym_ArcArray;CTypedPtrArraym_TextArray;CTypedPtrArraym_TagArray;CTypedPtrArraym_PLineArray;CTypedPtrArraym_PLineRgnArray;CTypedPtrArraym_NetArray;1.2.4實(shí)現(xiàn)文檔的管理功能增加圖形元素在應(yīng)用程序Draw中增加一個(gè)圖形元素對(duì)象(如一條直線)時(shí),需要進(jìn)行以下兩個(gè)步驟的操作:武漢科技學(xué)院2005屆畢業(yè)設(shè)計(jì)(論文)4首先需要?jiǎng)?chuàng)建一個(gè)圖形元素對(duì)象,并用圖形元素的實(shí)際數(shù)據(jù)初始化這個(gè)圖形元素對(duì)象。如增加一條直線時(shí),需要?jiǎng)?chuàng)建一個(gè)CLine對(duì)象,并用這條直線的實(shí)際數(shù)據(jù)(起終點(diǎn)、所在圖層、顏色等)初始化這個(gè)CLine對(duì)象的成員變量。然后需要把指向新創(chuàng)建的圖形元素對(duì)象的指針,增加到文檔類中管理圖形元素對(duì)象指針的對(duì)象中。如增加一條CLine對(duì)象后,需要把指向這個(gè)CLine對(duì)象的指針增加到文檔類的m_LineArray對(duì)象中。為了實(shí)現(xiàn)增加各類圖形元素的功能,在文檔類CDrawDoc中定義幾個(gè)函數(shù),分別來(lái)完成增加各類圖形元素的操作功能3CLine*AddLine(shortColorPen,shortColorBrush,floatLineWide,shortLineType,shortLayer,intid_only,floatX1,floatY1,floatX2,floatY2);CCircle*AddCircle(shortColorPen,shortColorBrush,floatLineWide,shortLineType,shortLayer,intid_only,floatCircleX,floatCircleY,floatCircleR,BOOLbFill);CArc*AddArc(shortColorPen,shortColorBrush,floatLineWide,shortLineType,shortLayer,intid_only,floatCircleX,floatCircleY,floatCircleR,floatAngle1,floatAngle2);CText*AddText(shortColorPen,shortColorBrush,floatLineWide,shortLineType,shortLayer,intid_only,floatStartX,floatStartY,floatAngle1,floatAngle2,floatTextHeight,floatTextWide,floatOffWide,unsignedcharTextFont,intTextLong,CStringText);CTag*AddTag(shortColorPen,intLayer,floatxInsert,floatyInsert,floatxScale,floatyScale,floatangle,intonly_id,intidBlock);CPline*AddPLine(shortColorPen,shortColorBrush,floatLineWide,shortLineType,shortLayer,intid_only,intNumble,PointStruct*PointList);CPlineRgn*AddPLineRgn(shortColorPen,shortColorBrush,floatLineWide,shortLineType,shortLayer,intid_only,intNumble,PointStruct*PointList,BOOLbTransparent,BOOLbFill);CLinkNet*AddNetPoint(floatx,floaty,floatrRadiu,shortLayer,intid_only,shortColorPen);這8個(gè)函數(shù)分別用來(lái)實(shí)現(xiàn)增加一條直線、一個(gè)圓、一個(gè)圓弧、一個(gè)標(biāo)注文本、一個(gè)子圖、一條連續(xù)直線、一個(gè)多邊形區(qū)域、一個(gè)網(wǎng)絡(luò)點(diǎn)的功能。函數(shù)返回指向新增圖形元素對(duì)象的指針。得到指向圖形元素對(duì)象的指針在一個(gè)矢量圖形系統(tǒng)中,有大量的圖形
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2026學(xué)年成都市錦江區(qū)數(shù)學(xué)三年級(jí)第一學(xué)期期末綜合測(cè)試模擬試題含解析
- 職業(yè)發(fā)展的2025年主管護(hù)師考試試題及答案
- 知識(shí)更新試題及答案指導(dǎo)
- 2025年執(zhí)業(yè)護(hù)士考試高效備考試題及答案
- 2025年藥師考試藥物暴露應(yīng)對(duì)題目及答案
- 2025主管護(hù)師考試綜合能力評(píng)價(jià)與試題及答案
- 經(jīng)驗(yàn)分享2025主管護(hù)師考試試題及答案
- 2025年執(zhí)業(yè)藥師考試新規(guī)試題及答案
- 2025年行政法學(xué)備考資源及試題及答案
- 經(jīng)濟(jì)法概論課程體會(huì)試題及答案
- 2025年廣東廣州市高三二模高考英語(yǔ)試卷試題(含答案詳解)
- 掛靠法人免責(zé)協(xié)議書
- 碳中和技術(shù)概論全套教學(xué)課件
- 《桃樹夏季管理》ppt課件
- 管道閥門安裝方案(共14頁(yè))
- 采油工中級(jí)工更換潛油電泵井電流卡片
- 關(guān)于婚檢率低的問(wèn)題整改報(bào)告
- 我的家鄉(xiāng)山東PPT課件
- 科技改變生活英語(yǔ)PPT課件
- 37高炮專業(yè)教案講解
- LH160使用說(shuō)明書090708
評(píng)論
0/150
提交評(píng)論