I have 5 parameters in my arcpy script, imported into a toolbox.

inputFC = arcpy.GetParameterAsText(0)

outputFC = arcpy.GetParameterAsText(1)

heightfield = arcpy.GetParameterAsText(2) #Must be in the same units as the coordinate system!

azimuth = math.radians(float(arcpy.GetParameterAsText(3))) #Must be in degrees

altitude = math.radians(float(arcpy.GetParameterAsText(4))) #Must be in degrees

I have building footprints, including height in the attribute, and I want to compute the shadow of the building in 2D.

Could anyone tell me which 'Data type' and parameter properties I should define before running the script? Thanks

Is there a reason why you're specifying the Azimuth and Altitude values as Any Value and not Double? The Any Value type would allow you to insert alphanumeric text and I'd assume you'd need to add logic into your code to account for this. For example, Any Value would allow you to provide values like 90° or EAST or 90.0, whereas Double would restrict you to 90.0. You could also use validation logic to verify that your azimuth or altitude values are within the expected ranges. I've included a quick example of the logic below.