关于arcpy获取每个面要素中的折点坐标

#关于arcpy获取每个面要素中的折点坐标

目录

  • 一、获取思路
  • 二、实现方法
    • 实现方法1:
    • 实现方法2:
    • 实现方法3:
  • 三、总结和反思

一、获取思路

通过使用arcpy里面的“游标”:arcpy.da对要素类里面的各种要素进行遍历和获取部分值,其中需要注意的是,在使用arcpy.da.SearchCursor()函数时,需要对SearchCursor(infeature,[fieldsList])中的字段进行元组取值,若不取值则会导致解包Array数组十分麻烦。另外,在解包

二、实现方法

实现方法1:

with arcpy.da.SearchCursor(inputfeature,["SHAPE@"]) as cur:
     flag=1
     for rows in cur:
         for elems in rows:
             part=elems.getPart()
             numOfpart=elems.pointCount
             print(part)
             print(numOfpart)
             print("outer boundary:")
             for fea in part:
                 for i in range(numOfpart):
                     if fea[i]:
                         x=fea[i].X
                         y=fea[i].Y
                      else:
                         print("interior rings:")

实现方法2:

with arcpy.da.SearchCursor(curFeature,["shape@"]) as cur:
     flag=1
     for rows in cur:
         print(rows)
         for item in rows[0]:
             part=item.count
             print(part)
             print("outer boundary:")
             for i in range(part):
                 if item[i]:
                     x=item[i].X
                     y=item[i].Y
                     print(str(x)+";"+str(y))
                 else:
                     print("interior rings:")

实现方法3:

现在不想写了,等以后再更新吧!

三、总结和反思

通过这次的思考和总结,大约理解了ArcGIS里面的存储数据的方式,以及我需要取数据的方法,接下来,我要实现一个具体的工具,这个工具可以查找一个范围阈值内的狭长面,包括本身是狭长面和本身具有一部分狭长“尾部”。另外,需要根据生成的点来生成面的三角网。

你可能感兴趣的:(我的舞台,python,开发语言)