ArcMap 點 線 面陣列轉要素,面合併問題

2022-01-23 08:20:37 字數 1694 閱讀 6094

平時工作、學習等直接拿到的資料不一定就是 shp 等空間格式的資料,有時是直接拿到的點集、面集等。

例如最近我們有些網格面是同事自己從高德地圖上面畫的面(這個後台管理還是我寫的),最後得到的是面的陣列集:

[[111.714248,40.795969],[111.707632,40.79136],[111.706736,40.790664],[111.704842,40.789509],[111.693665,40.786364]]
例如上面的資料。

對於這些資料的處理,下面進行分享下。

點資料比較簡單,可以直接從 txt、excel 等資料中匯入,直接報存為 shp 等格式資料檔案。

具體操作(以 arcmap 10.2 為例):

檔案=》新增資料=》新增xy資料

點選後,會彈出乙個新增資料的對話方塊:

選擇好後,點選確定,會直接在圖層中新增乙個點圖層,該圖層可以儲存為需要的格式檔案。

不同於點,線面轉換要借助工具箱裡面的工具—— json 轉要素。

在使用這個要素前需要對資料進行處理。

由於 arcmap 中識別的 json 是其獨特的格式,和 geojson 有所不同。

arcgis json 格式:

,

"geometrytype" : "esrigeometrypolygon",

"spatialreference": ,

"fields": [,],

"features": [

,"geometry": }]}

新建乙個空的 shp 檔案。

注意:這裡根據自己的需求:建立對應字段、座標系等。

因為後面用到的時候就不需要再去修改 json 檔案,可以直接使用

對上面新建的 shp 檔案在 arcmap 中開啟。

我的建議是新增一條資料,這樣 json 中的格式會更完善。

使用工具:要素轉 json,匯出json檔案

主要修改 features 下面的內容,新增陣列項,修改陣列裡面的字段屬性、geometry 屬性等。

就可以得到需要的資料了。

具體工具:arctoolbox =》轉換工具=》json

面的操作基本和上面的線的匯出是一樣的步驟。

但是在合併這樣匯出的資料時出現了問題:

問題:

但是在合併這些面(街道資料合併成區),始終不成功。

放到最大,看中間都沒有空隙。

原因:

再拿兩個面進行合併測試發現,中間多出了線條,經分析發現:面相鄰的邊,點位不一樣(有的點是重合的,有些是其中乙個面獨有的)。這就造成不能合併,或合併後有問題。

解決:

1、開啟編輯

2、對相鄰的面,邊界點刪除,只保留最邊上兩個

3、合併(union)

這樣就成功了。

Arcmap刪除重複點,線,面

我在處理資料時生成的錯誤點好多都共有乙個點,這時候可以考慮將這些在空間位置上完全一致的點刪除,我們的思路是先將這些點賦予乙個x,y座標,然後將有相同座標的這些點刪除,操作如下所示 對於點資料的 新增x,y座標 刪除相同項 delete identical 選擇對應的字段 對於線資料的 新增幾何屬性 ...

點線面的意義 對點線面的認知

點 認識點點,辭海 的解釋是 細小的痕跡。在 幾何學上,點只有位置,而在 形態學中,點 還具有大小 形狀 色彩 肌理等造型元素。在 自然界,海邊的沙石是點,落在玻璃窗上的 雨滴是點,夜幕中滿天星星是點,空氣中的塵埃也是點。點的表情 具體為形象的點,可用各種工具表現出現,不同形態的點呈現出不同的視覺特...

opengl畫點線面

1 關於點 點的大小預設為1個畫素,但也可以改變之。改變的命令為glpointsize,其函式原型如下 void glpointsize glfloat size size必須大於0.0f,預設值為1.0f,單位為 畫素 注意 對於具體的opengl實現,點的大小都有個限度的,如果設定的size超過...