近几天在处理海绵城市的管点、管线、河道断面、河道数据,拿到的是excel格式的观点、河道断面xy平面坐标和管线、河道与管点、河道断面的对应关系数据,需要的成果为shape。对于管点、河道断面来讲,有了xy平面坐标,通过 Add XY 坐标的方式,即可将坐标文件转换成shape数据。可是对于管线和河道来说,最直接的方式,就是手工将起点和终点连接起来,对于少量的数据来讲,这么做还是能勉强能够接受的。可是,对于成百上千,甚至数以万计的点/线来说,这么做是不可能的。
通过对ArcMap工具箱的了解,可以通过 Create Features From Text File 工具,将写好的点坐标文件生成线状shape。要生成线状shape,需要以何种格式来填写txt呢?
如下所示:
Polyline
1 0
0 12434274.3784 3382398.33238 1.#QNAN 1.#QNAN
1 12434273.3963 3382228.59284 1.#QNAN 1.#QNAN
2 0
0 12432349.9699 3381846.26313 1.#QNAN 1.#QNAN
1 12432746.662 3381835.65758 1.#QNAN 1.#QNAN
3 0
0 12432746.662 3381835.65758 1.#QNAN 1.#QNAN
1 12432825.5994 3382099.57936 1.#QNAN 1.#QNAN
4 0
0 12432825.5994 3382099.57936 1.#QNAN 1.#QNAN
1 12433398.8527 3381933.91711 1.#QNAN 1.#QNAN
END
相信上面的结构大家一眼就能看懂:Polyline表示线,1 0表示第一个线,1也是生成shape中该线的id,0 x y 1.#QNAN 1.#QNAN 表示起点坐标,1.#QNAN 表示Z,M坐标,最后以END结尾。对于面状shape,文本结构如下:
Polygon
1 0
0 12434274.3784 3382398.33238 1.#QNAN 1.#QNAN
1 12434273.3963 3382228.59284 1.#QNAN 1.#QNAN
2 12432349.9699 3381846.26313 1.#QNAN 1.#QNAN
3 12434274.3784 3382398.33238 1.#QNAN 1.#QNAN
2 0
0 12432746.662 3381835.65758 1.#QNAN 1.#QNAN
1 12432825.5994 3382099.57936 1.#QNAN 1.#QNAN
2 12434274.3784 3382398.33238 1.#QNAN 1.#QNAN
3 12432746.662 3381835.65758 1.#QNAN 1.#QNAN
END
通过对ArcMap工具箱的了解,可以通过 Create Features From Text File 工具,将写好的点坐标文件生成线状shape。要生成线状shape,需要以何种格式来填写txt呢?
如下所示:
Polyline
1 0
0 12434274.3784 3382398.33238 1.#QNAN 1.#QNAN
1 12434273.3963 3382228.59284 1.#QNAN 1.#QNAN
2 0
0 12432349.9699 3381846.26313 1.#QNAN 1.#QNAN
1 12432746.662 3381835.65758 1.#QNAN 1.#QNAN
3 0
0 12432746.662 3381835.65758 1.#QNAN 1.#QNAN
1 12432825.5994 3382099.57936 1.#QNAN 1.#QNAN
4 0
0 12432825.5994 3382099.57936 1.#QNAN 1.#QNAN
1 12433398.8527 3381933.91711 1.#QNAN 1.#QNAN
END
相信上面的结构大家一眼就能看懂:Polyline表示线,1 0表示第一个线,1也是生成shape中该线的id,0 x y 1.#QNAN 1.#QNAN 表示起点坐标,1.#QNAN 表示Z,M坐标,最后以END结尾。对于面状shape,文本结构如下:
Polygon
1 0
0 12434274.3784 3382398.33238 1.#QNAN 1.#QNAN
1 12434273.3963 3382228.59284 1.#QNAN 1.#QNAN
2 12432349.9699 3381846.26313 1.#QNAN 1.#QNAN
3 12434274.3784 3382398.33238 1.#QNAN 1.#QNAN
2 0
0 12432746.662 3381835.65758 1.#QNAN 1.#QNAN
1 12432825.5994 3382099.57936 1.#QNAN 1.#QNAN
2 12434274.3784 3382398.33238 1.#QNAN 1.#QNAN
3 12432746.662 3381835.65758 1.#QNAN 1.#QNAN
END
表示两个三角形,组成每个三角形的4个点中,0和3的坐标相同,表示从0开始,到3(0)结束。按照上述格式整理好polyline和polygon的格式后,即可使用工具Create Features From Text File 创建线或面(工具在Samples工具箱里,在 10.x版本ArcGIS中具体的寻找方法,详见博客 ARCGIS 10.x 中找回Samples工具箱的方法),具体的设置如下,平面坐标下,Decimal Separator可设置为12345678.12345或11111111.11111。
如此,则可在知道线或面与点对应关系的情况下,将大量点位转成线或面文件。