Extract Z values from a grid via Surfer automation

The Point Sample command samples Z values from a grid at any point. To perform the operation, create a data file with X and Y coordinates for the points you'd like to sample. Additional details about this automation method can be found in the help here: PointSample()


This method will return the worksheet document that represents the original XYData file but with the new Z values (stored in StoreZCol) added. This worksheet being returned will be the same (or at least very close to the same) as the worksheet that is opened with the PointSample command in the UI.



Sub Main
	Dim Surfer As Object
	Set Surfer = GetObject(,"Surfer.Application")
	Surfer.Visible = True

	'use the default X, Y, and Z columns, which should be A, B, and D respectively
	Set Wks = Surfer.PointSample(Surfer.Path + "\Samples\Demogrid.grd", Surfer.Path + "\Samples\Demogrid.dat")

	'explicitly set the X, Y, and Z columns, which should now be B, C, and H respectively
	Set Wks2 = Surfer.PointSample(Surfer.Path + "\Samples\Demogrid.grd", Surfer.Path + "\Samples\Demogrid.dat", xCol:=1, YCol:=2, StoreZCol:=5)

	'make sure that the Worksheet Document being returned is valid
End Sub



Updated November 2021

Was this article helpful?
2 out of 2 found this helpful



Please sign in to leave a comment.