資料處理 由麵得點,構造其邊界

2022-02-04 04:28:18 字數 1941 閱讀 5886

上週做了一次資料處理:根據中國區域的面狀資料,得到省界,再由省界邊線轉換成點,得點座標並在乙個三維場景openwebglobe裡面構造邊界,因為暫時只知道由點座標來構造線。

工具:arctoolbox、excel

過程:1.由麵資料得線資料。(由於在三維場景中點資料構造線資料時,其內在渲染方式的問題,需要注意公共邊的問題,需要使用「select features」這個工具,可以單獨處理同一圖層內不同部分的資料(很關鍵的一步)。

2.簡化線。

3.線轉點,並獲取點的座標。

4.屬性表匯出整理。

效果圖:(左圖為源資料,右圖為結果)

詳細過程:

1.面轉線

因為面資料是帶屬性的,而屬性表中的省名是很重要的,是後面識別各省區的重要字段,所以轉換時要保留這些重要屬性,故使用「feature to line」,如果使用「polygon to line」的話,這些屬性就沒了。如圖所示,左圖為feature to line的結果,右圖為polygon to line的結果。

另外,這裡有點特殊,因為在openwebglobe中渲染機制的問題(不了解,只能用下面所說辦法了),需要的是不相鄰省區邊界轉換出來的點座標來構造線,否則會出現線條混亂的問題。

可是一整塊面狀資料如何將不同省區分多次弄出來呢?可以通過「select features」這個工具,將他們點選出來,使用「feature to line」時,就會只處理點選部分資料,多次處理後就可以得到不相鄰省區的資料了。

2.簡化線

轉換之前,先把線簡化一下,要不後面轉換出來的點密密麻麻的(將近3萬個點),工作量會劇增。使用「simplify line」這個工具,通過搜尋找到它。

可以看到,把線簡化以後,線上的折點少了很多,這樣下一步根據線轉換出折點時,點的數量會少很多,減少工作量,這裡簡化時設定最大允許偏移容差是15000m,因為要求不是精確,只是示意性展示。

這一步其實是在面轉線完畢後進行的,當時處於摸索階段,所以順序搞錯了,實際上是得到不相鄰省區的各個圖層後,再做多次簡化處理。

3.線轉點,並獲取座標

使用「feature vertices to points」,根據線資料轉換得到折點,可以看到線簡化之後,點的數量明顯減少。

當然,最終我們還是要獲取點的座標,「add xy coordinates」可以幫助我們,得到點圖層的所有點資料的座標,並自動更新到屬性表裡面。

4.屬性表處理

將屬性表匯出來,用excel進行處理,批量整理成符合格式需求的資料,這一步會有些工作量,然後將整理好的資料進行構造即可。

官網,頁面已經更新了,論壇可訪問,後續會有新的版本出來,修正一些bug。是不是可以不用手動構造了呢?

Struts2 頁面資料處理

1 輸出session中的值 a.s property value session key b.2 獲取session中的值後判斷 s if test session key null 3 輸出action中的屬性值 s property value property 4 輸出國際化檔案中的值 a....

每日一面 關於海量資料處理

海量資料處理 有1億個浮點數,找出其中最大的10000個。類似的還有有1萬個浮點數,找出其中最大的100個,然後倒序處理。二者不同之處在於資料量的量級不同,這個牽扯到伺服器記憶體和你所採取的策略。簡單暴力的快速排序 第一種方法是將資料全部排序,然後在排序後的集合中進行查詢,最快的排序演算法的時間複雜...

模型資料處理之刪除重複點和重複面

在同等裝置的條件下,三維場景中的模型的三角面越多,此時顯示的幀率就會降低。這個時候呈現給使用者的感覺是 資料載入慢和操作不流暢。超圖對此有一種很重要的方式 將資料生成快取來提公升效能。基於此還需要提前對資料做一些優化。比如移除重複點和重複面 例項化物件和三角網簡化。本文將著重介紹移除重複點和重複面。...