How To: Smooth blocky edges of polygons produced by LATTICEPOLY


The LATTICEPOLY command draws the edges of polygons around the borders of all adjacent lattice points that have the same value. Since lattice points are arranged as an evenly spaced mesh and represent the centers of square grid cells, the polygon edges will follow any blocky or 'stair-stepped' pattern created by a group of cells with the same value that are not parallel to either the x-axis or y-axis.


At the Arc prompt, use ELIMINATE to remove all polygons smaller than the resolution of the original lattice. At the interactive prompt enter a logical expression that selects all coverage polygons with an area less than the lattice resolution squared.

  1. Arc: RESELECT AREA LE <cellsize x cellsize>
  2. At Arc: use CREATELABELS with an {id_base} of 0 to center polygon label points.
  3. At Arc: run IDEDIT with the {POLY} option to re-establish attribute to polygon label link.
  4. The Arc command GENERALIZE can be used with a {weed_tolerance} to begin smoothing the polygon borders. Generally a {weed_tolerance} that is the original lattice sample distance (cellsize) plus 25% of this distance will produce acceptable results.

    If there are important polygons whose lengths are multiples of the original lattice cellsize but whose widths are only a single cell thick, a (weed_tolerance} of minus 25% of the original lattice cellsize will be necessary. If the greater {weed_tolerance} distance is used on these single cell width polygons, they will be reduced to a line with no area after GENERALIZE is run.

  5. In Arc: use CLEAN and then LABELERRORS to fix any displaced labels.
  6. In Arc: center the label points again with CREATELABELS and IDEDIT.
  7. In Arcedit: use SELECT ALL to select all the arcs. Set the WEEDTOLERANCE and GRAIN to 0.5 of the original lattice cellsize and run SPLINE and then SAVE.
  8. In Arc: Run CLEAN and then LABELERRORS to fix any displaced labels.
  9. At this point the coverage bounding polygon may no longer be rectangular. It can be clipped to the original bounding polygon using the Arc command CLIP. Specify the coverage from step 9 as the &ltin_cover> and the coverage used in step 1 as the <clip_cover>.