Private sub uibuttoncontrol1_click ()
Dim app as iapplication
Set APP = Application
Dim pmxdocument as imxdocument
Set pmxdocument = application. Document
Dim pmap as IMAP
Set pmap = pmxdocument. focusmap
Dim pfeaturelayer as ifeaturelayer
Set pfeaturelayer = pmap. layer (0)
Dim prasterlayer as irasterlayer
Set prasterlayer = pmap. layer (1)
Dim praster2 as iraster2
Set praster2 = prasterlayer. Raster
Dim pfeaturecursor as ifeaturecursor
Set pfeaturecursor = pfeaturelayer. featureclass. Search (nothing, false)
Dim pfeature as ifeature
Set pfeature = pfeaturecursor. nextfeature
Dim ppolygon as ipolympus gon
Dim parea as iarea
Dim pfields as ifields
Dim height as long
Dim elevation as long
Dim Ppoint as ipoint
Dim X as double
Dim y as double
Dim pixelvalue as Variant
Dim column as long
Dim row as long
While not pfeature is nothing
Set ppolygon = pfeature. shapecopy
Set parea = ppolygon
Set Ppoint = parea. Centroid
Set pfields = pfeature. Fields
X = Ppoint. x
Y = Ppoint. Y
Height = pfields. findfield ("height ")
Elevation = pfields. findfield ("elevation ")
Column = praster2.topixelcolumn (X)
Row = praster2.topixelrow (y)
Pixelvalue = praster2.getpixelvalue (0, column, row)
If pfeature. Value (elevation) <>-9999 then
Pfeature. Value (height) = ABS (cdbl (pixelvalue)-pfeature. Value (elevation ))
Else
Pfeature. Value (height) = 0
End if
Pfeature. Store
Set pfeature = pfeaturecursor. nextfeature
Wend
Msgbox "converted"
End sub