




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第五章第五章 空間數(shù)據(jù)查詢空間數(shù)據(jù)查詢建立空間數(shù)據(jù)建立空間數(shù)據(jù)圖層劃分圖層劃分掃描矢量化掃描矢量化地圖編輯地圖編輯空間數(shù)據(jù)查詢空間數(shù)據(jù)查詢空間數(shù)據(jù)分析空間數(shù)據(jù)分析專題制圖專題制圖空間數(shù)據(jù)應(yīng)用空間數(shù)據(jù)應(yīng)用空間數(shù)據(jù)查詢的定義空間數(shù)據(jù)查詢的定義 空間數(shù)據(jù)查詢一般定義為:空間數(shù)據(jù)查詢一般定義為:作用在作用在GISGIS數(shù)據(jù)上的函數(shù),返回滿足條件的內(nèi)容。數(shù)據(jù)上的函數(shù),返回滿足條件的內(nèi)容??臻g數(shù)據(jù)查詢是空間數(shù)據(jù)查詢是GISGIS的一個基本功能。的一個基本功能。 空間數(shù)據(jù)查詢的內(nèi)容空間數(shù)據(jù)查詢的內(nèi)容兩種基本查詢兩種基本查詢: 通過屬性查圖形 通過圖形查屬性 在在GISGIS分析中,常常需要分析中,常常需要綜
2、合運用綜合運用實體之間的實體之間的空間關(guān)系和屬性數(shù)據(jù)空間關(guān)系和屬性數(shù)據(jù),要求要求GISGIS數(shù)據(jù)庫能對實體的屬性數(shù)據(jù)和空間數(shù)據(jù)進行綜合管理。數(shù)據(jù)庫能對實體的屬性數(shù)據(jù)和空間數(shù)據(jù)進行綜合管理。找找離火車站離火車站最近最近的汽車的汽車站?站?空間空間數(shù)據(jù)庫數(shù)據(jù)庫屬性為火屬性為火車站的點車站的點所有屬性為所有屬性為汽車站的點汽車站的點空空間間 計計算算距離最近距離最近的汽車站的汽車站檢索檢索檢索檢索GIS分析分析查詢方式 選擇查詢 通過空間對象查詢屬性 通過屬性查詢空間對象 空間定位 綜合查詢 利用空間信息和屬性信息進行查詢通過空間對象查詢屬性 選擇空間對象 方式 點擊 矩形 圓形 區(qū)域 范圍結(jié)構(gòu)化查
3、詢語言(結(jié)構(gòu)化查詢語言(SQL)介紹)介紹結(jié)構(gòu)化查詢語言(結(jié)構(gòu)化查詢語言(SQL)SQL是為數(shù)據(jù)庫查詢的設(shè)計和執(zhí)行而專門設(shè)計是為數(shù)據(jù)庫查詢的設(shè)計和執(zhí)行而專門設(shè)計的一種標(biāo)準化語言的一種標(biāo)準化語言。像其它的 程 序 語 言 (像其它的 程 序 語 言 (C,FORTRAN)一樣,它獨立于運行于其上的數(shù))一樣,它獨立于運行于其上的數(shù)據(jù)庫。據(jù)庫。SQL可以應(yīng)用于任何支持它的數(shù)據(jù)庫??煽梢詰?yīng)用于任何支持它的數(shù)據(jù)庫??梢赃M行獨立的、分散的數(shù)據(jù)庫的連接。以進行獨立的、分散的數(shù)據(jù)庫的連接。SQL使用使用者不需要特別注意他人所使用的數(shù)據(jù)庫軟件包,者不需要特別注意他人所使用的數(shù)據(jù)庫軟件包,因為因為SQL提供了數(shù)據(jù)
4、庫查詢的標(biāo)準方法。提供了數(shù)據(jù)庫查詢的標(biāo)準方法。結(jié)構(gòu)化查詢語言(結(jié)構(gòu)化查詢語言(SQL)介紹)介紹SQL系統(tǒng)包括三個不同的組成部分:系統(tǒng)包括三個不同的組成部分:數(shù)據(jù)定義語言(數(shù)據(jù)定義語言(DDL)數(shù)據(jù)操作語言(數(shù)據(jù)操作語言(DML)數(shù)據(jù)控制語言(數(shù)據(jù)控制語言(DCL)DDL用于定義數(shù)據(jù)庫的內(nèi)容用于定義數(shù)據(jù)庫的內(nèi)容屬性名稱屬性名稱、 類 型 、 儲 存 特 點 。 描 述 性 信 息 (、 類 型 、 儲 存 特 點 。 描 述 性 信 息 (metadata)也在此建立。)也在此建立。DML用于數(shù)據(jù)庫查詢用于數(shù)據(jù)庫查詢輸入、編輯、分輸入、編輯、分析、輸出。析、輸出。DCL用于控制數(shù)據(jù)庫的進入。用
5、于控制數(shù)據(jù)庫的進入。1)SQL組成組成關(guān)系數(shù)據(jù)庫的連接和查詢SQL查詢的基礎(chǔ)句法是:查詢的基礎(chǔ)句法是:SELECT數(shù)據(jù)字段數(shù)據(jù)字段FROM表格表格WHERE字段字段Expression值值例如:例如:SELECT soil_type, soil_nameFROM soils.dat, WHERE soil_name eq “Sandy Loam”2 )SQL數(shù)據(jù)庫查詢的句法數(shù)據(jù)庫查詢的句法關(guān)系數(shù)據(jù)庫的連接和查詢表1-Land Parcel Records PARCEL.DATParcel_No Owner Value Use34651 D. Smith 15000 Resi
6、dential34652 C. Lawrence 22500 Industrial34653 D. Lewsley 32600 Agricultural34654 S. Bishop 24300 Residential34655 C. Lawrence 88500 Commercial 1 )關(guān)系數(shù)據(jù)庫和關(guān)系數(shù)據(jù)庫和SQL進行數(shù)據(jù)庫查詢的一個例子進行數(shù)據(jù)庫查詢的一個例子 關(guān)系數(shù)據(jù)庫的連接和查詢 如果現(xiàn)在想選擇所有滿足下列要求的土地:屬于如果現(xiàn)在想選擇所有滿足下列要求的土地:屬于C. Lawrence,價值大于,價值大于30000,土地利用類型為非居住,土地利用類型為非居住用地,查詢過程如下:用
7、地,查詢過程如下:SELECT OWNER, VALUE,USEFROM PARCELDATWHERE OWNER eq C. Lawrence AND VALUE gt 30000 AND NOT LAND USE =RESIDENTIAL或者或者WHERE OWNER = C. Lawrence AND VALUE 30000 AND NOT LAND USE NE RESIDENTIAL1 )關(guān)系數(shù)據(jù)庫和關(guān)系數(shù)據(jù)庫和SQL進行數(shù)據(jù)庫查詢的一個例子進行數(shù)據(jù)庫查詢的一個例子 關(guān)系數(shù)據(jù)庫的連接和查詢 表2-Site Information SITE.DATParcel_No Address A
8、rea No_of Properties34651 George St. 1540 1234652 Adam St. 2200 0334653 Henry St. 9500 0134654 Park Ave. 0950 0334655 Station Rd. 1450 10. . 2 )關(guān)系數(shù)據(jù)庫和關(guān)系數(shù)據(jù)庫和SQL進行數(shù)據(jù)庫查詢的一個例子進行數(shù)據(jù)庫查詢的一個例子 關(guān)系數(shù)據(jù)庫的連接和查詢?nèi)绻覀儸F(xiàn)在想選擇所有滿足下列要求的土地:如果我們現(xiàn)在想選擇所有滿足下列要求的土地:價值大于價值大于25000,其上有,其上有5個或多于個或多于5個房產(chǎn),查詢個房產(chǎn),查詢過程如下:過程如下:SELECT VAL
9、UE, NO_OF_PROPERTIESFROM PARCEL.DAT, SITE.DATWHERE VALUE gt 25000 OR NO_OF_PROPERTIES=52 )關(guān)系數(shù)據(jù)庫和關(guān)系數(shù)據(jù)庫和SQL進行數(shù)據(jù)庫查詢的一個例子進行數(shù)據(jù)庫查詢的一個例子 關(guān)系數(shù)據(jù)庫的連接和查詢查詢的結(jié)果將會以一個新的表格的形式顯示出來。查詢的結(jié)果將會以一個新的表格的形式顯示出來。Parcel_No VALUE NO_OF_PROPERTIES34675 25000 2034653 32600 0134655 88500 10 . . 2 )關(guān)系數(shù)據(jù)庫和關(guān)系數(shù)據(jù)庫和SQL進行數(shù)據(jù)庫查詢的一個例子進行數(shù)據(jù)庫查
10、詢的一個例子 5.1 對象查詢 對象 點對象:維數(shù)為零的物體。 線對象:表示對象和它們邊界的空間屬性,由一維表示。 多邊型對象:數(shù)據(jù)庫中由一封閉曲線加內(nèi)點來表示。5.1 對象查詢 對象查詢 使圖層可編輯,選擇對象,通過菜單“窗口”-“新建瀏覽窗口”或者單擊工具欄上的新建瀏覽窗口,再選擇Selection,單擊確定。 5.1 對象查詢5.2SQL查詢 通過“選擇”來查詢5.2SQL查詢 從表中選擇記錄 使用下拉列表來選擇要使用的表。 滿足條件 在”滿足條件”輸入表達式,或單擊“輔助”。5.2SQL查詢 存結(jié)果于表 若用戶選擇Selection,MapInfo把表命名為 Query1,Query2
11、等。 結(jié)果排序按列 可以通過選擇來指定一種排序。默認不排序。 瀏覽結(jié)果 默認選中。取消選中,該表是“存結(jié)果于表”中指定的表。 保存模板 可以將對話框設(shè)置另存為查詢模板 載入模板 載入模板可以加載已保存的查詢模板 單擊確定執(zhí)行查詢 5.2SQL查詢 通過“選擇SQL”查詢5.2SQL查詢 選擇列 默認是*,結(jié)果表示包含表中的每一列。若用戶只要表中的某幾列,可用逗號分隔的列名清單來代替“*”。 從表 指要查詢的表。輸入兩個或多個表,則必須在“條件”域中設(shè)定一個合適的表達式。執(zhí)行多表連接,所有表必須是基礎(chǔ)表。 條件 輸入查詢表達式,若需要也可以輸入過濾規(guī)則,例:Population5000000 按
12、列分組 對結(jié)果表進行分類匯總。 按列排序 默認按升序排,為了按照降序排,可以在列名之后輸入“desc”。5.2SQL查詢 結(jié)果放入表 允許設(shè)定結(jié)果表的名稱。使每次使用Selection作為結(jié)果表名產(chǎn)生的Queryn都用設(shè)定表的名稱代替。 瀏覽結(jié)果 選中,MapInfo將在瀏覽窗口中顯示查詢結(jié)果。 使用下拉列表 “表”,“列”,“運算符”,“聚合”和“函數(shù)”。 保存模板 載入模板 可以加載已保存過的查詢模板。5.2SQL查詢 “SQL選擇”的操作 執(zhí)行“查詢”-”SQL選擇”,從右側(cè)的下拉列表框中選擇需要的表,再將光標(biāo)停在“選擇列”文本框,選擇所需字段。最后單擊“檢驗”。 5.2SQL查詢 此系
13、統(tǒng)默認的結(jié)果為Query1,必須通過“表”-”轉(zhuǎn)出”,將其轉(zhuǎn)換為*.mif格式,最后通過“表”-”轉(zhuǎn)入”命令將其還原為*.tab的格式,結(jié)果將單獨顯示出來。5.2SQL查詢 “選擇列選擇列”字段字段 1.計算派生列計算派生列 派生列是一個特殊的臨時列,它是由已有的一個或多個列計算產(chǎn)生的值。例如:表中有兩個字段Purchases 92和Purchases 93(表示每個客戶1992年和1993年的購貨量)。要獲取總購貨量列??梢酝ㄟ^這樣的形式產(chǎn)生一個派生列: Purchases 92+Purchases 93。 要指定一個派生列,可以在“選擇列”域中輸入一個表達式。(由列名,運算符,函數(shù)組成)
14、步驟如下步驟如下:單擊“選擇列”域從“選擇列”域中刪除“ * ”輸入表達式可以給表達式起個別名多個列名或派生列表達式應(yīng)用逗號分隔開。 5.2SQL查詢2.選擇顯示結(jié)果表中的列 輸入一系列列名的操作如下: 1)在“從表”域中輸入表名。 2)單擊“選擇列”,該域中出現(xiàn)插入符。 3)如果有”*”,先刪除?!斑x擇列”域中含有一個“*”或者一系列列名。 4)在對話框右側(cè)的“列”下拉列表中選擇一個列名。 5)如希望查詢中包含多個列,可以在“列”下拉列表中選擇其它列名。 5.2SQL查詢3.使用“SQL選擇”對話框的“選擇列”字段 若想結(jié)果表中含有與原始表相同的集,在“選擇列”域中輸入“*”。 若想結(jié)果表中
15、含有的集與原始表不同,刪除“*”,并輸入“,”分隔一系列列名或表達式. 若涉及多個表,每個列名前必須加上表名,用句號分開表名和列名.5.2SQL查詢 “條件”字段 1.按行序連接表 若兩個表沒有公共列,可以按照記錄的順 序進行表連接 。 例如,條件:table_1.RowID= table_2.RowID 2.按地理表關(guān)系連接表 若兩個表有圖形對象,可以根據(jù)這些對象的空 間關(guān)系來連接表. 地理運算符允許根據(jù)某些對象與其他對象的空間關(guān)系來選中它們.”運算符”. 主要的運算符有:Contains,Contains Entire,Within, Entirely Within,Intersects5
16、.2SQL查詢5.2SQL查詢 若表中沒有能夠進行連接的列,可以使用地理運算符來指定連接(在”條件”域中),例如 ,涉及Cities表和States表的查詢可以使用這樣的表達式連接:Cities.obj within States.obj或者Cities.obj Contain States.obj。 總之,小對象是Within大對象,大對象Contain小對象。5.2SQL查詢 3.連接兩個或多個表 “SQL選擇”允許創(chuàng)建關(guān)系型連接,從而將來自不同表的信息匯集到單個結(jié)果表中。例如,一個是帶有人口統(tǒng)計信息的“縣表”,也有一個顧客訂單數(shù)據(jù)庫,現(xiàn)在想根據(jù)訂單和人口統(tǒng)計特征的組合選擇一些縣。為此必須
17、進行表連接。 5.2SQL查詢5.2SQL查詢 在:“SQL選擇”對話框中,可使用“條件 域來告訴連接這兩個表。SQL選擇對話框可能如下: 選擇列:* 從表:Counties,Orders 條件:Counties.CountyName=Orders.County 表名順序(“從表”域中)很重要,進一步講,當(dāng)查詢完成,自動從”從表”域的第一個表中選擇部分或全部記錄,結(jié)果表也包括從訂單表復(fù)制來的數(shù)據(jù),但本質(zhì)上講不從訂單表選擇記錄。5.2SQL查詢 連接兩個表時,結(jié)果表中記錄取決于兩個表的匹配情況。假設(shè)訂單表有10000條記錄,它與州表(有50條記錄)相連接。結(jié)果可能包括10000條記錄,若訂單表中
18、有些記錄與州表中的記錄無法匹配,結(jié)果表中記錄將少于10000。有400條不匹配,結(jié)果表就只有9600條。 當(dāng)用另一個表的信息來更新某個表中的一列時,可以進行如下操作: 1)用“SQL選擇”連接表 2)對Selection使用“更新列”,更新將自動對適當(dāng)?shù)幕A(chǔ)表生效。5.2SQL查詢4.執(zhí)行子表選擇 MapInfo允許SQL選擇中有子選擇。子選擇是被放在“SQL選擇”對話框中的“條件”域內(nèi)的選擇語句。 例如,選擇人口大于1990年全美范圍的平均人口的所有州,應(yīng)該是Pop_1990平均州人口,但是不知道平均值是多少,可使用聚合表達式計算,Avg(Pop_1990),SQL選擇對話框可以這樣填: 選
19、擇列:* 從表:States 條件:Pop_1990(Select Avg(Pop_1990)From States) 例如:選擇states中超過4000000人的 所有城市 選擇列:* 從表:cities 條件:obj within any (select obj from states where Pop_19904000000) 5.2SQL查詢 5.設(shè)置過濾規(guī)則 過濾條件是常用于比較列值與其他值得邏輯表達式。例如,使用大于運算符:“”來檢查Order_Amount100 條件:Order_Amount100 如果“條件”子域包含兩個或多個邏輯表達式,且是用and連接的,那么MapIn
20、fo將選擇滿足這些所有表達式的行;如果是用or連接的,只將出現(xiàn)滿足其中任一條件的行。5.2SQL查詢 6.使用“SQL選擇”對話框的“條件”字段 在某些情況下,可使用條件域來指定關(guān)系連接,從而查詢能包括兩個或多個表中的列。但是要注意的是:不能在“條件”域中使用聚合函數(shù)。5.2SQL查詢 5.2.7”按列排序”字段 1.默認下,MapInfo是按照升序排列的,想按降序排列,需在“按列排序”域中將desc放在列名字前。 例如,對State列進行升序排列,對Population進行降序排列 選擇列:* 從表:City_1K 按列排序: State, Population desc5.2SQL查詢 2
21、.使用“按列排序”字段排序結(jié)果表 在“SQL選擇”對話框中使用“按列排序” 域,可將結(jié)果表的記錄排序。 例如:按照State列對City_1K表排序 選擇列:* 從表:City_1K 按列排序:State, City 若“按列排序”域內(nèi)含有兩個或多個列名,MapInfo 執(zhí)行多級排序。 5.2SQL查詢 5.2.8“按列分組”字段 1.按列分組示例 例,設(shè)想有一個顧客訂單表。該表每一行表示單個訂單。表中以列包含訂貨銷售代理的名字,另一列含有顧客名字,還有一列包含定貨量。 要求找出:1)該代理的訂單數(shù)目 2)該代理的平均訂貨量 3)該代理的總定貨量5.2SQL查詢 選擇列: Sales_Rep,count(*),average(AMOUNT), sum (AMOUNT) 從表:Ord
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- ?;髽I(yè)安全生產(chǎn)投入與保障方案
- 互動式教學(xué)在高中化學(xué)課堂中的應(yīng)用研究
- 中外教育史知到課后答案智慧樹章節(jié)測試答案2025年春泰山學(xué)院
- 中外園林漫賞知到課后答案智慧樹章節(jié)測試答案2025年春青島農(nóng)業(yè)大學(xué)
- 電廠閥門修理施工方案
- 三級人力資源管理師-《三級企業(yè)人力資源管理師專業(yè)》綜合??季?
- 2025年耐高溫濾料項目建議書
- 25學(xué)年教案語文(必修上冊)162《登泰山記》
- 2025屆新疆維吾爾自治區(qū)二模歷史試題(原卷版+解析版)
- 基于MongoDB與REST的通航云數(shù)據(jù)中心的設(shè)計與實現(xiàn)
- DB-T29-260-2019天津市建筑物移動通信基礎(chǔ)設(shè)施建設(shè)標(biāo)準
- 吉利汽車經(jīng)銷商運營手冊
- 《如何處理人際關(guān)系》課件
- 社區(qū)消防網(wǎng)格員培訓(xùn)課件
- 依奇珠單抗注射液-藥品解讀
- 太陽能路燈施工方案
- 前列腺炎的護理課件
- 外墻防水膠驗報告模板
- 頂管頂力計算
- 本學(xué)期研究性成果及創(chuàng)新成果高中范文(3篇)
- MMPI14個量表得分題目號碼
評論
0/150
提交評論