【ArcMap】计算选中线的长度
方法一:使用计算几何,计算字段的长度



方法二:使用python2的代码计算

输入以下代码后回车:
import arcpy try: # 获取当前地图中的所有图层 mxd = arcpy.mapping.MapDocument("CURRENT") layers = arcpy.mapping.ListLayers(mxd) # 查找第一个线图层 target_layer = None for layer in layers: if layer.isFeatureLayer: desc = arcpy.Describe(layer) if desc.shapeType == "Polyline": target_layer = layer break if target_layer is None: print "No line layer found" exit() print "Layer: " + target_layer.name # 检查是否有选中要素 desc = arcpy.Describe(target_layer) if not desc.FIDSet: print "No selection, calculating all features" # 定义投影坐标系 projected_cs = arcpy.SpatialReference(32650) # UTM Zone 50N # 计算长度 total_length = 0 count = 0 with arcpy.da.SearchCursor(target_layer, ["SHAPE@"]) as cursor: for row in cursor: if row[0]: projected_geom = row[0].projectAs(projected_cs) length = projected_geom.length total_length += length count += 1 print "Features: " + str(count) # 格式化输出 if total_length >= 1000: length_km = total_length / 1000.0 print "Length: {:.2f} km".format(length_km) print "Length: {:.2f} m".format(total_length) else: print "Length: {:.2f} m".format(total_length) except Exception as e: print "Error: " + str(e)

浙公网安备 33010602011771号