b'Data trends Appendix 1\x08 ARCGIS Python codeTable 1.ARCGIS Python code for regularising points1import arcpy, os, sys2from arcpy.sa import *3 4arcpy.env.overwriteOutput = True5 6input_lyr = arcpy.GetParameter(0) # Choose a layer in ArcMap7arcpy.env.workspace = arcpy.GetParameterAsText(1) # Working directory for all files produced8# Python does not have Do While so double the separation distance to fit the while loop9pt_spacing = str(float(arcpy.GetParameterAsText(2)) * 2) # the largest spacing you want to start from10i = int(arcpy.GetParameterAsText(3)) # how many iterations11Pt_sep_divisor = int(arcpy.GetParameterAsText(4)) # divide spacing by this number: default is 412 13desc = arcpy.Describe(input_lyr)14arcpy.env.outputCoordinateSystem = desc.SpatialReference 1516origin_offset = 017while i 0:18pt_spacing = str(float(pt_spacing) / 2)19polyFC = arcpy.env.workspace + \\\\ + str(int(float(pt_spacing))) + \x08shp 2021if i = = int(arcpy.GetParameterAsText(3)):22origin_offset = 023else:24origin_offset = float(pt_spacing)/2 2526originXY = str(desc.extent.XMin - origin_offset) + + str(desc.extent.YMin - origin_offset)27endXY = str(desc.extent.XMax) + + str(desc.extent.YMax) 2829arcpy.AddMessage(Iter:+ str(i) +pt_spacing:+ pt_spacing +offset:+ str(origin_offset) +Origin:+ originXY)30 31coords = originXY.split( )32yDir = coords[0] + + str(float(coords[1]) + 10) 3334# Fishnet creates both a polygon and points of same name with _labels suffix35arcpy.CreateFishnet_management(polyFC, originXY, yDir, pt_spacing, pt_spacing, , , endXY, LABELS, input_lyr,POLYGON)36ptFC = polyFC.replace(\x08shp, _label\x08shp)37arcpy.Delete_management(polyFC) 3839# Assign the nearest gravity values within a radius to the points40Joined_input_lyr = ptFC.replace(_label\x08shp, ) + _join_ + input_lyr.name + \x08shp41join_radius = str((float(pt_spacing)/Pt_sep_divisor) - 1\x080)42arcpy.SpatialJoin_analysis(ptFC, input_lyr, Joined_input_lyr, JOIN_ONE_TO_ONE, KEEP_ALL, #, WITHIN_A_ DISTANCE, join_radius)43# Plus a buffer layer showing the radius44arcpy.Buffer_analysis(ptFC, ptFC.replace(_label\x08shp, _buffer\x08shp), join_radius)45 46 47if origin_offset ! = 0:48temp = Joined_input_lyr.replace(\x08shp, _zeroes\x08shp)49arcpy.SpatialJoin_analysis(Joined_input_lyr, currSpline, temp, JOIN_ONE_TO_ONE, KEEP_ALL, #, INTERSECT)50#field = BA_1984_MG51#sql = {0} = 0\x08format(arcpy\x08AddFieldDelimiters(temp, BA_1984_MG))52#arcpy\x08MakeFeatureLayer_management(temp, temp, sql)53exp = getVal( !BA_1984_MG!, !grid_code!)54pycode = def getVal(v1,v2):55if (v1 == 0):56return v257else:58return v159arcpy.CalculateField_management(temp, BA_1984_MG, exp, PYTHON_9\x083, pycode)60 61# Interpolate at quarter line spacingAPRIL 2021 PREVIEW 36'