This may not be the most ideal way to do it, but it should work. Have a small, invisible "spawner" object (just a sprite). Every few seconds, set its position randomly within whatever range you're looking to use (set position X: random(player.X-1000, player.X+1000) and so on). Then, check if it is overlapping a water sprite or water sprite family. If it is, immediately reposition it. Then, right after, if the object isn't overlapping water, call a function or event to spawn an enemy at that location.