Вывод расстояния между вершинами полигона в Arcview GIS

Arcview GIS 3.x, Arcinfo Workstation, Mapobjects
Ответить
lionkil_kil
Интересующийся
Сообщения: 21
Зарегистрирован: 30 дек 2005, 14:42
Репутация: 0
Откуда: Ukraine, Kirovograd
Контактная информация:

Вывод расстояния между вершинами полигона в Arcview GIS

Сообщение lionkil_kil » 13 сен 2006, 23:21

Вот столкнулся с такой необходимостью

есть полигон, нужно вывести меры лини (расстояние между точками), прошерстил через поиск всевозможные варианты, но задачу свою так и не решил, поделитесь опытом в реализации вывода расстояний для полигонов между вертексами можно через таблицу, а можно и сразу в аннотацию :) ПЛЗ

Аватара пользователя
Максим Дубинин
MindingMyOwnBusiness
Сообщения: 9128
Зарегистрирован: 06 окт 2003, 20:20
Репутация: 747
Ваше звание: NextGIS
Откуда: Москва
Контактная информация:

Сообщение Максим Дубинин » 19 сен 2006, 20:28

результат кладется в c:\lines.shp

Код: Выделить всё

atheme = av.getactivedoc.getactivethemes.get(0)
aFTab = atheme.getftab

anewline = FTab.makenew("c:\lines.shp".asfilename, polyline)
f_length = Field.Make("length", #FIELD_DOUBLE, 20, 10)
f_shape2 = anewline.FindField("shape") 
anewline.addfields({f_length})

f_shape = aFTab.FindField("shape")

anewline.seteditable(true)

for each rec in aFTab
  apolygon = aFTab.ReturnValue(f_shape, rec)
  aline = apolygon.aspolyline
  points = aline.asmultipoint.aslist
  numpoints = points.count - 2
  
  for each i in 0..numpoints
    apoint = points.get(i)
    newline = line.make(points.get(i), points.get(i+1))
    length = newline.ReturnLength
    newrec = anewline.addrecord
    anewline.setvalue(f_shape, newrec, newline.aspolyline)
    anewline.setvalue(f_length, newrec, length)
  end
  
end
anewline.seteditable(false)
пристегивайтесь, турбулентность прямо по курсу

lionkil_kil
Интересующийся
Сообщения: 21
Зарегистрирован: 30 дек 2005, 14:42
Репутация: 0
Откуда: Ukraine, Kirovograd
Контактная информация:

Сообщение lionkil_kil » 19 сен 2006, 21:23

sim писал(а):результат кладется в c:\lines.shp
Очень и очень признателен :D , а позвольте усложнить :)
Если есть необходимость, добавить лини или в косметическом слое или в новь созданом шейпе, так же вывести длину...можно использовать сей скрипт под Арквью и позвольте узнать, где выставляется кол-во знаков после "," ???

Ответить

Вернуться в «Arcview GIS»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 11 гостей