




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 實 習 七 總 結任務與目標江蘇省人口專題地圖若干江蘇省人口統計圖1 必要的準備工作檢查鄉鎮數據錯誤:重復數據、張冠李戴數據通過SQL查詢獲得縣市人口統計數據,作為縣市分區統計地圖的專題數據2 注意事項表示方法的選擇要科學圖面視覺要美觀結果保存為工作空間3第五章 GIS產品開發GIS產品開發的一般步驟MapBasic編程設計4第一節 GIS產品開發的一般步驟GIS產品開發可以分為四個主要步驟:前期準備階段系統設計階段系統開發施工階段系統運行及維護階段5前期準備階段立項調研可行性分析:經濟、技術、法律、用戶用戶需求分析可利用資源、開發成本、開發進度、預期效益評估制定開發計劃6系統設計階段系統設
2、計是GIS工程的技術核心總體設計 / 概要設計詳細設計 對概要設計中每個模塊要完成的工作進行具體的描述提供設計說明書7系統開發施工階段數據庫的建立軟件開發試運行、測試、調整撰寫產品使用說明書8系統運行及維護階段產品投入正式使用9 MapBasic編程設計程序設計的一般規則MapBasic 基礎MapBasic 菜單設計MapBasic 對話框設計MapBasic 按鈕條設計窗口用戶界面主要內容10程序設計的一般規則源程序文檔化命名名副其實注釋清楚明了視覺層次分明數據說明規范化語句結構簡單、直觀11第二節 MapBasic 基礎MapBasic 主要特色MapBasic 開發環境MapBasic
3、 語言結構12MapBasic語言結構程序結構變量Define及Include語句表達式流程控制過程13變 量變量的概念:在程序運行過程中將要發生變化的量變量命名規則變量類型變量的定義14MapBasic開發環境MapBasic程序編輯(編輯器) 生成后綴名為mb的文件,其大小限制為64K。MapBasic程序編譯(編譯器) 生成后綴名為mbx的可執行文件連接多個模塊成一個項目(鏈接器)聯機幫助 15MapBasic主要特色功能強大,MapBasic提供了380多種函數和命令語句(聯機幫助)。與其他應用程序鏈接擴展MapInfo功能,定制MapInfo的界面具有更強大的數據存取功能一種類Bas
4、ic語言,簡單易學MapBasic在線幫助MapInfo的MapBasic交互命令窗口16Define 與Include語句Define語句讓你可以定義一個容易記憶的標識符,在編譯時這個標識符被它的實際值所替代。語法:Define identifier definition Include語句:用以說明某文本文件為MapBasic程序的一部分。程序編譯時,該文本文件的全部內容將被全部插入到程序源文件中。語法:Include 17Mapbasic支持的變量類型SmallInt 整型(2個字節)(-32767至+32767)Integer 整型(4個字節) (-2147483647 至+21474
5、83647)Float 浮點型(8個字節)String 可變長字符串(最多可有32767個字符)String*length 固定長字符串(最多可有32767個字符)Logical 邏輯型(TRUE或FALSE)Date 日期型(MM/DD/YYYY)Object 圖形對象18MapBasic對各種變量的聲明Global name as string(全局變量)Dim x,y as float(局部變量) n as integer start_date(10) as dateRedim(擴充數組變量的長度)TypeEnd Type(用戶數據類型)Undim x,y19變量命名規則每個變量名最多可
6、以包含31個字符,可以包含字母、數字及多種符號變量名不能含有空格變量名不可以用數字開頭,必須以字母、_、 號開頭可以包含$ , % , & , ! , # , and ,但只能作為結束字符Mapbasic的關鍵字不能作為變量名:add,alter,call,dim,do,global,get,set20表達式表示若干常量、變量及函數之關系的式子數學運算符:+、*、/、mod、等字符串運算符(&)、Like等日期運算符:、比較運算符=、=、BetweenAnd等邏輯運算符And、Or 、Not 等地理運算符(圖形操作符):21圖形操作符Contains 第一個對象包含第二個對象的中心Contai
7、n Part第一個對象包含第二個對象的一部分Contain Entire第一個對象包含整個第二個對象Within第一個對象的中心在第二個對象內Partly Within第一個對象的一部分在第二個對象內Entirely Within第一個對象的完全在第二個對象內Intersects兩個對象在某處相交22流 程 控 制循環語句: 1. For(Exit For).Next 2. DoLoop 3. WhileWend分支語句: 1. IfThen 2. Do Case 3. Goto其它流程控制語句: 1. End Program 2. Terminate Application 3. End M
8、apinfo23WhileWend語句While condition statement_list Wend24DoLoop語句語法一Do statement_list Loop Until | While condition 語法二Do Until | While condition statement_list Loop25過 程定義一個過程 Declare subsubEnd Sub調用過程Call退出過程Exit Sub主過程Main 26過 程 示 例declare sub maindeclare sub report_subsub main Alter Menu id 3 id 3
9、 = QueryAdd Weekly ReportCalling report_subend subsub report_subNote Welcome to Report!end sub27ForNext 與 IfThen 語句Open Table applpath+world as worlddim nrows,n as integerdim Max_pop,Min_pop as float Max_pop=0 Min_pop=2000000000 nrows=tableinfo(world,tab_info_nrows) for n=1 to nrows fetch rec n from
10、 world if Max_popworld.pop_1994 then Min_pop=world.pop_1994 end if end if next28程 序 結 構Include “Declare sub sub_procDeclare Function fnameDefine identifier definition Global var_name As var_type Dim var_name As var_type Sub Main Dim var_name As var_type other statementsEnd SubSub sub_proc Dim other
11、statementsEnd SubFunction fname Dim other statementsEnd Function全局級聲明主過程定義其它過程定義自定義函數29Do Case 語句do case commandinfo(CMD_INFO_MENUITEM)case 1 select * from world where continent=asiainto 亞洲 map from 亞洲 max case 2 select * from world where continent=africa into 非洲 map from 非洲 max end case30第三節 MapBas
12、ic 菜單設計一.事件驅動模式1. 鼠標點擊等 產生事件例:當用戶選擇了一個菜單項時,我們說用戶已經產生了一個菜單選擇事件(Menu choose event);而當用戶關閉了一個窗口時,我們說用戶產生一個窗口關閉事件2.執行事件處理程序 事件被驅動例:若用戶產生一個菜單選擇事件,應用程序可能需要顯示一個對話框; 若用戶產生一個窗口關閉事件,應用程序可能需要對一個菜單項灰化或隱藏整個菜單。31二.菜單術語Menu BarMenuMenu Item32三、 編輯菜單條(Menu Bar)1.創建菜單條create menu bar as 分類查詢, 條件查詢, 分類統計, 統計圖, 專題地圖2.
13、在菜單條上添加一個菜單Alter Menu bar Add maps 3.在菜單條上刪除菜單Alter Menu Bar Remove help 4.恢復MapInfo原菜單條Create Menu Bar as Default33四、菜單(Menu)編輯1.創建菜單 Create Menu maps As Layer Control Calling 8012.添加菜單項 Alter Menu table Add Color Coded Maps Calling 3073.刪除菜單項 Alter Menu id 1 Remove 1044.改變菜單項狀態 Alter Menu Item 161
14、0 text 目標34第四節 MapBasic 對話框設計一、 MapInfo 對話框形式二、 對話框語法三、 對話框控件類型四、 對話框變量傳遞35二 、對話框語法 Dialog 語句 Dialog Title title Width w Height h Position x , y Calling handler Control control_clause Control control_clause . . . 36Dialog Title 根據地塊類型查找Control StaticTextTitle 請輸入地塊類型:Control EditTextInto s_LandTypeC
15、ontrol OkButtonTitle 查找Position 30,30Control CancelButtonTitle 取消Position 90,3037三、對話框控件類型命令按鈕(Button)。包括一般命令按鈕和OK按扭、Cancel按鈕。它是最普通的對話框控件,每個對話框都至少有一個命令按鈕。通過命令按鈕可以讓完成某一操作。靜態文本框(StaticText)。通常提供一些文字說明,給用戶提示,是一個非交互式控件。編輯文本框(EditText)。讓用戶直接在此區域輸入一些信息。38單選按鈕集(RadioGroup)。用來顯示選項,每次只能選擇一組選項中的一個,也就是說,當用戶選擇了
16、某一選項,在該組的其它選項將自動失效。組合框(GroupBox)。將完成某一功能的按鈕用矩形框圈起來,并用文字加以描述,只是起一個分隔的作用。檢查框(CheckBox)。通常用來提供Yes/No或True/False選項,可以用檢查框來提供多項選擇,從而在其中選擇一項或多項。39列表框(ListBox)和多項列表框 (MultiListBox)。通常提供一組信息,讓用 戶選擇其中的一項或者多項。彈出式按鈕(PopupMenu)。 是一個右邊帶下箭頭的按鈕,當用戶單擊按鈕時,將彈出一個文本列表,供用戶選擇。線型、填充圖案、符號、字體選擇按鈕。 MapInfo為圖形對象專門提供的幾個按鈕,以便用戶
17、選擇所需的圖文式樣(線型、填充圖案、符號和字體),供繪圖之用。40RadioGroupEditTextGroupBoxStaticTextCheckBoxButtonpenPickerBrushPicker41PopupmenuListbox42請看示例程序 Prog11.mb43四、 對話框變量傳遞Into s_LandTypeReadControlValue()函數If CommandInfo(CMD_INFO_DLG_OK) ThenCall subSeach(s_LandType)End If Control OkButtonTitle “查找”Position 30,30Callin
18、g OkHandler44Sub SearchDialogDim s_LandType As StringDialog Title “根據地塊類型查找”Control StaticTextTitle “請輸入地塊類型:”Control EditTextInto s_LandTypeID 12Control OkButtonTitle “查找”Position 30,30Calling OkHandlerControl CancelButtonTitle “取消”Position 90,3045If CommandInfo(CMD_INFO_DLG_OK) ThenCall subSeach(s
19、_LandType)End IfEnd SubSub OkHandlerIf ReadControlValue(12)=” ThenNote “請在編輯文本框中輸入一地塊類型!”Dialog PreserveEnd IfEnd Sub46第五節 MapBasic 按鈕條設計一、 按鈕條類型二、 創建按鈕條三、 改動按鈕條47一、按鈕條類型觸發式按鈕(PushButton),當用戶單擊一個觸發式按鈕時,按鈕會彈回來,執行相應的處理程序。例如:圖層控制按鈕。開關式按鈕(ToggleButton),當用戶單開關式按鈕時,按鈕變成兩種狀態的一種,按下或沒按下。例如:圖例窗口顯示/隱藏按鈕。工具按鈕(ToolButton),當用戶單擊工具按鈕時,一個工具將處于激活狀態,并將始終保持這種狀態直到用戶選擇了另外一個工具。例如:放大工具處于激活狀態,并且用戶在地圖窗口、瀏覽窗口或布局窗口單擊時,才會作出響應。48二、 創建按鈕條Create ButtonPad Utils As PushButton HelpMsg “顯示查詢對話框” Calling button_sub_proc Icon MI_ICON_ZOOM_QUESTION ToolButt
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 環保產業園區的產業集聚與區域綠色產業融合協同發展報告
- 保育員實操考試題目及答案
- 安全專題試題及答案
- 影視行業高質量制作指南:2025年工業化流程與質量控制深度分析報告
- 農業溫室智能化改造可行性研究報告
- 2025年廢棄礦井資源再利用與礦山安全生產技術革新報告
- 安全生產試題及答案文本
- 安全工作競聘試題及答案
- 2025年家庭教育指導行業市場細分領域競爭格局研究報告
- 農產品質量安全追溯體系在農產品生產環節中的應用與實踐研究報告
- 社會醫學-健康治理(終)
- 2023年無錫宜興市小升初英語考試模擬試題及答案解析
- 突發飲用水污染事件和衛生監督專家講座
- 沃爾瑪收貨規定
- 2022年丹東市元寶區社區工作者招聘筆試題庫及答案解析
- 小學道德與法治人教五年級上冊(統編)第三單元我們的國土我們的家園-愛國教案
- 藝術欣賞完整版課件全套ppt教程(最新)
- GB∕T 2518-2019 連續熱鍍鋅和鋅合金鍍層鋼板及鋼帶
- 土地項目測算表_模板
- 教育培訓機構輔導老師月度績效考核表(KPI)
- 立式水輪機組軸線調整及導軸承的間隙分配ppt課件
評論
0/150
提交評論