I have a set of polygons of different shapes and areas in a shapefile (let's say shp1). What I need is to create a new polygon from the **perimeter** of the shape, larger of x meters. Then, I need to compare this new polygon with anoter one in another shapefile  (shp2) and see if the second one is larger in AT LEAST one direction with respect to the other one. How can I do it?

To recup, I would need:

 1. A way to create a new polygon from the perimeter of the polygons that exists (I can't use the centroids because the shapes and the dimenson of the polygons are totally different);
 2. A way to assign to each new polygons the polygons in shapefile number 2 (in this case I think I can use the centroid);
 3. A way to chek if the second polygon (shp2) exceed in at least one direction the new one (new shp1)

Any suggestion?