Площадь обычно находится в атрибутивной таблице, если покрытие создано в 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.