畢業設計 空間資料倉儲 工作日誌(1)

2021-04-16 04:32:57 字數 1252 閱讀 2809

最近因為做畢業**,選了空間資料倉儲方向 。剛開始對普通的商業資料倉儲進行了了解,知道了owb、analysis services、congos、microstrategy。因為要做跟空間資料相關的,所以考慮選擇oracle或者sql server作為資料來源。我的機器是512記憶體,cup才1.8,所以用了一段時間oracle之後實在不能承受它那超級慢的速度,換成了sql server 2005。對於空間資料(主要是北京市社群專題圖)和各類excell報表,都通過arccatolog匯入arcsde(開始是oracle,後來是sql server,結果最後死活連不上sde了)。

按照一般的建立資料倉儲的步驟,首先是選擇主題,我用的是人口住宅資料,選擇從市—街道—社群的粒度範圍選擇專題圖,資料有兩種—房屋住宅資料和人口居住資訊,再有就是它們之間的聯絡(人口對應房屋的分戶資料,也是專題圖表示)。接下來是etl,按照普通資料倉儲的做法,要建立維表和事實表,並且一般採用星型模型。因為是針對人口,所以建立四個維度—年齡、性別、居住型別(樓房還是平房)和居住區域(這是唯一的空間維,處理的主要工作也在這裡),採用房屋的居住面積和房屋的居住人數作為度量,另外,對於空間圖形(房屋分間和分戶資料),可以作為空間度量。我感覺空間度量的泛化,即作為非空間度量處理是完全可以的,前面不是已經作為居住面積了嗎?主要的問題在olap操作,就是在執行上鑽、下鑽、旋轉、切片時多邊形的聚合,並做到前端展示,其實就是查詢到某個圖層的符合條件的相關feature,將它們放到乙個容器裡面,比如乙個臨時的featureclass,顯示出來(當然,這部分還沒做,不過我估計是沒問題的)。扯遠了,對於etl,我主要是用arcengine連線到sde(當然,自從無法連線到sde之後,我建立了本地file geodatabase儲存所有的空間非空間資料,程式也直接連到這裡了),在featureworkspace工作空間裡選擇上述我需要的專題圖層,讀出它們的屬性,放入ado.net的非連線資料來源dataset。在這裡,我的麻煩就是對於簡單的feature物件,要判斷它們的每個屬性了型別,有很多esri的自定義型別,需要轉換為.net型別,只能是switch十幾類,挨個設定。還要剔除其中的geometry之類的空間型別,因為dataset恐怕是裝不了這些的。

然後利用ado.net提供的資料介面卡adapter(可以在vs 2005中直接建立資料來源,連線到sql server,然後選擇某個已經建立好的事實表或維表,拖入介面上的datagridview就ok了),進行詳細的資料寫入,屬性自然一定要對應。這樣,etl就完成了。如果想提供簡單的查詢功能,自然是沒問題的,用iqueryfilter,或者空間的ispatialqueryfilter就可以了,這個還沒仔細研究,暫時也用不上。

Sql Server 空間資料

1 地理座標系空間需要用geography 平面座標系空間用geometry,計算距離使用stdistance 字串裡經緯度的順序是 經度 空格 緯度 即 longitude latitude 如果要計算兩個lat lon點之間的實際距離就需要將geometry型別轉成geography型別,不然結...

空間資料轉換引擎

引擎採用windows com方式開發,二次開發者可以直接使用所提供的元件進行二次開發。支援第三方嵌入開發 第三方根據引擎提供介面,實現其特定格式檔案轉換,編譯成動態庫後可直接嵌入引擎內部,實現無縫連線。軟體實現的功能是支援以下格式空間資料格式相互轉換 arc view shape 檔案 arc i...

空間資料的採掘

近年來,資料採掘研究多針對於關聯式資料庫,但是空間資料庫系統的發展為我們提供了豐富的空間資料,為資料分析和知識發現展示了廣闊的前景。空間資料探勘技術幫助人們從龐大的空間資料中抽取有用資訊。由於空間資料的數量龐大及空間問題的特殊性,因此發現隱含在空間資料中的特徵和模式,已成為空間資料庫的乙個重要問題。...