createInitialGrid method

void createInitialGrid(
  1. Envelope env,
  2. PriorityQueue cellQueue
)

Initializes the queue with a cell covering the extent of the area.

@param env the area extent to cover @param cellQueue the queue to initialize

Implementation

void createInitialGrid(Envelope env, PriorityQueue cellQueue) {
  double cellSize = math.max(env.getWidth(), env.getHeight());
  double hSide = cellSize / 2.0;

  // Check for flat collapsed input and if so short-circuit
  // Result will just be centroid
  if (cellSize == 0) return;

  Coordinate? centre = env.centre();
  if(centre != null) {
    cellQueue.add(createCell(centre.x, centre.y, hSide));
  }
}