版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、實驗三選擇與查詢在日常生活中,往往需要對各種各樣的事物進行選擇,并根據(jù)不同的目的將它們分成不 同的小組。通過MapInfo能對數(shù)據(jù)創(chuàng)建類似的分組,將這些組稱為選擇集(Selections)。 選擇集是根據(jù)一個或多個變量而分組的數(shù)據(jù)子集。盡管MapInfo允許將數(shù)據(jù)附加到地圖上的對象中去,但其真正的分析能力在于數(shù)據(jù)分組 和組織數(shù)據(jù)的能力。一旦將數(shù)據(jù)邏輯分組,就可以根據(jù)一個或多個變量來分析這些數(shù)據(jù)。例如,有一顧客記錄表,可以為所有居住在徐州周圍50公里內(nèi)的顧客創(chuàng)建一個子集; 也可以為所有購買商品超過5000元的顧客創(chuàng)建一個子集;還可以為所有姓名為3個字的顧 客創(chuàng)建一個子集。用于創(chuàng)建以上子集的語句稱
2、為查詢。查詢相當于詢問的另一種說法一一哪些顧客居住在 距徐州50公里以內(nèi)?哪些顧客花費超過5000元?哪些顧客的姓名為3個字?當然,某些數(shù)據(jù)會明顯地歸入多個分類,這時可以使用多個變量對數(shù)據(jù)進行分組。例如 哪些顧客居住在徐州50公里以內(nèi)并且購買了價值超過5000元的商品?選擇集是一個臨時表。當進行選擇時,MapInfo創(chuàng)建這一臨時表來存儲所選擇的記錄。 對于選擇集,可以執(zhí)行作用于永久表的操作。選擇集表也可以保存為一個永久表。一旦將選擇集存為永久表,就可以像對待其他任何 表一樣處理該表。選擇集表完全依賴于創(chuàng)建它的永久表。如果關閉了該表,則所有與之相關的選擇集表將 被刪除。在MapInfo中可以通過
3、主工具欄中的一些選擇工具從地圖窗口中進行選擇,也可以通過 Query菜單中的Select語句來選擇。利用選擇工具選擇利用主工具欄中的選擇工具選擇記錄之前,必須通過Layer Control對話框設置可選圖 層。如果在一個地圖窗口中有多個可選擇對象,MapInfo將從最頂層的可選擇圖層中選擇對 象。例如,有一個縣行政區(qū)劃圖層和一個省行政區(qū)劃圖層,這兩個圖層都是可選擇圖層。如 果縣行政區(qū)劃圖層在省行政區(qū)劃圖層之上,那末MapInfo將從縣行政區(qū)劃圖層中選擇對象。 若省行政區(qū)劃圖層在上面,那末MapInfo將從省行政區(qū)劃圖層中選擇對象。類似地,應該將 要搜索的邊界對象放在最上面的圖層中。如果希望從非
4、最頂層的圖層中選擇對象,在選擇對象時按Ctrl鍵即可。例如,在一個 地圖窗口中地圖窗口中從下到上依次有一個省行政區(qū)劃圖層、一個縣行政區(qū)劃圖層和一個城 市圖層,并且這三個圖層都可選擇。如果需要選擇縣行政區(qū)劃中的對象,只要按住Ctrl鍵, 并用選擇工具單擊縣區(qū)劃對象即可。如果按住Ctrl鍵,再次用選擇工具單擊地圖,就可以 從省行政區(qū)劃層中選擇對象了。如果需要從一組選擇的對象或記錄中撤消對其中某個對象或記錄的選擇,需要按住 Shift鍵,并用選擇工具單擊該對象或記錄,即可使該對象變成未選擇。如果需要撤消一組或所有選擇的對象或記錄,可以在地圖窗口中沒有任何對象處單擊, 或者選擇Query菜單中的Uns
5、elect All命令,或者使用熱鍵Ctrl+W。MapInfo的主工具欄中提供了 6個選擇工具,它們分別是選擇工具、矩形選擇工具、半 徑選擇工具、多邊形選擇工具、邊界選擇工具和反選工具,它們的功能如表3-1所示。表3-1各選擇工具的主要功能圖標工具名稱主要功能選擇工具通過單擊對象,可以一次選擇一個對象,或者選擇同一區(qū)域內(nèi)的所有對象。矩形選擇工具通過用矩形選擇工具單擊并拖動鼠標,可以創(chuàng)建一個虛矩形,選擇在該矩形 范圍內(nèi)的所有對象。半徑選擇工具通過用半徑選擇工具單擊并拖動鼠標,可以創(chuàng)建一個虛圓,選擇所有位于該 圓內(nèi)的所有對象。邊界選擇工具用于選擇位于某個選擇區(qū)域或邊界內(nèi)的對象,例如,有一個剩行政
6、區(qū)劃圖層 和城市點圖層,利用該工具單擊某個省,便可以選擇該省內(nèi)所有的城市對象(注:在較高版本中還有其它的選擇工具,請注意)通過查詢來選擇通過選擇工具在地圖窗口中選擇對象的方法雖然很直觀,但是對于某些復雜的選擇,這 些工具卻無法實現(xiàn)。此外,選擇工具無法根據(jù)記錄和對象的屬性來進行選擇。例如選擇工具 不能實現(xiàn)選擇所有人口大于100萬的州。為此,我們可以通過構造圍繞數(shù)據(jù)的問題或查詢來創(chuàng)建查詢表。MapInfo提供了兩個功 能強大的查詢命令,分別是Select和”SQL選擇.”。我們將在下一實驗中詳細介紹” SQL 選擇.”命令。例如,我們要選擇那些人口密度大于500的州。打開包含美國州行政區(qū)劃表,然后
7、選擇Query菜單中的Select命令,打開如圖3-1所 示的Select對話框。圖3-1 Select對話框從圖3-1所示對話框中的“從表中選擇記錄”下拉列表框中選擇STATES表,表示將從 該表中選擇記錄。在“滿足條件”文本框輸入選擇記錄的條件,也就是查詢表達式。如果非常熟悉查詢表 達式的書寫規(guī)則以及表中字段名稱,可以直接在文本框中輸入表達式。對于那些不太熟悉表 達式書寫規(guī)則和表中字段的用戶,可以通過單擊“輔助”按鈕,彈出如圖3-2所示的對話框。 通過在對話框中使用MapInfo提供的字段列表、操作符列表和函數(shù)列表的幫助,構造一查詢 表達式。對于本例,要選擇人口密度大于500的所有州,查詢
8、表達式如下:因此可以首先在“表達式”對話框的“輸入一個表達式”文本框中輸入“(”,然后從“列” 下拉列表框中選擇Pop_1990字段,這時MapInfo自動將Pop_1990加入到表達式中,下面可 以在表達式中直接輸入“/”或從“運算符”下拉列表框中選擇“/”。然后從“函數(shù)”下拉 列表框中選擇Area函數(shù),那么MapInfo將自動將“ Area (obj, “sq mi”)”加入到圖3-2表達式對話框表達式中,然后輸入“廣。接下來可以直接輸入“=”,或從“操作符”下拉列表框中選擇 該操作符。最后在表達式中輸入500。這樣就完成了構造查詢表達式,為了確保表達式構造 正確,可以通過單擊“校驗”按鈕
9、來驗證,如果表達式不正確,MapInfo將顯示一對話框, 說明語法錯誤。選擇“確定”按鈕退出“表達式”對話框,返回到“選擇”對話框中。此時,MapInfo在“選擇”對話框的“滿足條件”中添加了我們在“表達式”對話框中 構造的表達式。單擊“確定”按鈕便可以進行選擇了,選擇顯示如果如圖3-3所示。3-3選擇結果從選擇如果可以看到有5個對象滿足條件,分別是Connecticut、District of Columbia、 Massachusetts、New Jersey 和 Rhode Island,都集中在美國東北角。MapInfo提供了許多用于空間圖形對象的函數(shù),例如Area()、Perimet
10、er()、Distance()、 ObjectLen()、SphericalObjectLen()、CartesianObjectLen()等。SQL查詢用戶可以通過MapInfo的Select命令構造一個相當復雜的查詢,然而MapInfo還提供 了一個功能更強大的“SQL選擇.”命令。由Select命令生成的查詢表中的記錄不會擁 有基礎表的記錄不包含的信息,也不能減少在基礎表中的信息,事實上,它們的記錄完全相 同,該查詢表只將選擇的記錄排列在一起,而不顯示其他記錄。但是對于“SQL選擇.” 命令,用戶可以創(chuàng)建許多隱含在基礎表中的信息,例如各國人口密度、人口增長速度等。為 了創(chuàng)建該信息,可以將
11、對一張或多張表的數(shù)據(jù)進行合并、聚合、運算、分析和匯總等操作。同時,作為一個GIS軟件,MapInfo的SQL查詢命令中包含有許多用于空間分析的函數(shù)和操 作。查詢各國人口密度下面我們通過查詢各國人口密度為例來說明SQL查詢。打開世界國家行政區(qū)劃表。從“查詢”菜單中選擇“SQL選擇.”命令,該命令打開 如圖4-1所示的“SQL選擇.”對話框。“選擇列.”中的默認值是一個*號,表示查詢結果表中包含所有基表中的屬性字段, 可以根據(jù)需要用選擇的列代替*號。每列之間用逗號隔開,列名可以從右側(cè)名為“列”的下 拉列表框中選擇,不過在選擇列名之前,必須在“從表”中加入表名?!皬谋怼笔鞘紫纫顚懙臋谀?,因為所有S
12、QL查詢都是針對某一個或多個基礎表來完成 的。同樣,可以從右側(cè)的“表”下拉列表框中選擇表名。多個表名之間用逗號分開。“按列分組”欄對于數(shù)據(jù)的統(tǒng)計、匯總和求均值很有用。該欄經(jīng)常與“選擇列”配合使 用?!鞍戳信判颉睓谟糜趯Σ樵儽碇械挠涗涍M行排序,通過該欄目可以進行升序、降序以及 嵌套排列等?!敖Y果放入表”欄中填寫查詢結果名稱。要注意的是,不管是否對查詢表進行了命名, 該表始終是一臨時表,只有通過“另存入”命令才能將它保存為一普通表。圖4-1SQL選擇對話框圖4-2查詢結果在本例中,首先將光標移動到“從表”中,并從表下拉列表框中選擇WORLD表。將光標移動到“選擇列”欄中,刪除號,并從“列”下拉列表
13、框中選擇Country, 可以給該字段重新指定名稱,例如“國家”。從“列”下拉列表框中選擇Pop_1994并直接輸入“/”或從“運算符”下拉列表 框中選擇“/”,然后從“函數(shù)”下拉列表框中選擇Area函數(shù),這樣就創(chuàng)建了一個派生列, 可以將該派生列指定為“人口密度”。將光標移動到“條件”欄中,從“列”下拉列表框中選擇Pop_1994,并直接輸入 “/”或從“運算符”下拉列表框中選擇“/”,然后從“函數(shù)”下拉列表框中選擇Area函數(shù),再輸入“=”號,最后輸入500。這樣建立了一個條件表達式,即選擇人口密度大于等于500 人/k的國家。將光標移動到“按列排序”欄中,從“列”下拉列表框中選擇Count
14、ry,表示依 據(jù)國家名的字母順序排列記錄。將光標移動到“結果放入指表”欄中,在其中輸入“人口密度大于5000的國家” 作為表名。單擊“校驗”按鈕,驗證SQL查詢表達式是否正確。如果語法錯誤,MapInfo將給出一 條錯誤信息,并說明錯誤原因。單擊“確定”按鈕,將創(chuàng)建如圖4-2所示的查詢表。使用聚合函數(shù)幫助查詢MapInfo提供了 6個聚合函數(shù),它們分別是:Count(*)。用于計算一組中記錄的個數(shù)。可用“*”作為參數(shù),因為它將整條記錄作 為一個整體來考慮,而不單獨作用于某一個特定的字段。-Sum(表達式)。用于計算一組中所有記錄的表達式的總和。-Avg(表達式)。用于計算一組中所有記錄的表達式
15、的平均值。 WtAvg (表達式)。用于計算一組中所有記錄的表達式的加權平均值。Max(表達式)。用于計算一組中所有記錄的表達式的最大值。Min(表達式)。用于計算一組中所有記錄的表達式的最小值。下面我們利用MapInfo提供的聚合函數(shù)計算世界各個洲的國家數(shù)目、總?cè)丝诤涂偯娣e信 息,步驟如下。打開World.tab表。選擇菜單“查詢”中的” SQL選擇.”命令,打開” SQL選 擇.”對話框。將光標移動到“從表”中,從“表”下拉列表框中選擇WORLD表。將光標移動到“選擇列”中,從“列”下拉列表框中選擇“Continent”,并輸入 一個空格,在其后輸入“洲名”。然后從“聚合”下拉列表框中選擇
16、“Count”函數(shù),輸入一 個空格后輸入國家數(shù)目“國家數(shù)” ”。從“聚合”下拉列表框中選擇Sum函數(shù),然后從“列”下拉表框中選擇Pop_1994。 將光標移動到Sum函數(shù)的后面,輸入一個空格后輸入“總?cè)丝跀?shù)”。Sum(Pop_1994)將創(chuàng)建 一個計算總?cè)丝诘呐缮小摹熬酆稀毕铝斜砜蛑羞x擇Sum函數(shù),然后從“函數(shù)”中選擇Area函數(shù)。將光標 移動到Sum函數(shù)的后面,輸入一個空格后輸入“總面積”。Sum(Area(obj, “sqmi”)表達 式將創(chuàng)建一個計算總面積的排生列。將光標移動到“按列分組”欄中,從“列”中選擇“Continent,表示按洲進行 歸組。將光標移動到“按列排序”欄中,從“
17、列”中選擇Continent,表示按洲名的字 母進行排序。將光標移動到“將結果保存在表”欄中輸入“各大洲總?cè)丝诤涂偯娣e”作為查詢 表名。輸入完畢后的” SQL選擇.”對話框如圖4-3所示。請檢查是否輸入正確,可 以通過“校驗”按鈕來檢查語法錯誤。在” SQL選擇.”對話框中選擇“確定”按鈕,將進行SQL查詢。查詢結果如圖4-4 所示。圖4-3輸入查詢表達式后的SQL選擇對話框圖4-4查詢結果利用地理運算符幫助查詢地理運算符允許用戶根據(jù)對象的空間關系選擇對象。MapInfo中與地理運算符同時 使用的關鍵字是obj,該關鍵字通知MapInfo是基于地理對象而不是表格數(shù)據(jù)來獲取數(shù) 據(jù)。地理運算符放在
18、兩個指定的對象之間,例如A Contains B。MapInfo提供了 5個地理運算符,它們分別為:-A Contains B。若對象B的中心在對象A中,則對象A包含對象B。, A Contains Entire B。若對象B的邊界完全在對象A的邊界內(nèi),則對象A完全 包含對象B。-A Winthin B。若對象A的中心在對象B中,則對象A包含于對象B中。-A Winthin Entire B。若對象A的邊界完全在對象B的邊界內(nèi),則對象A完全 包含于對象B中。 A Intersects B。若對象A和對象B至少有一個公共點或某一個完全在另一個之中時,對象A與對象B相交。例如,我們要統(tǒng)計在美國各個州中的城市,可按如下步驟操作。(1)打開States.tab表和City_125.tab表,并從“查詢”菜單中選擇”SQL選擇.” 命令,打開” SQL選擇.”對話框。(2)將光標移動到“從表”欄中,從“表”下拉列表框中以此選擇CITY_125和STATESo(3)將光標移到“選擇列”欄中,從“列”下拉對話框中依次選擇CITY_125.City和 STATES.State_Name。(4)將光標移到“條件”欄中,先從“列”下拉列表框中選擇CITY_125.obj,然后從 “運算符”中選擇“Within”,最后從“列”下拉列表框中選擇States.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 航空物流居間協(xié)議簡本
- 游戲開發(fā)居間合同委托書
- 美容院改造拆除服務協(xié)議
- 房地產(chǎn)評估居間合同
- 民航機場監(jiān)理居間合同
- 湖北醫(yī)藥學院藥護學院《秘書實務》2023-2024學年第一學期期末試卷
- 2025年度股權投資與收益分成合同3篇
- 2025年托管中心教師科學探索聘用合同書3篇
- 湖北2025年湖北長江三峽通航管理局事業(yè)編制人員招聘筆試歷年參考題庫附帶答案詳解
- 2025年度社區(qū)幼兒園場地租賃及管理服務合同3篇
- 2024年江蘇省蘇州市中考數(shù)學試卷含答案
- 2024年世界職業(yè)院校技能大賽高職組“市政管線(道)數(shù)字化施工組”賽項考試題庫
- 介紹蝴蝶蘭課件
- 大學計算機基礎(第2版) 課件 第1章 計算機概述
- 數(shù)字化年終述職報告
- 《阻燃材料與技術》課件 第5講 阻燃塑料材料
- 2025年蛇年年度營銷日歷營銷建議【2025營銷日歷】
- 2024年職工普法教育宣講培訓課件
- 安保服務評分標準
- T-SDLPA 0001-2024 研究型病房建設和配置標準
- (人教PEP2024版)英語一年級上冊Unit 1 教學課件(新教材)
評論
0/150
提交評論