完備資料庫
大數據量高並發訪問資料庫結構的設計
如果不能設計一個合理的資料庫模型,不僅會增加客戶端和伺服器段程序的編程和維護的難度,而且將會影響系統實際運行的性能。所以,在一個系統開始實施之前,完備的資料庫模型的設計是必須的。
在一個系統分析、設計階段,因為數據量較小,負荷較低。我們往往只注意到功能的實現,而很難注意到性能的薄弱之處,等到系統投入實際運行一段時間後,才發現系統的性能在降低,這時再來考慮提高系統性能則要花費更多的人力物力,而整個系統也不可避免的形成了一個打補丁工程。
所以在考慮整個系統的流程的時候,我們必須要考慮,在高並發大數據量的訪問情況下,我們的系統會不會出現極端的情況。(例如:對外統計系統在7月16日出現的數據異常的情況,並發大數據量的的訪問造成,資料庫的響應時間不能跟上數據刷新的速度造成。具體情況是:在日期臨界時(00:00:00),判斷資料庫中是否有當前日期的記錄,沒有則插入一條當前日期的記錄。在低並發訪問的情況下,不會發生問題,但是當日期臨界時的訪問量相當大的時候,在做這一判斷的時候,會出現多次條件成立,則資料庫里會被插入多條當前日期的記錄,從而造成數據錯誤。),資料庫的模型確定下來之後,我們有必要做一個系統內數據流向圖,分析可能出現的瓶頸。
為了保證資料庫的一致性和完整性,在邏輯設計的時候往往會設計過多的表間關聯,盡可能的降低數據的冗餘。(例如用戶表的地區,我們可以把地區另外存放到一個地區表中)如果數據冗餘低,數據的完整性容易得到保證,提高了數據吞吐速度,保證了數據的完整性,清楚地表達數據元素之間的關系。而對於多表之間的關聯查詢(尤其是大數據表)時,其性能將會降低,同時也提高了客戶端程序的編程難度,因此,物理設計需折衷考慮,根據業務規則,確定對關聯表的數據量大小、數據項的訪問頻度,對此類數據表頻繁的關聯查詢應適當提高數據冗餘設計但增加了表間連接查詢的操作,也使得程序的變得復雜,為了提高系統的響應時間,合理的數據冗餘也是必要的。設計人員在設計階段應根據系統操作的類型、頻度加以均衡考慮。
另外,最好不要用自增屬性欄位作為主鍵與子表關聯。不便於系統的遷移和數據恢復。對外統計系統映射關系丟失(******************)。
原來的表格必須可以通過由它分離出去的表格重新構建。使用這個規定的好處是,你可以確保不會在分離的表格中引入多餘的列,所有你創建的表格結構都與它們的實際需要一樣大。應用這條規定是一個好習慣,不過除非你要處理一個非常大型的數據,否則你將不需要用到它。(例如一個通行證系統,我可以將USERID,USERNAME,USERPASSWORD,單獨出來作個表,再把USERID作為其他表的外鍵)
表的設計具體注意的問題:
1、數據行的長度不要超過8020位元組,如果超過這個長度的話在物理頁中這條數據會佔用兩行從而造成存儲碎片,降低查詢效率。
2、能夠用數字類型的欄位盡量選擇數字類型而不用字元串類型的(電話號碼),這會降低查詢和連接的性能,並會增加存儲開銷。這是因為引擎在處理查詢和連接回逐個比較字元串中每一個字元,而對於數字型而言只需要比較一次就夠了。
3、對於不可變字元類型char和可變字元類型varchar都是8000位元組,char查詢快,但是耗存儲空間,varchar查詢相對慢一些但是節省存儲空間。在設計欄位的時候可以靈活選擇,例如用戶名、密碼等長度變化不大的欄位可以選擇CHAR,對於評論等長度變化大的欄位可以選擇VARCHAR。
4、欄位的長度在最大限度的滿足可能的需要的前提下,應該盡可能的設得短一些,這樣可以提高查詢的效率,而且在建立索引的時候也可以減少資源的消耗。
5、基本表及其欄位之間的關系, 應盡量滿足第三範式。但是,滿足第三範式的資料庫設計,往往不是最好的設計。為了提高資料庫的運行效率,常常需要降低範式標准:適當增加冗餘,達到以空間換時間的目的。
6、若兩個實體之間存在多對多的關系,則應消除這種關系。消除的辦法是,在兩者之間增加第三個實體。這樣,原來一個多對多的關系,現在變為兩個一對多的關系。要將原來兩個實體的屬性合理地分配到三個實體中去。這里的第三個實體,實質上是一個較復雜的關系,它對應一張基本表。一般來講,資料庫設計工具不能識別多對多的關系,但能處理多對多的關系。
7、主鍵PK的取值方法,PK是供程序員使用的表間連接工具,可以是一無物理意義的數字串, 由程序自動加1來實現。也可以是有物理意義的欄位名或欄位名的組合。不過前者比後者好。當PK是欄位名的組合時,建議欄位的個數不要太多,多了不但索引佔用空間大,而且速度也慢。
8、主鍵與外鍵在多表中的重復出現, 不屬於數據冗餘,這個概念必須清楚,事實上有許多人還不清楚。非鍵欄位的重復出現, 才是數據冗餘!而且是一種低級冗餘,即重復性的冗餘。高級冗餘不是欄位的重復出現,而是欄位的派生出現。
〖例4〗:商品中的「單價、數量、金額」三個欄位,「金額」就是由「單價」乘以「數量」派生出來的,它就是冗餘,而且是一種高級冗餘。冗餘的目的是為了提高處理速度。只有低級冗餘才會增加數據的不一致性,因為同一數據,可能從不同時間、地點、角色上多次錄入。因此,我們提倡高級冗餘(派生性冗餘),反對低級冗餘(重復性冗餘)。
9、中間表是存放統計數據的表,它是為數據倉庫、輸出報表或查詢結果而設計的,有時它沒有主鍵與外鍵(數據倉庫除外)。臨時表是程序員個人設計的,存放臨時記錄,為個人所用。基表和中間表由DBA維護,臨時表由程序員自己用程序自動維護。
10、防止資料庫設計打補丁的方法是「三少原則」
(1) 一個資料庫中表的個數越少越好。只有表的個數少了,才能說明系統的E--R圖少而精,去掉了重復的多餘的實體,形成了對客觀世界的高度抽象,進行了系統的數據集成,防止了打補丁式的設計;
(2) 一個表中組合主鍵的欄位個數越少越好。因為主鍵的作用,一是建主鍵索引,二是做為子表的外鍵,所以組合主鍵的欄位個數少了,不僅節省了運行時間,而且節省了索引存儲空間;
(3) 一個表中的欄位個數越少越好。只有欄位的個數少了,才能說明在系統中不存在數據重復,且很少有數據冗餘,更重要的是督促讀者學會「列變行」,這樣就防止了將子表中的欄位拉入到主表中去,在主表中留下許多空餘的欄位。所謂「列變行」,就是將主表中的一部分內容拉出去,另外單獨建一個子表。這個方法很簡單,有的人就是不習慣、不採納、不執行。
資料庫設計的實用原則是:在數據冗餘和處理速度之間找到合適的平衡點。「三少」是一個整體概念,綜合觀點,不能孤立某一個原則。該原則是相對的,不是絕對的。「三多」原則肯定是錯誤的。試想:若覆蓋系統同樣的功能,一百個實體(共一千個屬性) 的E--R圖,肯定比二百個實體(共二千個屬性)的E--R圖,要好得多。
提倡「三少」原則,是叫讀者學會利用資料庫設計技術進行系統的數據集成。數據集成的步驟是將文件系統集成為應用資料庫,將應用資料庫集成為主題資料庫,將主題資料庫集成為全局綜合資料庫。集成的程度越高,數據共享性就越強,信息孤島現象就越少,整個企業信息系統的全局E—R圖中實體的個數、主鍵的個數、屬性的個數就會越少。
提倡「三少」原則的目的,是防止讀者利用打補丁技術,不斷地對資料庫進行增刪改,使企業資料庫變成了隨意設計資料庫表的「垃圾堆」,或資料庫表的「大雜院」,最後造成資料庫中的基本表、代碼表、中間表、臨時表雜亂無章,不計其數,導致企事業單位的信息系統無法維護而癱瘓。
「三多」原則任何人都可以做到,該原則是「打補丁方法」設計資料庫的歪理學說。「三少」原則是少而精的原則,它要求有較高的資料庫設計技巧與藝術,不是任何人都能做到的,因為該原則是杜絕用「打補丁方法」設計資料庫的理論依據。
11、在給定的系統硬體和系統軟體條件下,提高資料庫系統的運行效率的辦法是:
(1) 在資料庫物理設計時,降低範式,增加冗餘, 少用觸發器, 多用存儲過程。
(2) 當計算非常復雜、而且記錄條數非常巨大時(例如一千萬條),復雜計算要先在資料庫外面,以文件系統方式用編程語言計算處理完成之後,最後才入庫追加到表中去。
(3) 發現某個表的記錄太多,例如超過一千萬條,則要對該表進行水平分割。水平分割的做法是,以該表主鍵PK的某個值為界線,將該表的記錄水平分割為兩個表。若發現某個表的欄位太多,例如超過八十個,則垂直分割該表,將原來的一個表分解為兩個表。
(4) 對資料庫管理系統DBMS進行系統優化,即優化各種系統參數,如緩沖區個數。
(5) 在使用面向數據的sql語言進行程序設計時,盡量採取優化演算法。
總之,要提高資料庫的運行效率,必須從資料庫系統級優化、資料庫設計級優化、程序實現級優化,這三個層次上同時下功夫。
主鍵設計:
1、不建議用多個欄位做主鍵,單個表還可以,但是關聯關系就會有問題,主鍵自增是高性能的。
2、一般情況下,如果有兩個外鍵,不建議採用兩個外鍵作為聯合住建,另建一個欄位作為主鍵。除非這條記錄沒有邏輯刪除標志,且該表永遠只有一條此聯合主鍵的記錄。
3、一般而言,一個實體不能既無主鍵又無外鍵。在E—R 圖中, 處於葉子部位的實體, 可以定義主鍵,也可以不定義主鍵(因為它無子孫), 但必須要有外鍵(因為它有父親)。
主鍵與外鍵的設計,在全局資料庫的設計中,佔有重要地位。當全局資料庫的設計完成以後,有個美國資料庫設計專家說:「鍵,到處都是鍵,除了鍵之外,什麼也沒有」,這就是他的資料庫設計經驗之談,也反映了他對信息系統核心(數據模型)的高度抽象思想。因為:主鍵是實體的高度抽象,主鍵與、外鍵的配對,表示實體之間的連接。
B. SQL資料庫是什麼
SQL是Structured Query Language(結構化查詢語言)的縮寫。SQL是專為資料庫而建立的操作命令集,是一種功能齊全的資料庫語言。在使用它時,只需要發出「做什麼」的命令,「怎麼做」是不用使用者考慮的。
SQL資料庫的數據體系結構基本上是三級結構,但使用術語與傳統關系模型術語不同。在SQL中,關系模式(模式)稱為"基本表"(base table);存儲模式(內模式)稱為"存儲文件"(stored file);子模式(外模式)稱為"視圖"(view);元組稱為"行"(row);屬性稱為"列"(column)。
(2)完備資料庫擴展閱讀:
SQL資料庫的優點:
1、易用性高:
適合分布式組織的可伸縮性、用於決策支持的數據倉庫功能、與許多其他伺服器軟體緊密關聯的集成性、良好的性價比等。
2.為數據管理與分析帶來了靈活性:
允許單位在快速變化的環境中從容響應,從而獲得競爭優勢。從數據管理和分析角度看,將原始數據轉化為商業智能和充分利用Web帶來的機會非常重要。作為一個完備的資料庫和數據分析包,SQLServer為快速開發新一代企業級商業應用程序、為企業贏得核心競爭優勢打開了勝利之門。
C. 資料庫 1、簡述你所知道的關系資料庫。 2、關系的形式話定義。 3、簡述外碼及參照完備性。
1.關系資料庫應用數學方法來處理資料庫。關系資料庫系統是支持關系模型的資料庫系統。關系模型中,實體以及實體間的聯系都用關系來表示。在一個給定的應用領域中,所有實體以及實體之間聯系的關系的集合構成一個關系資料庫。關系資料庫的型稱為關系資料庫模式,包括:若干域的定義;在這些域上定義的若干關系模式。關系資料庫的值是這些關系模式在某時刻對應的關系的集合,通常就稱為關系資料庫。 2.形式化定義:1.域:域是一組具有相同數據類型的值的集合。2:笛卡爾積:域上的一種集合運算。可表示為一個二維表。3:關系:D1*D2*…*Dn的子集叫做在域D1,D2,…Dn上的關系,表示為R(D1,D2,…,Dn) 這里R表示關系的名字,n是關系的目或度(屬性,表中的列)。關系中的每個元素是關系中的元組(表中的行),通常用t表示。n=1時,為單元關系(或一元關系),n=2時,為二元關系。關系是笛卡爾積的有限子集,也是一個二維表。 若關系中的某一屬性組的值能唯一標示一個元組,則稱該屬性組為候選碼。有多個候選碼時,選定一個為主碼(主鍵)。 3.設F是基本關系R的一個或一組屬性,但不是關系R的碼。Ks是基本關系的S主碼,如果F與Ks相對應,則稱F是R的外碼(外鍵)。參照完整性:現實世界中實體之間往往存在某種聯系,在關系模型中實體及實體間的聯系都是用關系來描述,這樣就自然存在著關系與關系間的引用,一個參照完整性將兩個表中相應的元組聯系起來。參照完整性規則:若屬性(或屬性組)F是基本關系R的外碼,它與基本關系S的主碼Ks相對應,則對於R中每個元組在F上的值必須為:或者為空(F中每個屬性均為空),或者等於S中某個元組的主碼值。 其實這個概念很模糊,其實說簡單點,比如在學生選課關系中,學號是學生表主鍵,課號是課程表主鍵,學號和課號聯合做選課表的主鍵,這都是實體完整性約束。 而選課表中,單獨一個學號是外鍵、參照學生表學號,單獨一個課號是外鍵,參照課程表課號,這都是參照完整性約束,比如課號的值只有1,但是你在選課表裡取課號為1以外的值,就會出錯,違反了參照完整性。
D. 資料庫備份主要包括哪三種方式
應該是四種吧?
1、完全備份這是大多數人常用的方式,它可以備份整個資料庫,包含用戶表、系統表、索引、視圖和存儲過程等所有資料庫對象。但它需要花費更多的時間和空間,所以,一般推薦一周做一次完全備份。[1]2、事務日誌備份事務日誌是一個單獨的文件,它記錄資料庫的改變,備份的時候只需要復制自上次備份以來對資料庫所做的改變,所以只需要很少的時間。為了使資料庫具有魯棒性,推薦每小時甚至更頻繁的備份事務日誌。
3、差異備份也叫增量備份。它是只備份資料庫一部分的另一種方法,它不使用事務日誌,相反,它使用整個資料庫的一種新映象。它比最初的完全備份小,因為它只包含自上次完全備份以來所改變的資料庫。它的優點是存儲和恢復速度快。推薦每天做一次差異備份。
4、文件備份資料庫可以由硬碟上的許多文件構成。如果這個資料庫非常大,並且一個晚上也不能將它備份完,那麼可以使用文件備份每晚備份資料庫的一部分。由於一般情況下資料庫不會大到必須使用多個文件存儲,所以這種備份不是很常用。
E. 資料庫有哪幾種
常用資料庫有mysql、oracle、sqlserver、sqlite等。
mysql性能較好,適用於所有平台,是當前最流行的關系型資料庫之一;sqlserver資料庫具有擴展性和可維護性,且安全性較高,是比較全面的資料庫;還有一種比較主流的資料庫是oracle,oracle資料庫適合大型資料庫;mysql和sqlite適合中小型資料庫。
特點
MySQL所使用的SQL語言是用於訪問資料庫的最常用標准化語言,由於其體積小、速度快、開放源碼等特點,一般中小型網站的開發都選擇MySQL作為網站資料庫。
ORACLE資料庫是目前世界上使用最為廣泛的資料庫管理系統,作為一個通用的資料庫系統,它具有完整的數據管理功能;作為一個關系資料庫,它是一個完備關系的產品。
SQLite 由以下幾個組件組成:SQL 編譯器、內核、後端以及附件。SQLite 通過利用虛擬機和虛擬資料庫引擎(VDBE),使調試、修改和擴展 SQLite 的內核變得更加方便。
F. 為什麼沒有完備資料庫的組織會在競爭與發展中落後
被那個資料庫的組織在競爭領域發落發展那個中落後啊,肯定的呀,沒有完備的那個數據。
G. 專業的大數據有完備的大數據嗎
大數據概念:
大數據(big data),或稱巨量資料,指的是所涉及的資料量規模巨大到無法通過目前主流軟體工具,在合理時間內達到擷取、管理、處理、並整理成為幫助企業經營決策更積極目的的資訊。(在維克托·邁爾-舍恩伯格及肯尼斯·庫克耶編寫的《大數據時代》中[2] 大數據指不用隨機分析法(抽樣調查)這樣的捷徑,而採用所有數據的方法)大數據的4V特點:Volume(大量)、Velocity(高速)、Variety(多樣)、Value(價值)。
大數據概念的特點:
大數據分析相比於傳統的數據倉庫應用,具有數據量大、查詢分析復雜等特點。《計算機學報》刊登的「架構大數據:挑戰、現狀與展望」一文列舉了大數據分析平台需要具備的幾個重要特性,對當前的主流實現平台——並行資料庫、MapRece及基於兩者的混合架構進行了分析歸納,指出了各自的優勢及不足,同時也對各個方向的研究現狀及作者在大數據分析方面的努力進行了介紹,對未來研究做了展望。
大數據的4個「V」,或者說特點有四個層面:第一,數據體量巨大。從TB級別,躍升到PB級別;第二,數據類型繁多。前文提到的網路日誌、視頻、圖片、地理位置信息等等。第三,處理速度快,1秒定律,可從各種類型的數據中快速獲得高價值的信息,這一點也是和傳統的數據挖掘技術有著本質的不同。第四,只要合理利用數據並對其進行正確、准確的分析,將會帶來很高的價值回報。業界將其歸納為4個「V」——Volume(大量)、Variety(多樣)、Velocity(高速)、Value(價值)。
從某種程度上說,大數據是數據分析的前沿技術。簡言之,從各種各樣類型的數據中,快速獲得有價值信息的能力,就是大數據技術。明白這一點至關重要,也正是這一點促使該技術具備走向眾多企業的潛力。
大數據的作用
對於一般的企業而言,大數據的作用主要表現在兩個方面,分別是數據的分析使用與進行二次開發項目。通過對禧金信息大數據進行分析,不僅能把隱藏的數據挖掘出來,還能通過這些隱藏的訊息,通過實體的銷售,提升自己的客戶源。至於對數據進行二次開發,在網路服務項目中被運用的比較多,通過將這些信息進行總結與分析,從而制定出符合客戶需要的個性化方案,並營造出一種全新的廣告營銷方式,在這里,你需要明白的是,通過大數據的分析,將產品與服務進行結合起來的並不是偶然事件,實現這種的往往是數據時代的領導者。
目前市面上也出現了比較多的數據分析平台,比如追燦的決策狗,還是比較好用的。
H. SQL資料庫有什麼優點
SQL Server的優點眾多,讓其在資料庫領域獨占鰲頭,成為最受用戶歡迎的資料庫系統,下面就讓我們來了解SQL Server的優點和缺點。
SQL Server是一個關系資料庫管理系統,它最初是由Microsoft, Sybase和Ashton-Tate三家公司共同開發的於1988 年推出了第一個OS/2 版本,在Windows NT 推出後,Microsoft與Sybase在SQL Server的開發上就分道揚鑣了,Microsoft將SQL Server移植到Windows NT系統上專注於開發推廣SQL Server的Windows NT版本,Sybase則較專注於SQL Server在UNIX操作系統上的應用.Microsoft SQL Server以後簡稱為SQL Server或MS SQL Server 。
隨著信息技術的發展,計算機處理數據的方式也發生著變化,文件管理系統--資料庫管理系統。Microsoft SQL Server是一個分布式的關系型資料庫管理系統,具有客戶機/伺服器體系結構,採用了Transact-sql的sql語言在客戶機與伺服器間傳遞客戶機的請求與伺服器的處理結果。
眾所周知,SQL Server能夠滿足今天的商業環境要求不同類型的資料庫解決方案。它一種應用廣泛的資料庫管理系統,具有許多顯著的優點:易用性、適合分布式組織的可伸縮性、用於決策支持的數據倉庫功能、與許多其他伺服器軟體緊密關聯的集成性、良好的性價比等。性能、可伸縮性及可靠性是基本要求,而進入市場時間也非常關鍵。
除這些SQL Server的優點外,SQLServer還為您的數據管理與分析帶來了靈活性,允許單位在快速變化的環境中從容響應,從而獲得競爭優勢。從數據管理和分析角度看,將原始數據轉化為商業智能和充分利用Web帶來的機會非常重要。作為一個完備的資料庫和數據分析包,SQLServer為快速開發新一代企業級商業應用程序、為企業贏得核心競爭優勢打開了勝利之門。作為重要的基準測試可伸縮性和速度獎的記錄保持者,SQLServer是一個具備完全Web支持的資料庫產品,提供了對可擴展標記語言 (XML)的核心支持以及在Internet上和防火牆外進行查詢的能力。
SQL Server的優點眾多,但是Microsoft SQL Server和其他資料庫產品相比也存在著以下劣勢:
1開放性。只能運行在微軟的windows平台,沒有絲毫的開放性可言。
2可伸縮性,並行性。並行實施和共存模型並不成熟,很難處理日益增多的用戶數和數據卷,伸縮性有限。
3性能穩定性。SQLServer當用戶連接多時性能會變的很差,並且不夠穩定。
4使用風險。SQLServer完全重寫的代碼,經歷了長期的測試,不斷延遲,許多功能需時間來證明。並不十分兼容早期產品。使用需要冒一定風險。
5客戶端支持及應用模式。只支持C/S模式。
I. 資料庫建設
(一)數據准備
1.數據收集
1∶25萬遙感地質填圖數據包含影像數據和矢量數據兩種格式,影像數據主要包括:TM原始影像、SPOT原始影像、SAR原始影像、TM與SPOT融合影像、TM與SAR融合影像、信息增強分類處理後的整幅影像或影像子區;矢量數據主要包括:航磁等值線影像、1∶25萬地形圖、地質圖、航磁解譯地質圖、遙感解譯單元圖、遙感解譯地質圖。現以新疆瓦石峽地區、內蒙古阿龍山地區為例,具體情況如下:
(1)瓦石峽地區
TM衛星影像
SAR衛星影像
航磁等值線(TIF)影像
航磁解譯地質圖
地質圖
遙感解譯影像單元圖
遙感解譯地質圖
(2)阿龍山地區
TM衛星影像
SPOT衛星影像
航磁等值線(TIF)影像
地質圖
航磁解譯地質圖
遙感解譯地質圖
2.數據預處理
1)影像數據處理,主要針對原始影像數據
(1)將TM原始影像、SPOT原始影像、SAR原始影像、航磁等值線(.JPG)數據格式轉換為ERDAS的.IMG格式。
(2)對轉換後的IMG文件進行投影轉換。投影系採用6度分帶的橫軸墨卡托(Transverse Mercator)投影,投影參數為:
Units:Meters
Scale Factor:1.0
Longitude Of Center:123 00 00
Latitude Of Center:0 00 00
False Easting:500 KM
False Northing:0 KM
Xshift:0
Yshift:0
橢球(spheroid)體採用克拉索夫(Krasovsky)橢球,參數為:
SemiMajor:6378245.0000 Meters
SemiMinor:6356863.0188 Meters
坐標系採用大地坐標,度量單位為米,這樣可以在GIS系統中方便的量算特徵的長度和面積。
(3)圖像坐標糾正
參照地形圖選擇同名點,對影像數據進行坐標精校正。同名點的選擇不少於12個。
2)矢量數據處理
工作主要針對地質圖、航磁解譯地質圖、遙感解譯單元圖、遙感解譯地質圖。
(1)數據分層
根據圖面特徵信息內容和制圖要求,每幅矢量圖按特徵類型劃分為點、線、面(區)三個圖層。劃分的依據是遙感地質解譯圖件的信息不完全等同於其他地質調查圖件,它表現的內容主要是:從影像圖中判讀出的地層、岩石影像單元及構造界線,但各種地質特徵的單位、時代、分類、度量、結構、方向等的描述不是十分具體,因此在屬性定義上比較一致,對一個圖件不需要產生基於同一特徵類型的專題圖層,因此按矢量特徵類型劃分較為合理、簡便。
(2)圖件掃描矢量化
將地質、影像單元等圖件掃描成 TIF影像文件,按照分層要求,將每個圖件數字化為點、線、面三個圖層文件。處理的圖件和產生的矢量圖層文件見表3-1至3-7。
表3-1 矢量圖層表
1∶25萬遙感地質填圖方法和技術
c.面特徵:由於影像單元圖的面特徵描述有其特殊之處,有時遵照地層、岩石的分類方法國家標准,但絕大部分是按照影像顏色、紋理等劃分和稱謂,因此進行分類編碼十分困難,有待進一步研究解決。
以上編碼方法是在每種特徵類型組合最大值和預留一定的擴充餘地的基礎上編制的,編碼方案參照國標:GB958—89區域地質圖圖例(1∶5萬)
(6)屬性定義
說明:由於地質代號的組成方式極為復雜,使用了上下角標、希臘字元、拉丁字母等,而這些字元和格式在純文本的屬性欄位中是不能完全或准確表達的,因此在錄入時對地質代號進行了一些簡化。
例如:Pt2xh簡化為Pt2xh
簡化為An1—3
(二)建立資料庫
GIS空間資料庫有兩種存儲形式:一是基於文件索引的傳統空間資料庫管理體系;二是採用商用關系資料庫的解決方案,二者各有千秋。第一種結構是對應用的集成,而數據是鬆散的,雖不利於數據的集中管理,但對不同系統平台之間共享數據提供了很大方便,特別是數據較少的小型應用系統。這種結構的另外一個可取之處是方案簡單,工作量小,不需要資料庫方面的專業知識。第二種結構既是應用的集成,也是數據的集成,並且提供所有的RDBMS的數據和安全管理優勢,但它需要專用的空間數據引擎,對其他軟體使用數據是一個極大的限制,必須進行數據的導入導出和格式轉換,並且要求使用者對RDBMS有一定的操作和管理經驗。
由於本集成系統採用的是ARC/INFO和ERDAS軟體,它們之間只能達到文件方式的數據共享,雖然ARC/INFO 8提供了GeoDataBase這種關系資料庫管理模式,實現真正的空間數據集中管理和RDBMS所有的數據管理能力,但為了滿足兩個軟體之間數據的交互處理,本系統採用文件索引形式的資料庫。在數據完備的基礎上,建庫工作需以下兩個步驟:
(1)首先創建基於項目的不同格式、不同類型的目錄樹工作區,把所有數據文件分類保存在這個工作區中,工作區框架以瓦石峽幅數據為例(圖3-5)。
(2)然後在 ARC/INFO 的 ARCMAP中新建一個 MAP DOCUMENT(以下簡稱為文檔),添加所有數據文件到文檔中。文檔中每個數據文件都被稱為一個 LAYER(以下簡稱為層),每個矢量層可以有它自己的環境,文檔可以保存環境的變化。使用者只需打開這個文檔即可調用項目所有的數據文件,並且恢復到上一次工作時的狀態。
圖3-5 數據分層結構圖
在MAP DOCUMENT這種集成的數據環境下,使用者可以採用ARC/INFO 8的ARCEDITOR、ARCMAP參照影像圖層進行矢量化的解譯工作,對已形成的圖件直接進行圖形和屬性編輯,進行輔助解譯的空間分析,對各種圖件進行疊加比較,使用文字標簽或屬性欄位標注特徵,按照分類符號化特徵,製作專題圖,列印輸出圖件報表等,實現一系列與遙感解譯有關的功能和操作。
由於ARC/INFO提供的地質圖式圖例和符號不能滿足我國的地質成圖要求,因此制圖軟體採用地質行業較為通用的MAPGIS。通過ARCTOOLS工具將最終的解譯成果矢量地質圖轉換為ARC/INFO的標准交換格式E00,提交給MAPGIS形成繪圖文件,出版印刷。具體的實施方案和技術流程見「成果圖件製作方法研究」一節。