地理資訊系統的建設中,資料庫的建設極為重要,基礎地形庫的建設大概要佔到整個系統的 60% 甚至更高。因此,若在建庫的過程中碰到問題,將導致建庫的困難,甚至無法完成建庫的工作。要解決建庫遇到的各種問題並順利完成建庫,就要對建庫的整個過程進行分析,從中找出影響建庫的最主要的因素,並認真的分析這些因素產生的根本原因,制定出解決這些問題的解決方案,完成重要的建庫工作。
資料庫建庫主要有三個過程:
first-- 資料庫建模。主要是根據具體行業的特點及對其的理解,制定出資料規範,在邏輯上建設資料庫。
second-- 資料校驗。主要是檢測資料的正確性,保證資料質量。
third-- 資料入庫。主要是將獲取的各種資料,例如紙製資料,向量資料,柵格資料,遙感影像資料等準確的匯入到資料庫中。
下面對資料庫建庫的整個過程進行詳細分析。
1. 資料建模
資料建模的目的是根據對應用行業的理解,在邏輯和概念上對資料庫進行設計,其影響的是資料庫建設完畢後的合理性、通用性和可擴充套件性。建模是否成功將直接影響到系統是否易用、易擴充套件,甚至是否成功。地理資訊資料庫建庫過程中遇到的各種問題主要是資料問題,對系統成功進行了建模之後,若資料存在問題,將直接影響到資料的入庫。
2. 資料入庫
在資料入庫的過程中,其核心是如何依據所制定的資料規範將各種格式的資料,準確的、快速的匯入到資料庫中。在這個過程中遇到的問題,其根本就是如何解決不同平台之間資料整合的問題。在《 gis 開發者》第八期電子雜誌中,曾提出共相式地理資訊系統,其目的之一也是為了解決資料來源的整合問題。在目前,實現地理資訊多源資料整合的方式大致有三種,即資料互操作模式,直接資料訪問模式和資料格式轉換模式。
共相式 gis 支援多種資料格式的技術框架示意圖
( 注:該圖引用自《 gis 開發者》第八期電子雜誌 )
(1)資料互操作模式。資料互操作模式是 opengis consortium ( ogc )制定的規範。這種模式和資料入庫的思路有所不同。
(2)直接資料訪問模式。直接資料訪問模式是指在乙個 gis 軟體中,實現對其他軟體資料格式的直接訪問,使用者可以使用單個 gis 軟體訪問多種資料格式。以 arcgis 為例,它可以開啟多種 gis 平台及其它相關軟體的資料。
(3)資料格式轉換模式格式轉換模式是傳統的 gis 資料整合方法,也是入庫的基本思想。在這種模式下,其他資料格式經專門的資料轉換程式進行格式轉換後,就可以進行入庫了。例如,在 arctoolbox( 版本 9 以後被整合到 arcmap 和 arccatalog 中 ) 裡,就有多種資料格式轉換的工具。
資料格式轉換是目前 gis 系統整合的主要辦法。現在基本上每個主流 gis 平台都提供了一些資料轉換工具,以 esri 公司的 arcgis 平台提供了 arctoolbox 工具箱,功能相對完善,基本上支援所有市面上各種主流的 gis 資料,例如 autodesk 公司的 dwg 格式檔案和 dxf 格式檔案, mapinfo 公司的 mif 格式, intergraph 的 dgn 格式,以及各種柵格圖形資料等等,基本上滿足了一般資料入庫的要求。此外,還有其它許多專門的資料格式轉換工具可以使用。由此可以看出,只要提供的源資料是正確的,符合規範的,那麼利用上述工具就可以將資料匯入到資料庫中,從而順利的完成建庫的工作。因此,源資料的準確性和規範性就成為建庫成功的十分關鍵的因素。由此看來,資料校驗就成為建庫能否順利進行的關鍵所在。
資料校驗需要完成哪些工作,怎樣進行校驗與把關才能在建庫之初就能**各種潛在的問題,因此,需要仔細分析導致資料不準確、不規範的原因。一般情況下,需要從資料規範和資料生產過程中考慮。
gis資料建庫基本思想(下)
資料庫表的設計基本思想
複雜型別的物件有幾種表現形態 以部門和員工的關係來說明一對多或多對一的物件是怎麼儲存到資料庫表中的。資料庫表的設計的原則 先不要去管這些物件的關係,看某個物件有什麼基本屬性,然後設計乙個表來儲存此物件的基本資料。在資料庫裡面怎麼去保證資料往資料庫裡面存的時候,關係不丟呢?這裡面有乙個原則,記住一句話...
資料庫切分「基本思想」 「常見問題」
優點 分庫降低了單點機器的負載 分表提高了資料操作的效率,尤其是write操作的效率 1.垂直切分 適用場景 表多資料多。特點 規則簡單 業務邏輯清晰 業務耦合度非常低。根據相同業務使用的表放到相同的資料庫。在垂直切分出的表聚集內,找出 根元素 按 根元素 進行水平切分,也就是從 根元素 開始,把所...
資料庫Sharding的基本思想和切分策略
一 基本思想 sharding的基本思想就要把乙個資料庫切分成多個部分放到不同的資料庫 server 上,從而緩解單一資料庫的效能問題。不太嚴格的講,對於海量資料的資料庫,如果是因為表多而資料多,這時候適合使用垂直切分,即把關係緊密 比如同一模組 的表切分出來放在乙個server上。如果表並不多,但...