Getting a small area of terrain.

Is there any way that I can retreive the data (height, texture, etc) of a section of a terrain object.

For example get the exact height and textures of the circle in this picture then copy it to another terrain object:

Is this possible? If so can I have an example?

The Terrain class has a field to access its TerrainData object. TerrainData has a function called GetHeights that lets you access a rectangular area of heightmap samples from the terrain (and there is also a corresponding SetHeights function).

Alright but is there a way to retreive the texture?

Example: in the picture I have 2 textures blended in the circle