一、折點坐標(.txt 或 .xlsx 或 .xls) ==> 點線面圖層(.shp)
(一).xlsx 或 .xls ==> .shp
新建一個文件夾,連接到該文件夾,并將其設置為工作空間
在該文件夾下,新建一個pts.xlsx的文件,并輸入下圖內容
其中,每行代表一個點,x代表經度,y代表緯度
文件|添加數據|添加XY數據
選中pts.xlsx的Sheet1$
注:若無法打開.xlsx,參考這篇文章如何在 ArcGIS 中使用 Microsoft Excel 文件_20250614;或,將.xlsx 另存為.xls文件,其余步驟與.xlsx一樣
可指定空間參考
點擊“確定”
右鍵[Sheet1$個事件]|數據|導出數據
注意,將[保存類型]更改為[Shapefile]
至此,已將 .xlsx 或 .xls 轉為點 .shp文件了
接下來,用【點集轉線】工具,將【點.shp】轉為【線.shp】
接著,用【要素轉面】工具,將線.shp轉為面.shp
(二).txt ==> .shp
1. 前期準備: 添加Samples.tbx
右擊ArcMap,打開文件位置
右擊下圖的快捷方式,打開文件所在的位置
這時,進入的是bin文件夾
返回上一級目錄(文件夾)Desktop10.8
進入下圖目錄,點[三個小點],點擊[選項](注:筆者所用系統是WIN11,WIN10、WIN7可能不在同一地方)
在【高級設置】里勾選【顯示隱藏的文件、文件夾和驅動器】
這時,你會發現,目錄下多出一個隱藏的工具箱:Samples.tbx先生!
右擊Samples.tbx先生,打開【屬性】,取消勾選【隱藏】
復制一個Samples.tbx先生,并重命名,此處筆者將其命名為Samples_backup.tbx
在進行下一步之前,先將包含工具箱的路徑添加到文件夾連接里
在ArcToolbox里,右擊【ArcToolbox】|【添加工具箱】
注意,這里不要添加Samples.tbx,而是要添加Samples_backup.tbx,否則工具箱添加后不能下拉,沒有工具可用
添加后,就能使用該工具箱了
但筆者發現,一旦新建.mxd文檔,Sample工具箱就不能下拉、使用工具了,需重新添加工具箱,很麻煩,若大家有一勞永逸的解決方法,歡迎在評論區指出,不勝感激!
2. .txt 轉為 .shp
點擊Samples工具箱下的【Create Features From Text File】工具,點擊【工具幫助】
幫助文檔里列出了語法和使用例子,現查現用即可
此處,筆者以最簡單的
-
Point id x y z m id x y z m ... END
為例
在工作空間目錄下,新建一個文本文件 pts.txt
文本文件的內容如下:
-
Point 0 1.0 1.0 3.0 1.4 1 2.0 2.0 1.0 3.2 2 3.0 1.0 2.0 2.5 3 2.0 0.0 1.0 1.0 END
此處[Input Decimal Separator]是指小數點的樣式,一般為[.],其他國家可能有用[,]的,詳見該工具的幫助文檔
至此,.txt已成功轉為點.shp
二、點線面圖層(.shp) ==> 折點坐標(.txt 或 .xlsx 或 .xls)
(一) 點.shp 轉為 .txt
1. 無空間參考
右擊工作空間文件夾,新建一個Shapefile
【要素類型】為【點】
右擊菜單欄空白處,打開【編輯器】工具條
【編輯器】|【開始編輯】
打開【創建要素】
畫幾個點
點擊Samples工具箱下的【Write Features To Text File】工具
注,這里【Output Text File】要手動輸入 【.txt】文件擴展名
輸出的 point.txt 內容如下:
Point
0 92270856741.6 58229181438.9 nan nan
1 3.35937585224e+11 56437514317.7 nan nan
2 2.19479222347e+11 2.35604226437e+11 nan nan
3 70770851287.3 2.76812570225e+11 nan nan
4 -1.87229214165e+11 2.01562551135e+11 nan nan
5 -1.76479211438e+11 52854180075.3 nan nan
6 11645836287.8 -1.47812537499e+11 nan nan
7 1.76479211438e+11 -1.89020881286e+11 nan nan
8 3.41312586588e+11 -1.17354196438e+11 nan nan
9 5.90354316434e+11 -51062512954.1 nan nan
10 5.43770971283e+11 1.10187527954e+11 nan nan
END
2. 有地理坐標系
同上步,打開編輯器,畫幾個點
point_sr.txt內容如下:
Point
0 34937508863.3 1.26312532044e+11 nan nan
1 -60020848560.1 895833560.598 nan nan
2 2.76812570225e+11 -61812515681.3 nan nan
3 2.23062556589e+11 2.35604226437e+11 nan nan
4 -1.38854201893e+11 2.94729241437e+11 nan nan
5 -3.55645923557e+11 1.20937530681e+11 nan nan
6 -2.40979227801e+11 -1.06604193711e+11 nan nan
7 1.67520875832e+11 -2.96520908558e+11 nan nan
END
3. 帶 地理坐標系 & 投影坐標系
由于空間參考與之前不同,若在原.mxd無法用編輯器在point_prjed畫點
筆者猜測應該與數據框屬性有關,但打開數據框屬性后,發現無法修改數據框的空間參考
故干脆新建一個.mxd
畫幾個點
point_prjed.txt內容如下:
Point
0 -40182759.182 14978303.9466 nan nan
1 -19249225.9554 7759844.21328 nan nan
2 -4331075.83997 6195844.6044 nan nan
3 -6.83869883582e-09 13414304.3377 nan nan
4 -24422455.4309 -11008151.0933 nan nan
5 -11068304.9244 -14978303.9466 nan nan
6 3127999.21776 -13053381.351 nan nan
7 1443691.94666 -2586614.73776 nan nan
8 -39701528.5331 5594306.2933 nan nan
END
4. 【計算幾何】可計算點的x,y坐標
在point_prjed.shp屬性表新建字段
(二) 線.shp 轉為 .txt
1. 一條線
polyline_prjed.txt內容如下:
Polyline
0 0
0 -33987312.9473 10293475.7753 nan nan
1 -36195874.7995 -3273404.17375 nan nan
2 -22944503.6864 591579.067546 nan nan
3 -21366959.5063 9820212.52126 nan nan
4 -24758679.4936 14868353.8977 nan nan
5 -27124995.7638 13448564.1355 nan nan
6 -26809486.9277 9583580.89424 nan nan
7 -24679802.2846 6665124.16102 nan nan
8 -29333557.6159 3904421.8458 nan nan
9 -29806820.87 8479299.96816 nan nan
10 -29885698.079 12186528.7914 nan nan
END
2. >=2條線
polyline2.txt內容如下:
Polyline
0 0
0 -37379032.9346 5560843.23493 nan nan
1 -30832224.5871 -5008702.77189 nan nan
2 -14662396.7408 8637054.38617 nan nan
3 -21840222.7604 14079581.8076 nan nan
4 -26020714.8377 13054178.0905 nan nan
5 -26099592.0467 8715931.59517 nan nan
1 0
0 -33750681.3203 -10530107.4023 nan nan
1 -26415100.8827 -13211932.5085 nan nan
2 -20026046.9532 -9031440.4312 nan nan
END
三條及三條以上的線,以此類推
(三) 面.shp 轉為 .txt
1. 一個面
Polygon
0 0
0 98903083.583 60472171.105 nan nan
1 280884757.376 18650295.7614 nan nan
2 236102095.547 -176214800.302 nan nan
3 54120421.7548 -134392924.958 nan nan
4 98903083.583 60472171.105 nan nan
END