How to create a seamless low poly terrain with displace and multiple planes? I'm trying to create a large low poly terrain from a heightmap which is divided into multiple squares. Each square is then used as the texture for the displace modifier applied to a plane. However, when I then place the displaced planes next to each other to form the total terrain the edges don't align seamlessly. 

Let me visualize this a little bit:

I'm using the following image (512px x 512px) as the heightmap for testing purposes:



This is going to be sliced into four (= 2 x 2) squares. (The final heightmap is supposed to be about 8 x 8 of these smaller squares). Let's just look at the top two:




I have already checked and there are no pixels lost between the two slices.
In the end each terrain tile is going to be in its own .blend file, but for demonstration purposes I'm going to have them in the same one for now. 

Now I take two planes, subdivide them into grids of size 256 x 256 and add the displace modifier with the respective texture. (I'm also adding a decimate modifier but that's not part of the problem)



The texture settings are as follows:



Image Sampling is set to interpolate and image mapping extension to repeat (I've tried all extension options already)

The problem is this:



As you can see there are multiple places where the edges of the different planes don't align. I'm guessing that this is probably because each displace is lacking the information for the pixels of the other heightmap slice and therefore can't properly interpolate between the two.

Is there a way to solve this problem and make the edges align seamlessly? Or is there maybe a completely different and easier approach to this whole idea?
A solution can be using two additional modifiers:


Shrinkwrap to fill the gap between the two images
Data transfer to align the normal continuously




The vertex group used to that is the following:



You can also use "extend" option on the textures mapping:



Edit

Applying the data transfer modifier won't work if 'auto smooth' is not set, as Blender will recalculate the normals.
So use auto smooth (180°) and apply the modifier: