If I have the grid below, which consists of 4,000
squares, how could I aggregate the squares such that I end up having 1000 larger squares, each of which contains 4 of the original smaller squares, without overlapping?
-
1Create rotated fishnet of relevant size, join original (has centroid) to it and dissolve. Valid if nrows ℅ 2 == 0– FelixIPFeb 6, 2017 at 18:34
-
3I would try to generate a new fishnet, with the correct cell size, origin and rotation angle. If the new fishnet linework doesn't match exactly, you might be able to Snap it to the 4000 polygon version.– klewisFeb 6, 2017 at 18:40
-
gis.stackexchange.com/questions/121632/…– FelixIPFeb 6, 2017 at 19:18
-
is the vector grid aligned to a coordinate grid? having consistent x and y coordinates along the grid would be helpful in grouping/dissolving. or if there are row and column attributes in the vector grid– TDavisFeb 6, 2017 at 20:34
-
Use the centroids of the smaller cells to associate them to the parent tessellation (aka spaghetti and meatball approach).– VinceFeb 6, 2017 at 20:45
1 Answer
If your grid is aligned to a coordinate system, and the x coordinates along the vertical edges of the grid are the same, you could try the following. 1)run 'feature vertices to points' to make a point at every intersection 2)filter out(delete) every point in an odd numbered column or row, so that you are only left with points that correspond with the center of your 4 squares 3)add an attribute field giving a unique value to each point (copy from the FID value if needed) 4)conduct a spatial join on your vector grid squares to the point layer, so that the unique value of the closest point is assigned to each square 5)now that each 4 square cluster has a shared value, run a dissolve using that field, and you will have 1000 larger squares.
-
*add in step 1a) calculate geometry in the attribute table to add x and y coordinate fields– TDavisFeb 6, 2017 at 20:58
-
if it is not aligned, after step 1 above, create a subset (export data) of the first row of points, and a separate one for the first column of points. run a spatial join of the full set of points against both of these subsets to derive a nearest distance value (near_x and near_y or something) and join the two generated layers so you have a layer with all points, and two distance fields for each point. use these values in place of coordinates to proceed with the remaining steps– TDavisFeb 6, 2017 at 20:58
-
Please fold these comments into the body of the answer. Using ordered list formatting would also help readability.– VinceFeb 7, 2017 at 1:02