Страница 1 из 1
					
				Вывод расстояния между вершинами полигона в Arcview GIS
				Добавлено: 13 сен 2006, 23:21
				 lionkil_kil
				Вот столкнулся с такой необходимостью
есть полигон, нужно вывести меры лини (расстояние между точками), прошерстил через поиск всевозможные варианты, но задачу свою так и не решил, поделитесь опытом в реализации вывода расстояний для полигонов между вертексами можно через таблицу, а можно и сразу в аннотацию 

 ПЛЗ
 
			
					
				
				Добавлено: 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)
 
			
					
				
				Добавлено: 19 сен 2006, 21:23
				 lionkil_kil
				sim писал(а):результат кладется в c:\lines.shp
Очень и очень признателен  

 , а позвольте усложнить 

Если есть необходимость, добавить лини или в косметическом слое или в новь созданом шейпе, так же вывести длину...можно использовать сей скрипт под Арквью и позвольте узнать, где выставляется кол-во знаков после "," ???