Randomly generating objects at a minimum distance from a part

hi

have been trying to work on generating random map objects relative to the position of the middle of a “Terrain”, which is the sand in the images i will provide, however no matter how much i try i can keep the objects (in this case cacti and dead bushes) away from spawning on top of the road.

RobloxStudioBeta_pVVw43T90l

Prop.Position = Terrain.Position+Vector3.new(math.random(-Terrain.Size.X,Terrain.Size.X),Prop.Size.Y/2,math.random(-Terrain.Size.Z,Terrain.Size.Z))

Currently the object location being determined is being handled by randomizing negative and positive X and Z lengths, but this means that the spawned objects can overlap with the road as shown in the image.

What I’m trying to find out is an efficient way to prevent the objects from spawning on top of the road.

I have tried math.clamp, raycasting and determining the position.X difference between the object and the road to see if the objects overlap, but nothing seems to work out well enough.