Hey there Roygee!
So your best bet is to use Vertex Painting!
Lets say you have 3 different textures that you want to apply to a terrain of mountains/valleys. One texture is for the grassy plains in the valleys, one for the rocks, and another for the snow on top of the mountains. You can go into Vertex Paint mode on your mesh and create 3 different paint layers to define exactly where you want your textures to go (you can even apply a small amount of blending with the different brush types as well as overlapping the painted areas ontop of one another). Name each layer according to what you are going to use it for later, as you will be referring back to it later in the node editor.
Once you paint your landscape’s vertex’s you will have to apply the textures to them in the Material Node Editor.
For precise control, you will need to UV unwrap your terrain. The best way to do this is to use Project From View (bounds) from a top view.
There are a couple different ways you can look at building the material for the terrain. You can either do one composite material with all of the textures within one node-setup, or create three separate materials and map them using Vertex Groups (different from Vertex Painting). Personally, I find that creating one large composite material with all of the textures in one node setup works best for me, so that is what I will detail below.
After unwrapping, bring in your three textures in the node editor, and give them each a seperate “Mapping” node as and plug in the UV noodle from the Texture Coordinates node into the Vector input of each Mapping node.
(I am going to assume you already know how to create normal/displacement maps for your terrain, as well as the height/specular map. So skipping that step…)
Focusing on the material for the rocks, I typically combine a Diffuse and Glossy node, controlled by a custom fresnel node to create a physically based render shader (tutorial here: https://youtu.be/6pJrlEzbNek). I plug the Color of the Rock texture into the diffuse node, and then plug in any normal or bump maps I have generated into normal/vector inputs of the Glossy and Diffuse shaders.
After setting up one part of the composite shader for the terrain it can be combined with another set of (texture +diffuse and glossy mix) with a mix node controlled by an “ATTRIBUTE” node. Type in the name of the Vertex Color layer you created before (if you can’t remember the name you can find them in the Mesh Options Panel of the properties window). Plug the output of the yellow, Color noodle into the fac of the Mix Node between the two different textures/shaders. Woila, a composite terrain node material!
Sorry for the long winded post. Hope that helps!