2013-12-17 2 views
0

Я пытаюсь написать скрипт python для определения направления потока в сети водопровода. Я использовал этот скрипт, чтобы найти среднюю точку вдоль каждой полилинии, теперь мне нужно преобразовать эти данные в класс точечных объектов, который станет стрелкой направления потока.Середина полилинии в точку Функция в Arcpy

Я попытался сохранить его как список, но не могу сверять список с помощью функции точки. Может ли кто-нибудь предложить способы сохранения местоположений средней точки в качестве класса пространственных объектов?

#FlowArrows.py 
import arcpy 
#setting the environment 
arcpy.env.workspace = "J:/PYTHON/Flow_Direction.gdb" 
#arcpy.env.overwriteOutput = True 

#Setting the containers 
Pipes = r"J:\PYTHON\Flow_Direction.gdb\Pipes" 
Nodes = r"J:\PYTHON\Flow_Direction.gdb\Nodes" 
MidList = [] 

#Getting the mid point 
Cursor = arcpy.SearchCursor(Pipes) 
    for i in Cursor: 
    Midpoint = i.shape.positionAlongLine(0.50,True).firstPoint 
    MidList.append(Midpoint) 

print ("done") 

ответ

2

попробовать это:

import arcpy, os 
Pipes = r"H:\My Documents\GDB.gdb\Pipes" 
MidList = [] 

Cursor = arcpy.SearchCursor(Pipes) 
for i in Cursor: 
    Midpoint = i.shape.positionAlongLine(0.50,True).firstPoint 
    point = arcpy.Point(Midpoint.X, Midpoint.Y) 
    pointGeom = arcpy.PointGeometry(point) 
    MidList.append(pointGeom) 

arcpy.CopyFeatures_management(MidList, os.path.join(os.path.split(Pipes)[0], "Nodes")) 
Смежные вопросы