版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、實(shí)驗(yàn)三選擇與查詢?cè)谌粘I钪?,往往需要?duì)各種各樣的事物進(jìn)行選擇,并根據(jù)不同的目的將它們分成不 同的小組。通過MapInfo能對(duì)數(shù)據(jù)創(chuàng)建類似的分組,將這些組稱為選擇集(Selections)。 選擇集是根據(jù)一個(gè)或多個(gè)變量而分組的數(shù)據(jù)子集。盡管MapInfo允許將數(shù)據(jù)附加到地圖上的對(duì)象中去,但其真正的分析能力在于數(shù)據(jù)分組 和組織數(shù)據(jù)的能力。一旦將數(shù)據(jù)邏輯分組,就可以根據(jù)一個(gè)或多個(gè)變量來分析這些數(shù)據(jù)。例如,有一顧客記錄表,可以為所有居住在徐州周圍50公里內(nèi)的顧客創(chuàng)建一個(gè)子集; 也可以為所有購(gòu)買商品超過5000元的顧客創(chuàng)建一個(gè)子集;還可以為所有姓名為3個(gè)字的顧 客創(chuàng)建一個(gè)子集。用于創(chuàng)建以上子集的語句稱
2、為查詢。查詢相當(dāng)于詢問的另一種說法一一哪些顧客居住在 距徐州50公里以內(nèi)?哪些顧客花費(fèi)超過5000元?哪些顧客的姓名為3個(gè)字?當(dāng)然,某些數(shù)據(jù)會(huì)明顯地歸入多個(gè)分類,這時(shí)可以使用多個(gè)變量對(duì)數(shù)據(jù)進(jìn)行分組。例如 哪些顧客居住在徐州50公里以內(nèi)并且購(gòu)買了價(jià)值超過5000元的商品?選擇集是一個(gè)臨時(shí)表。當(dāng)進(jìn)行選擇時(shí),MapInfo創(chuàng)建這一臨時(shí)表來存儲(chǔ)所選擇的記錄。 對(duì)于選擇集,可以執(zhí)行作用于永久表的操作。選擇集表也可以保存為一個(gè)永久表。一旦將選擇集存為永久表,就可以像對(duì)待其他任何 表一樣處理該表。選擇集表完全依賴于創(chuàng)建它的永久表。如果關(guān)閉了該表,則所有與之相關(guān)的選擇集表將 被刪除。在MapInfo中可以通過
3、主工具欄中的一些選擇工具從地圖窗口中進(jìn)行選擇,也可以通過 Query菜單中的Select語句來選擇。利用選擇工具選擇利用主工具欄中的選擇工具選擇記錄之前,必須通過Layer Control對(duì)話框設(shè)置可選圖 層。如果在一個(gè)地圖窗口中有多個(gè)可選擇對(duì)象,MapInfo將從最頂層的可選擇圖層中選擇對(duì) 象。例如,有一個(gè)縣行政區(qū)劃圖層和一個(gè)省行政區(qū)劃圖層,這兩個(gè)圖層都是可選擇圖層。如 果縣行政區(qū)劃圖層在省行政區(qū)劃圖層之上,那末MapInfo將從縣行政區(qū)劃圖層中選擇對(duì)象。 若省行政區(qū)劃圖層在上面,那末MapInfo將從省行政區(qū)劃圖層中選擇對(duì)象。類似地,應(yīng)該將 要搜索的邊界對(duì)象放在最上面的圖層中。如果希望從非
4、最頂層的圖層中選擇對(duì)象,在選擇對(duì)象時(shí)按Ctrl鍵即可。例如,在一個(gè) 地圖窗口中地圖窗口中從下到上依次有一個(gè)省行政區(qū)劃圖層、一個(gè)縣行政區(qū)劃圖層和一個(gè)城 市圖層,并且這三個(gè)圖層都可選擇。如果需要選擇縣行政區(qū)劃中的對(duì)象,只要按住Ctrl鍵, 并用選擇工具單擊縣區(qū)劃對(duì)象即可。如果按住Ctrl鍵,再次用選擇工具單擊地圖,就可以 從省行政區(qū)劃層中選擇對(duì)象了。如果需要從一組選擇的對(duì)象或記錄中撤消對(duì)其中某個(gè)對(duì)象或記錄的選擇,需要按住 Shift鍵,并用選擇工具單擊該對(duì)象或記錄,即可使該對(duì)象變成未選擇。如果需要撤消一組或所有選擇的對(duì)象或記錄,可以在地圖窗口中沒有任何對(duì)象處單擊, 或者選擇Query菜單中的Uns
5、elect All命令,或者使用熱鍵Ctrl+W。MapInfo的主工具欄中提供了 6個(gè)選擇工具,它們分別是選擇工具、矩形選擇工具、半 徑選擇工具、多邊形選擇工具、邊界選擇工具和反選工具,它們的功能如表3-1所示。表3-1各選擇工具的主要功能圖標(biāo)工具名稱主要功能選擇工具通過單擊對(duì)象,可以一次選擇一個(gè)對(duì)象,或者選擇同一區(qū)域內(nèi)的所有對(duì)象。矩形選擇工具通過用矩形選擇工具單擊并拖動(dòng)鼠標(biāo),可以創(chuàng)建一個(gè)虛矩形,選擇在該矩形 范圍內(nèi)的所有對(duì)象。半徑選擇工具通過用半徑選擇工具單擊并拖動(dòng)鼠標(biāo),可以創(chuàng)建一個(gè)虛圓,選擇所有位于該 圓內(nèi)的所有對(duì)象。邊界選擇工具用于選擇位于某個(gè)選擇區(qū)域或邊界內(nèi)的對(duì)象,例如,有一個(gè)剩行政
6、區(qū)劃圖層 和城市點(diǎn)圖層,利用該工具單擊某個(gè)省,便可以選擇該省內(nèi)所有的城市對(duì)象(注:在較高版本中還有其它的選擇工具,請(qǐng)注意)通過查詢來選擇通過選擇工具在地圖窗口中選擇對(duì)象的方法雖然很直觀,但是對(duì)于某些復(fù)雜的選擇,這 些工具卻無法實(shí)現(xiàn)。此外,選擇工具無法根據(jù)記錄和對(duì)象的屬性來進(jìn)行選擇。例如選擇工具 不能實(shí)現(xiàn)選擇所有人口大于100萬的州。為此,我們可以通過構(gòu)造圍繞數(shù)據(jù)的問題或查詢來創(chuàng)建查詢表。MapInfo提供了兩個(gè)功 能強(qiáng)大的查詢命令,分別是Select和”SQL選擇.”。我們將在下一實(shí)驗(yàn)中詳細(xì)介紹” SQL 選擇.”命令。例如,我們要選擇那些人口密度大于500的州。打開包含美國(guó)州行政區(qū)劃表,然后
7、選擇Query菜單中的Select命令,打開如圖3-1所 示的Select對(duì)話框。圖3-1 Select對(duì)話框從圖3-1所示對(duì)話框中的“從表中選擇記錄”下拉列表框中選擇STATES表,表示將從 該表中選擇記錄。在“滿足條件”文本框輸入選擇記錄的條件,也就是查詢表達(dá)式。如果非常熟悉查詢表 達(dá)式的書寫規(guī)則以及表中字段名稱,可以直接在文本框中輸入表達(dá)式。對(duì)于那些不太熟悉表 達(dá)式書寫規(guī)則和表中字段的用戶,可以通過單擊“輔助”按鈕,彈出如圖3-2所示的對(duì)話框。 通過在對(duì)話框中使用MapInfo提供的字段列表、操作符列表和函數(shù)列表的幫助,構(gòu)造一查詢 表達(dá)式。對(duì)于本例,要選擇人口密度大于500的所有州,查詢
8、表達(dá)式如下:因此可以首先在“表達(dá)式”對(duì)話框的“輸入一個(gè)表達(dá)式”文本框中輸入“(”,然后從“列” 下拉列表框中選擇Pop_1990字段,這時(shí)MapInfo自動(dòng)將Pop_1990加入到表達(dá)式中,下面可 以在表達(dá)式中直接輸入“/”或從“運(yùn)算符”下拉列表框中選擇“/”。然后從“函數(shù)”下拉 列表框中選擇Area函數(shù),那么MapInfo將自動(dòng)將“ Area (obj, “sq mi”)”加入到圖3-2表達(dá)式對(duì)話框表達(dá)式中,然后輸入“廣。接下來可以直接輸入“=”,或從“操作符”下拉列表框中選擇 該操作符。最后在表達(dá)式中輸入500。這樣就完成了構(gòu)造查詢表達(dá)式,為了確保表達(dá)式構(gòu)造 正確,可以通過單擊“校驗(yàn)”按鈕
9、來驗(yàn)證,如果表達(dá)式不正確,MapInfo將顯示一對(duì)話框, 說明語法錯(cuò)誤。選擇“確定”按鈕退出“表達(dá)式”對(duì)話框,返回到“選擇”對(duì)話框中。此時(shí),MapInfo在“選擇”對(duì)話框的“滿足條件”中添加了我們?cè)凇氨磉_(dá)式”對(duì)話框中 構(gòu)造的表達(dá)式。單擊“確定”按鈕便可以進(jìn)行選擇了,選擇顯示如果如圖3-3所示。3-3選擇結(jié)果從選擇如果可以看到有5個(gè)對(duì)象滿足條件,分別是Connecticut、District of Columbia、 Massachusetts、New Jersey 和 Rhode Island,都集中在美國(guó)東北角。MapInfo提供了許多用于空間圖形對(duì)象的函數(shù),例如Area()、Perimet
10、er()、Distance()、 ObjectLen()、SphericalObjectLen()、CartesianObjectLen()等。SQL查詢用戶可以通過MapInfo的Select命令構(gòu)造一個(gè)相當(dāng)復(fù)雜的查詢,然而MapInfo還提供 了一個(gè)功能更強(qiáng)大的“SQL選擇.”命令。由Select命令生成的查詢表中的記錄不會(huì)擁 有基礎(chǔ)表的記錄不包含的信息,也不能減少在基礎(chǔ)表中的信息,事實(shí)上,它們的記錄完全相 同,該查詢表只將選擇的記錄排列在一起,而不顯示其他記錄。但是對(duì)于“SQL選擇.” 命令,用戶可以創(chuàng)建許多隱含在基礎(chǔ)表中的信息,例如各國(guó)人口密度、人口增長(zhǎng)速度等。為 了創(chuàng)建該信息,可以將
11、對(duì)一張或多張表的數(shù)據(jù)進(jìn)行合并、聚合、運(yùn)算、分析和匯總等操作。同時(shí),作為一個(gè)GIS軟件,MapInfo的SQL查詢命令中包含有許多用于空間分析的函數(shù)和操 作。查詢各國(guó)人口密度下面我們通過查詢各國(guó)人口密度為例來說明SQL查詢。打開世界國(guó)家行政區(qū)劃表。從“查詢”菜單中選擇“SQL選擇.”命令,該命令打開 如圖4-1所示的“SQL選擇.”對(duì)話框?!斑x擇列.”中的默認(rèn)值是一個(gè)*號(hào),表示查詢結(jié)果表中包含所有基表中的屬性字段, 可以根據(jù)需要用選擇的列代替*號(hào)。每列之間用逗號(hào)隔開,列名可以從右側(cè)名為“列”的下 拉列表框中選擇,不過在選擇列名之前,必須在“從表”中加入表名?!皬谋怼笔鞘紫纫顚懙臋谀?,因?yàn)樗蠸
12、QL查詢都是針對(duì)某一個(gè)或多個(gè)基礎(chǔ)表來完成 的。同樣,可以從右側(cè)的“表”下拉列表框中選擇表名。多個(gè)表名之間用逗號(hào)分開。“按列分組”欄對(duì)于數(shù)據(jù)的統(tǒng)計(jì)、匯總和求均值很有用。該欄經(jīng)常與“選擇列”配合使 用?!鞍戳信判颉睓谟糜趯?duì)查詢表中的記錄進(jìn)行排序,通過該欄目可以進(jìn)行升序、降序以及 嵌套排列等?!敖Y(jié)果放入表”欄中填寫查詢結(jié)果名稱。要注意的是,不管是否對(duì)查詢表進(jìn)行了命名, 該表始終是一臨時(shí)表,只有通過“另存入”命令才能將它保存為一普通表。圖4-1SQL選擇對(duì)話框圖4-2查詢結(jié)果在本例中,首先將光標(biāo)移動(dòng)到“從表”中,并從表下拉列表框中選擇WORLD表。將光標(biāo)移動(dòng)到“選擇列”欄中,刪除號(hào),并從“列”下拉列表
13、框中選擇Country, 可以給該字段重新指定名稱,例如“國(guó)家”。從“列”下拉列表框中選擇Pop_1994并直接輸入“/”或從“運(yùn)算符”下拉列表 框中選擇“/”,然后從“函數(shù)”下拉列表框中選擇Area函數(shù),這樣就創(chuàng)建了一個(gè)派生列, 可以將該派生列指定為“人口密度”。將光標(biāo)移動(dòng)到“條件”欄中,從“列”下拉列表框中選擇Pop_1994,并直接輸入 “/”或從“運(yùn)算符”下拉列表框中選擇“/”,然后從“函數(shù)”下拉列表框中選擇Area函數(shù),再輸入“=”號(hào),最后輸入500。這樣建立了一個(gè)條件表達(dá)式,即選擇人口密度大于等于500 人/k的國(guó)家。將光標(biāo)移動(dòng)到“按列排序”欄中,從“列”下拉列表框中選擇Count
14、ry,表示依 據(jù)國(guó)家名的字母順序排列記錄。將光標(biāo)移動(dòng)到“結(jié)果放入指表”欄中,在其中輸入“人口密度大于5000的國(guó)家” 作為表名。單擊“校驗(yàn)”按鈕,驗(yàn)證SQL查詢表達(dá)式是否正確。如果語法錯(cuò)誤,MapInfo將給出一 條錯(cuò)誤信息,并說明錯(cuò)誤原因。單擊“確定”按鈕,將創(chuàng)建如圖4-2所示的查詢表。使用聚合函數(shù)幫助查詢MapInfo提供了 6個(gè)聚合函數(shù),它們分別是:Count(*)。用于計(jì)算一組中記錄的個(gè)數(shù)??捎谩?”作為參數(shù),因?yàn)樗鼘⒄麠l記錄作 為一個(gè)整體來考慮,而不單獨(dú)作用于某一個(gè)特定的字段。-Sum(表達(dá)式)。用于計(jì)算一組中所有記錄的表達(dá)式的總和。-Avg(表達(dá)式)。用于計(jì)算一組中所有記錄的表達(dá)式
15、的平均值。 WtAvg (表達(dá)式)。用于計(jì)算一組中所有記錄的表達(dá)式的加權(quán)平均值。Max(表達(dá)式)。用于計(jì)算一組中所有記錄的表達(dá)式的最大值。Min(表達(dá)式)。用于計(jì)算一組中所有記錄的表達(dá)式的最小值。下面我們利用MapInfo提供的聚合函數(shù)計(jì)算世界各個(gè)洲的國(guó)家數(shù)目、總?cè)丝诤涂偯娣e信 息,步驟如下。打開World.tab表。選擇菜單“查詢”中的” SQL選擇.”命令,打開” SQL選 擇.”對(duì)話框。將光標(biāo)移動(dòng)到“從表”中,從“表”下拉列表框中選擇WORLD表。將光標(biāo)移動(dòng)到“選擇列”中,從“列”下拉列表框中選擇“Continent”,并輸入 一個(gè)空格,在其后輸入“洲名”。然后從“聚合”下拉列表框中選擇
16、“Count”函數(shù),輸入一 個(gè)空格后輸入國(guó)家數(shù)目“國(guó)家數(shù)” ”。從“聚合”下拉列表框中選擇Sum函數(shù),然后從“列”下拉表框中選擇Pop_1994。 將光標(biāo)移動(dòng)到Sum函數(shù)的后面,輸入一個(gè)空格后輸入“總?cè)丝跀?shù)”。Sum(Pop_1994)將創(chuàng)建 一個(gè)計(jì)算總?cè)丝诘呐缮?。從“聚合”下列表框中選擇Sum函數(shù),然后從“函數(shù)”中選擇Area函數(shù)。將光標(biāo) 移動(dòng)到Sum函數(shù)的后面,輸入一個(gè)空格后輸入“總面積”。Sum(Area(obj, “sqmi”)表達(dá) 式將創(chuàng)建一個(gè)計(jì)算總面積的排生列。將光標(biāo)移動(dòng)到“按列分組”欄中,從“列”中選擇“Continent,表示按洲進(jìn)行 歸組。將光標(biāo)移動(dòng)到“按列排序”欄中,從“
17、列”中選擇Continent,表示按洲名的字 母進(jìn)行排序。將光標(biāo)移動(dòng)到“將結(jié)果保存在表”欄中輸入“各大洲總?cè)丝诤涂偯娣e”作為查詢 表名。輸入完畢后的” SQL選擇.”對(duì)話框如圖4-3所示。請(qǐng)檢查是否輸入正確,可 以通過“校驗(yàn)”按鈕來檢查語法錯(cuò)誤。在” SQL選擇.”對(duì)話框中選擇“確定”按鈕,將進(jìn)行SQL查詢。查詢結(jié)果如圖4-4 所示。圖4-3輸入查詢表達(dá)式后的SQL選擇對(duì)話框圖4-4查詢結(jié)果利用地理運(yùn)算符幫助查詢地理運(yùn)算符允許用戶根據(jù)對(duì)象的空間關(guān)系選擇對(duì)象。MapInfo中與地理運(yùn)算符同時(shí) 使用的關(guān)鍵字是obj,該關(guān)鍵字通知MapInfo是基于地理對(duì)象而不是表格數(shù)據(jù)來獲取數(shù) 據(jù)。地理運(yùn)算符放在
18、兩個(gè)指定的對(duì)象之間,例如A Contains B。MapInfo提供了 5個(gè)地理運(yùn)算符,它們分別為:-A Contains B。若對(duì)象B的中心在對(duì)象A中,則對(duì)象A包含對(duì)象B。, A Contains Entire B。若對(duì)象B的邊界完全在對(duì)象A的邊界內(nèi),則對(duì)象A完全 包含對(duì)象B。-A Winthin B。若對(duì)象A的中心在對(duì)象B中,則對(duì)象A包含于對(duì)象B中。-A Winthin Entire B。若對(duì)象A的邊界完全在對(duì)象B的邊界內(nèi),則對(duì)象A完全 包含于對(duì)象B中。 A Intersects B。若對(duì)象A和對(duì)象B至少有一個(gè)公共點(diǎn)或某一個(gè)完全在另一個(gè)之中時(shí),對(duì)象A與對(duì)象B相交。例如,我們要統(tǒng)計(jì)在美國(guó)各個(gè)州中的城市,可按如下步驟操作。(1)打開States.tab表和City_125.tab表,并從“查詢”菜單中選擇”SQL選擇.” 命令,打開” SQL選擇.”對(duì)話框。(2)將光標(biāo)移動(dòng)到“從表”欄中,從“表”下拉列表框中以此選擇CITY_125和STATESo(3)將光標(biāo)移到“選擇列”欄中,從“列”下拉對(duì)話框中依次選擇CITY_125.City和 STATES.State_Name。(4)將光標(biāo)移到“條件”欄中,先從“列”下拉列表框中選擇CITY_125.obj,然后從 “運(yùn)算符”中選擇“Within”,最后從“列”下拉列表框中選擇States.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 藥物篩選與高通量技術(shù)-洞察分析
- 2024年柳州華僑醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點(diǎn)附帶答案
- 2025年粵教新版九年級(jí)歷史下冊(cè)階段測(cè)試試卷
- 養(yǎng)殖場(chǎng)糞污處理合同(2篇)
- 2024年05月山西山西銀行社會(huì)招考筆試歷年參考題庫附帶答案詳解
- 中位線定理課件
- 2024年05月山東中國(guó)民生銀行濟(jì)南分行社會(huì)招考(512)筆試歷年參考題庫附帶答案詳解
- 2025年人教新起點(diǎn)高二化學(xué)上冊(cè)月考試卷含答案
- 計(jì)算機(jī)組裝與維護(hù)項(xiàng)目教程項(xiàng)目教程課件
- 2024年浙教版選修4歷史下冊(cè)階段測(cè)試試卷
- 少年宮管理制度多篇培訓(xùn)
- 銷售秒殺方案
- 第1課+古代亞非(教學(xué)設(shè)計(jì))【中職專用】《世界歷史》(高教版2023基礎(chǔ)模塊)
- 山西省呂梁市孝義市2023-2024學(xué)年八年級(jí)上學(xué)期期末道德與法治試題
- 新生兒出生后的注意事項(xiàng)課件
- 2024年6月廣東省高中學(xué)業(yè)水平考試物理試卷(附答案)
- 親近母語“西游智慧數(shù)學(xué)”系列
- 國(guó)家開放大學(xué)電大本科《古代小說戲曲專題》2024期末試題及答案(試卷號(hào):1340)
- 高考英語復(fù)習(xí)備考:語篇銜接連貫的“七選五”教學(xué)設(shè)計(jì)
- 貴州省銅仁市2022-2023學(xué)年高二上學(xué)期1月期末質(zhì)量監(jiān)測(cè)數(shù)學(xué)試題(含答案詳解)
- 正常分娩產(chǎn)婦護(hù)理查房
評(píng)論
0/150
提交評(píng)論