freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于shape的電子地圖顯示系統(tǒng)畢業(yè)論文(參考版)

2024-08-29 14:22本頁(yè)面
  

【正文】 return pFeatur。 fclose(fpDbf)。 //關(guān)閉文件 fclose(fpShp) 。 } FeatureClass *pFeatureClass = ImportShapeFileData( fpShp, fpDbf ) 。 } if( !fpDbf ) { AfxMessageBox( 打開(kāi)屬性文件失敗 ! ) 。 if( !fpShp ) { AfxMessageBox( 打開(kāi)文件失敗 ! ) 。 if( fileExt == SHP) { FILE* fpShp = fopen( pathName , rb ) 。 layerName = () 。 CString fileExt = () 。 } // 獲取文件路徑和名稱(chēng) CString pathName = () 。 if( () == IDCANCEL ) { AfxMessageBox( 你沒(méi)有選擇要打開(kāi)的文件 ! ) 。 endif /************************************************************ 描述 : 完成 Shp、 shx、 dbf 文件讀取 實(shí)現(xiàn)對(duì) shp 對(duì)象的管理 ***********************************************************/ FeatureClass* CGISMapDoc::OnShapeFileOpen() { // TODO: Add your mand handler code here // 顯示選擇 shp 文件的對(duì)話框 static char BASED_CODE szFilter[] = Data Files (*.shp)|*.shp|All Files (*.*)|*.*|| 。 另外,還要感謝教育和培養(yǎng)我四年的各位老師。正是王 老師的指導(dǎo)與幫助才使本設(shè)計(jì)能順利完成,這對(duì)于我以后的工作和學(xué)習(xí)都有一種巨大的幫助。 王新年 老師能夠在百忙之中 抽出時(shí)間關(guān)心和指導(dǎo)我的 畢業(yè)設(shè)計(jì),并且在宏觀的設(shè)計(jì)方面給我一些指導(dǎo),啟發(fā)我的思路,并且要求嚴(yán)格,定期檢查我的工作進(jìn)度。 30 致謝 大學(xué)時(shí)光即將結(jié)束,四年時(shí)間 的 學(xué)習(xí)沉淀,我積累了許多寶貴的知識(shí),當(dāng)然這一切的一切來(lái)源于我求學(xué)的這所學(xué)校,來(lái)源這所學(xué)校里的老師和同學(xué) 。 3) 實(shí)現(xiàn)標(biāo)注功能: 能在地圖 上 任意位置 標(biāo)注內(nèi)容。 在 菜單欄上再 增加 一 個(gè)下拉式文本框, 從中能找到當(dāng)前活動(dòng)地圖幾何形狀的名稱(chēng) ,點(diǎn)擊 顯示對(duì)應(yīng)的地圖上的幾何形狀的 屬性信息。 整體顯示是指在 顯示地圖時(shí) ,在全部幾何圖形的幾何中心處顯示出 幾何圖形所對(duì)應(yīng)的屬性信息,以便整體觀察。 分解是處理復(fù)雜系統(tǒng)的基本前提,本設(shè)計(jì)也是從功能分解入手,對(duì)各功能模塊進(jìn)行細(xì)化處理。 圖 地圖縮小 顯示 28 圖層疊加 : 在此基礎(chǔ)上 再 打開(kāi) 文件 ,還可以再打開(kāi)其它文件, 實(shí)現(xiàn)圖層疊加功能 ,如圖 。 圖 地圖漫游 顯示 27 放 大 :點(diǎn)擊放大按鈕,在地圖任意位置拖動(dòng)鼠標(biāo)畫(huà)出矩形, 實(shí)現(xiàn) 將矩形范圍內(nèi)的內(nèi)容放大 ,如圖 。 圖 打開(kāi) 26 地圖顯示: 如圖 。 圖 工具 欄按鈕 打開(kāi)工作空間,裝載程序運(yùn)行 , 主界面 如圖 。 DBF文件以 1A作為文件結(jié)束標(biāo)志。在OD標(biāo)志之后緊接著的 72個(gè)字節(jié)(一個(gè)刪除標(biāo)志 +其后的 71個(gè)字節(jié))是第一個(gè)實(shí)體屬性記錄。表頭文件前 32 個(gè)字節(jié)主要是對(duì)文件總體信息的一些說(shuō)明, 文件頭長(zhǎng)度和數(shù)據(jù)記錄長(zhǎng)度都以字節(jié)為單位, 數(shù)據(jù)記錄長(zhǎng)度是包括刪除標(biāo)記在內(nèi) 的。 圖 是 用 Excel打開(kāi) 文件,觀察其實(shí)際二維表結(jié)構(gòu), 掌握其組織結(jié)構(gòu)。 Shape類(lèi)型是 Polygon類(lèi)。 通過(guò)索引文件 可以很輕松的計(jì)算出主文件中有多少個(gè)記錄 : 23 圖 文件二進(jìn)制存儲(chǔ)結(jié)構(gòu) ( 3) : 用一個(gè)簡(jiǎn)單的 來(lái)作 屬性文件 分析。 其后的 4 個(gè)字節(jié)是記錄內(nèi)容長(zhǎng)度,跟主文件中該記錄記錄頭中的內(nèi)容長(zhǎng)度的值是一樣的。 緊接著的 8 字節(jié) ( 2 條 藍(lán)線間 ) 是第一個(gè)索引記錄,其中前 4個(gè)字節(jié)存的是主文件中第一個(gè)記錄的偏移量, 主文件中一個(gè)記錄的偏移量是指從主文件開(kāi)始到該 記錄的記錄頭的第一個(gè)字節(jié) 的字?jǐn)?shù) , 以 16 位字來(lái)計(jì)算。 第 1條藍(lán)線之前的 100個(gè)字節(jié)是索引文件頭在內(nèi)存中的存儲(chǔ)結(jié)構(gòu),分析可知,其與主文件頭結(jié)構(gòu)一樣,只是 Byte24— 27 字節(jié)(文件長(zhǎng)度)的內(nèi)容不一樣,文件長(zhǎng)度是文件以 16位字來(lái)計(jì)算的。第 2號(hào)記錄緊跟在 1號(hào)記錄之后,依次類(lèi)推存儲(chǔ)。 第 1條藍(lán)線之前的 100個(gè)字節(jié)是主文件頭在內(nèi)存中的存儲(chǔ)結(jié)構(gòu), 緊接著的 8字節(jié)(即 第1條藍(lán)線與第 2條藍(lán)線間 ) 是第一個(gè)記錄的記錄頭 ,包括記錄號(hào)和記錄內(nèi)容長(zhǎng)度,從中 可看到,記錄內(nèi)容長(zhǎng)度為 28H(即 40個(gè) 16位字 ==80字節(jié)),因此接下來(lái)的 80字節(jié)(第 3條藍(lán)線間)是第一號(hào)記錄的記錄內(nèi)容。 將依次對(duì)各文件 存儲(chǔ)結(jié)構(gòu)的 二進(jìn)制代碼進(jìn)行分析。 dBASE 文件 結(jié)構(gòu) ( 1) .表頭記錄的結(jié)構(gòu): DBF FILE STRUCTURE ~~~~~~~~~~~~~~~~~~ BYTES DESCRIPTION 00 版本標(biāo)志 0x03 0103 最后一次更新時(shí)間“年、月、日” 0407 文件包含的總記錄數(shù) 0809 文件頭長(zhǎng)度,也就是第一個(gè)數(shù)據(jù)記錄的位置 1011 每個(gè)數(shù)據(jù)記 錄的長(zhǎng)度(包括刪除標(biāo)記) 1231 保留 32n Field Descriptor array n+1 表 頭文件結(jié)束標(biāo)志 0x0D ( 2) .字段子記錄 (記錄項(xiàng)) 結(jié)構(gòu) : FIELD DESCRIPTOR ARRAY TABLE ~~~~~~~~~~~~~~~~~~ BYTES DESCRIPTION 010 字段名(最多 10 個(gè)字符 若少于 10 則用空字符 (0x00) 填充) 11 字段類(lèi)型 1215 記錄中該字段的 偏移量 16 字段長(zhǎng)度(以字節(jié)為單位) 17 小數(shù)位數(shù) 1819 保留 20 保留 21 2131 保留 FIELD IDENTIFIER TABLE ~~~~~~~~~~~~~~~~~~ ASCII DESCRIPTION C 字符型 D 日期型 F 浮點(diǎn)型 G 通用型 L 邏輯型 M 備注型 N 數(shù)值型 P 圖片型 注意: DBF文件中 屬性 記錄都是以一個(gè)刪除標(biāo)志開(kāi)始 ,如果刪除標(biāo)志是 0x2A (asterisk) 或者 0x20 (space),則文件結(jié)束標(biāo)志是 0x1A Shapefile 樣例 針對(duì)上面對(duì) Shapefile 格式的詳細(xì)闡述,下面就用 一個(gè)具體 的 Shape 文件,通過(guò)UltraEdit32 分析其二進(jìn)制 代碼 , 了解 Shapefile 在內(nèi)存中的 存儲(chǔ)結(jié)構(gòu), 對(duì) Shapefile 格式進(jìn)入更 深一層的學(xué)習(xí) ,為讀取工作做好準(zhǔn)備。 ● 記錄的順序必須和主文件中的要素記錄的順序相同。 屬性文件 有 4個(gè)要求 : ● 文件名必須與主文件和索引文件的名字相同,文件名后綴必須是 .dbf。 屬性 記錄的 20 長(zhǎng)度(以字節(jié)為單位)等于所有 記錄項(xiàng) 長(zhǎng)度之和。 其中文件頭部分的長(zhǎng)度是不定長(zhǎng)的,它主要對(duì) DBF文件作了一些總體說(shuō)明,其中最主要的是對(duì)這個(gè) DBF文件的記錄項(xiàng)的信息進(jìn)行了詳細(xì) 描述 ,比如對(duì)每個(gè)記錄項(xiàng) 名稱(chēng),數(shù)據(jù)類(lèi)型,長(zhǎng)度等信息都有具體 說(shuō)明。 屬性文件 (*.DBF)數(shù)據(jù)結(jié)構(gòu)解析 屬性文件的組織 屬性文件( *.DBF)用于記錄屬性信息。 表 索引記錄描述 位置 字 段 字段值 字段類(lèi)型 字節(jié)序 Byte 0 Offset 偏移量值 Integer Big Byte 4 Content Length 內(nèi)容長(zhǎng)度值 Integer Big 注意:記錄的偏移量是從主文件的開(kāi)頭到該條記錄頭的第一個(gè)字節(jié)的以 16 位字來(lái)計(jì)算的偏 移量。 第 I條索引記錄存儲(chǔ) 第 I個(gè)記錄 在主文件中的偏移量和主文件中該條記錄的內(nèi)容長(zhǎng)度。 索引 頭 文件與上面描述的頭文件組織方式一致,只是文件長(zhǎng)度那一字段的值不同。 19 其它的幾種 Shape類(lèi) 型和以上介紹的比較類(lèi)似,加之在畢設(shè)內(nèi)容中沒(méi)有用到這幾中 Shape類(lèi)型數(shù)據(jù)源,在此就略掉對(duì)其的介紹。 圖 一個(gè)多邊形的實(shí)例 在此例中, NumParts 等于 2, NumPoints 等于 10。 ? 內(nèi)部環(huán) 頂點(diǎn) 是逆時(shí)針順序的。 干凈的 多邊形是指: ? 不自交。 ? 每一個(gè)環(huán)的頂點(diǎn)組成的點(diǎn)的數(shù)組中,環(huán)的順序是不重要的。該圖中的多邊形有一個(gè) 內(nèi)環(huán) ,總共是 8 個(gè) 頂點(diǎn) 。其內(nèi)容表同線相同 。內(nèi)部環(huán) 是逆時(shí)針的,而簡(jiǎn)單的環(huán)狀多邊形通常是順時(shí)針的。一個(gè)多邊形可能包含多重外環(huán)路。 表 PolyLine 記錄內(nèi)容 位置 字段 字段 值 字段 類(lèi)型 個(gè) 數(shù) 字節(jié)序 Byte 0 shape 類(lèi)型 3 Integer 1 Little Byte 4 Box 邊界框 Double 4 Little Byte 36 NumParts 部分個(gè)數(shù)值 Integer 1 Little Byte 40 NumPoints 點(diǎn)的個(gè)數(shù)值 Integer 1 Little Byte 44 Parts 每個(gè)部分第一個(gè)點(diǎn)在點(diǎn)集中的序號(hào) Integer 部分的個(gè)數(shù) Little Byte X Points 各個(gè)點(diǎn)坐標(biāo) Point 點(diǎn)的個(gè)數(shù) Little ( 5) Polygon : 一個(gè)多邊形包含一個(gè)或多個(gè)環(huán)。 在部分間點(diǎn)之間沒(méi)有界限。 即 部分 2的點(diǎn)跟在部分 1的點(diǎn)之后,如此下去。 ? Points NumPoints 長(zhǎng)度的數(shù)列。為 每部分 存儲(chǔ)它在點(diǎn)數(shù)列中的第一個(gè)點(diǎn)的索引。 ? NumPoints 所有部分的點(diǎn)的總 個(gè) 數(shù) 。 PolyLine 的 字段 在以下為更詳細(xì)的描述: ? Box 存儲(chǔ) PolyLine 的邊界 框 ,以 Xmin,Ymin,Xmax,Ymax的順序存儲(chǔ)。部分可能會(huì)相連也可能不相連,可能相交也可能不相交。 表 多點(diǎn)記錄內(nèi)容 17 位置 字段 字段 值 字段 類(lèi)型 個(gè) 數(shù) 字節(jié) 序 Byte 0 shape 類(lèi)型 8 Integer 1 Little Byte 4 Box 邊界框 Double 4 Little Byte 36 NumPoints 點(diǎn)的個(gè)數(shù)值 Integer 1 Little Byte 40 Points 各個(gè)點(diǎn)坐標(biāo) Point NumPoints Little ( 4) PolyLine : 一條 PolyLine 是指 一個(gè)有序的頂點(diǎn)集合,包括一個(gè)或多個(gè) 部分。 表 點(diǎn)記錄內(nèi)容 位置 字段 字段 值 字段 類(lèi)型 個(gè) 數(shù) 字節(jié)序 Byte 0 shape 類(lèi)型 1 Integer 1 Little Byte 4 X X 坐標(biāo) Double 1 Little Byte 12 Y Y 坐標(biāo) Double 1 Little ( 3) MultiPoin
點(diǎn)擊復(fù)制文檔內(nèi)容
高考資料相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1