Шаг 8 - Получение площади

Площадь обычно находится в атрибутивной таблице, если покрытие создано в ArcInfo и имеется топология. А вот если площади созданы в ArcView то нужно будет написать скрипт. Вот пример скрипта который пробегает по площадям и выдает результат.

theView = av.FindDoc("View1")
if (theView<>nil) then

 theTheme = theView.FindTheme("base.shp") 
 if (theTheme<>nil) then
  theFTab     = theTheme.GetFTab
  shapeField  = theFTab.FindField( "Shape" )

  for each recNum in theFTab
      
        currentShape = theFTab.ReturnValue( shapeField, recNum )
        MsgBox.Info(currentShape.ReturnArea.AsString,"")
        end
   
 else
   MsgBox.Info( "No Theme", "")
 end

else
  MsgBox.Info( "No View", "")
end

Проблема в наследование. Сам метод получения площади находиться в объекте Shape а вот так выглядит весь путь до полигона

Shape
	MultiPoint
		PolyLine
			Polygon

Соответственно полигон использует все методы в данных объектах, в том числе и ReturnArea.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 28.03.2002