一、折点坐标(.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