The GetCellValue tool works under a Basic license - just run it using the Field Calculator. Screenshot attached.
- Have your DEM raster and point feature class in a map
- Create a field to hold the Z values (Z_Calc in screenshot)
- In the attribute table, right click on the Z_Calc field and choose Calculate Field
- Input Table: Point feature class (dem_points in screenshot)
- Field Name: Z value field (Z_Calc)
- Expression: Python3
- Z_Calc=: copy and paste below:
getcell(!SHAPE!)
- Code Block: Copy and paste text below:
def getcell(shape):
point = shape.getPart(0)
result = arcpy.GetCellValue_management("DEM_E455_N7045_2018.tif", str(point.X) + " " + str(point.Y))
cell = float(result.getOutput(0))
return cell
- Make sure the layer name of your DEM raster layer (from the Table of Contents) is put in there instead of mine
- Click Apply to run
What it is doing is going through each record and running the Get Call Value tool with the X and Y of the point to get back the value of the raster cell at that point.
As a comparison, I ran the Add Surface Information tool to populate the Z field. The slight differences you see are because the Get Cell Value just gets the cell, where the Add Surface Information tool interpolates the Z value from multiple cells. Shouldn't be a problem unless your raster cell size id very large.