2D arrays can only sample one index per pixel at a time, which makes them less than ideal for landscape auto materials because this will create a hard seam when transitioning between one index and another.
This is as opposed to having two separate samples and lerping between them, which allows for a pixel to read both textures at the same time for true blending. If you don’t need smooth transition (like in the case of a building texture as the original topic pertains to) then this is a non issue.
You can get the appearance of a smooth blend using dithering although this does have some issues primarily around ghosting. I have a video that demos this at the 14 minute mark.