TransWikia.com

Error in "Extract values to point" in arcpy

Geographic Information Systems Asked by Maria Sheikh on December 14, 2020

I am working on spatial interpolation. To extract values for my required points, I am using "Extract values to points" tool from Spatial interpolation toolbox. The tool is working good in ArcMap 10.5. But when I try to use the tool from ArcPy. Same value is generated for each point in test set.
Here is my code:

#point extraction
# Set local variables
inPointFeatures = "test.lyr"
inRaster = "out1"
outPointFeatures = "extractvaluespts.dbf"

# Check out the ArcGIS Spatial Analyst extension license
arcpy.CheckOutExtension("Spatial")

# Execute ExtractValuesToPoints
ExtractValuesToPoints(inPointFeatures, inRaster, outPointFeatures,
                  "INTERPOLATE", "VALUE_ONLY")

My code for test point layer is as follow:

   ##XY layer for test
# Set the local variables
in_Table = "test.csv"
x_coords = "LONGITUDE"
y_coords = "LATITUDE"
z_coords = ""
out_Layer = "test"
saved_Layer = r"C:UsersmycDesktopthesis combineweather parametersmax tempwith elevationchk1test.lyr"

# Set the spatial reference
spRef = r"Coordinate SystemsGeographic Coordinate SystemsWorldWGS 1984.prj"

# Make the XY event layer...
arcpy.MakeXYEventLayer_management(in_Table, x_coords, y_coords, out_Layer, spRef, z_coords)

# Print the total rows
print(arcpy.GetCount_management(out_Layer))

# Save to a layer file
arcpy.SaveToLayerFile_management(out_Layer, saved_Layer)

I am unable to understand the reason behind this error?

P.S. When I work with geostatistical analyst tool set and GA to points, it works perfect, but I require to use raster calculator that’s why I cannot use Geostatistical analyst. How can I fix this?

One Answer

I believe the issue is to do with your input, it's a CSV file, which is simply a text file not a spatial dataset such as geodatabase featureclass or shapefile.

Firstly as as @Nick hints your code is missing the workspace environment setting so it does not know where in_Table is. Either make it a full path string or set the workspace.

Secondly you construct a layer from your CSV file and then save it as a layer file. A layer file IS NOT DATA, it's the symbology, labelling and definition of your source data.

What you want to do is having made your XY event layer, is to export it to a proper spatial dataset format, I would recommend a file geodatabase featureclass, you can use the Copy Features tool to achieve that, then reference that in your code which extracts values to points. As you now have a proper spatial dataset the tool can insert fields and populate.

CSV files are simply text files that just happen to have values separated by commas and have no mechanisms for inserting new fields and updating rows like database tables.

Answered by Hornbydd on December 14, 2020

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP