统计
  • 文章总数:710 篇
  • 评论总数:0 条
  • 分类总数:14 个
  • 最后更新:7月9日

ArcGIS点集之间两两连线的方法

本文阅读 1 分钟
首页 ArcGIS 正文

一个点集里的点两两连线,比如有4个点,则连3+2+1=6条线;有38个点,则连37+36+35+···+3+2+1=703条线

百度发现大佬们的骚操作,xy转线,遍历点集中的点,依次作为起始点。

我看了有一个大佬用python写了代码(不知道为啥我运行一直报错)

importpandasaspddef xy2line(tablepath):  # 单一站点+XY坐标表的地址    xy_table = dict(pd.read_excel(tablepath))    sn, sx, sy = xy_table["STATIONNAME"], xy_table["STARTX"], xy_table["STARTY"]  # 坐标表的字段名是STATIONNAME、STARTX、STARTY    station_num = len(sn)    result_dict = {"STARTSTATIONNAME": [], "STARTX": [], "STARTY": [], "ENDSTATIONNAME": [], "ENDX": [],                   "ENDY": [],"SNEN":[]}  # 输出表的字段    for i in range(station_num - 1):  # 循环        for j in range(i + 1, station_num):            result_dict["STARTSTATIONNAME"].append(sn[i])            result_dict["STARTX"].append(sx[i])            result_dict["STARTY"].append(sy[i])            result_dict["ENDSTATIONNAME"].append(sn[j])            result_dict["ENDX"].append(sx[j])            result_dict["ENDY"].append(sy[j])            result_dict["SNEN"].append(sn[i]+","+sy[j])    df = pd.DataFrame(result_dict)  # 转成DF输出到exceldf.to_excel("xytoline2.xlsx",index=False)if __name__ == "__main__":    xy2line("xytoline1.xlsx")

都快要放弃了,然后翻书在书上找到了【构造视线】这个工具,果然好使

本文来自投稿,不代表本站立场,如若转载,请注明出处:
用ArcGIS根据相邻关系提取相邻面及提取面公共线
« 上一篇 03-12
ArcGIS提取路网节点方法
下一篇 » 03-12

作者信息

作者有点忙,还没写简介
TA的最新作品
    请设置要调用的作者ID

动态快讯

    请配置好页面缩略名选项

热门文章

标签TAG