I used model builder to build a model which can calculate the XY coordinates and it's perfect!
However, when I export it to VBscript and run it in VBA it crashes....
The error happens at
gp.CalculateField_management RasterT_Kriging1_shp__2_, "x", "pPoint.X", "VB", "Dim Output As Double"
and says object required.
Following is my code to calculate the X:
Dim Output As Double
Dim pPoint As IPoint
Set pPoint = [Shape]
Output = pPoint.X
Can anyone help me?
Ok, following is my code:
Dim gp As Object
Dim shape As Object
Set gp = CreateObject("esriGeoprocessing.GPDispatch.1")
' Check out any necessary licenses
gp.CheckOutExtension "spatial"
' Load required toolboxes...
gp.AddToolbox "C:/Program Files/ArcGIS/ArcToolbox/Toolboxes/Spatial Analyst Tools.tbx"
gp.AddToolbox "C:/Program Files/ArcGIS/ArcToolbox/Toolboxes/Conversion Tools.tbx"
gp.AddToolbox "C:/Program Files/ArcGIS/ArcToolbox/Toolboxes/Data Management Tools.tbx"
' Local variables...
Temp = "C:\temp"
Kriging_poin4 = "C:\temp\New File Geodatabase.gdb\Kriging_poin4"
Output_variance_of_prediction_raster = ""
Dim Temp As String
Dim Kriging_poin1 As String
Dim Temp__2_ As String
Dim RasterT_Kriging1_shp__4_ As String
Dim RasterT_Kriging1_shp As String
Dim RasterT_Kriging1_shp__2_ As String
Dim RasterT_Kriging1_shp__6_ As String
Dim RasterT_Kriging1_shp__5_ As String
Dim point2_Events_shp As String
Temp = "C:\Temp"
Kriging_poin1 = "C:\Temp\Kriging_poin"
Output_variance_of_prediction_raster = ""
Temp__2_ = "C:\Temp"
RasterT_Kriging1_shp__4_ = "C:\Temp\RasterT_Kriging.shp"
RasterT_Kriging1_shp = "C:\Temp\RasterT_Kriging.shp"
RasterT_Kriging1_shp__2_ = "C:\Temp\RasterT_Kriging.shp"
RasterT_Kriging1_shp__6_ = "C:\Temp\RasterT_Kriging.shp"
RasterT_Kriging1_shp__5_ = "C:\Temp\RasterT_Kriging.shp"
point2_Events_shp = "C:\Temp\point2 Events.shp"
' Process: Feature Class To Shapefile (multiple)...
gp.FeatureClassToShapefile_conversion "'C:\temp\New File Geodatabase.gdb\point2'", Temp__2_
' Process: Kriging...
gp.Kriging_sa point2_Events_shp, "x", Kriging_poin1, "Spherical 249.101224", "250", "VARIABLE 12", Output_variance_of_prediction_raster
' Process: Raster to Point...
gp.RasterToPoint_conversion Kriging_poin1, RasterT_Kriging1_shp__4_, "Value"
' Process: Add Field...
gp.AddField_management RasterT_Kriging1_shp__4_, "x", "DOUBLE", "12", "4", "", "", "NON_NULLABLE", "NON_REQUIRED", ""
' Process: Add Field (2)...
gp.AddField_management RasterT_Kriging1_shp, "y", "DOUBLE", "12", "4", "", "", "NON_NULLABLE", "NON_REQUIRED", ""
' Process: Calculate Field...
gp.CalculateField_management RasterT_Kriging1_shp__2_, "x", "pPoint.X", "VB", "Dim Output As Double"
Dim pPoint As IPoint
Set pPoint = [shape]
Output = pPoint.X
' Process: Calculate Field (2)...
gp.CalculateField_management RasterT_Kriging1_shp__6_, "y", "pPoint.Y", "VB", "Dim Output As Double"
Output = pPoint.Y
End Sub
I am following the steps you told me last time in
Using kriging with data in GDB
but it's still doesn't work!