title: Create bounding box from center coordinate
body: <p>I'm trying to create a bounding box at a specific scale from a center coordinate. I'm trying to keep it within the aspect ratio of a 8.5x11inch piece of paper (612x792 pixels @ 72dpi).</p>
  
  <p>The code I'm using below mostly works, but the heigh seems a bit too tall for the aspect ratio of a letter. Am I not accounting for mercator projection? What am I missing here?</p>
  
  <pre><code>def bounding_box_from_point(center:, size:, scale_denominator:)
    dpi = 72
    inches_per_unit = 4374754
    resolution = 1 / (scale_denominator * inches_per_unit * dpi)
    half_width_deg = (size.width * resolution) / 2
    half_height_deg = (size.height * resolution) / 2
  
    BoundingBox.new(
      north: center.lat + half_height_deg,
      south: center.lat - half_height_deg,
      east: center.lon + half_width_deg,
      west: center.lon - half_width_deg
    )
  end
  </code></pre>
  
  <p>Calling <code>bounding_box_from_point(center: center, size: size, scale_denominator: scale)</code> with:</p>
  
  <pre><code>scale = 0.0008861342166177423 (i.e. 1/18055.955520)
  center = Geometry::Location.new(lat: 37.806336, lon: -122.270625)
  size.width = 612,
  size.height = 792
  </code></pre>
  
  <p>It returns:</p>
  
  <pre><code>west: -122.27172131608657,
  east: -122.26952868391342,
  south: 37.804917238005615
  north: 37.80775476199439
  </code></pre>
  
  <p>If you go to <a href="http://www.openstreetmap.org/export" rel="nofollow noreferrer">http://www.openstreetmap.org/export</a> and enter those bounding box coordinates, you can see that the ratio does not match that of a 8.5x11in piece of paper...it's slightly too tall. What am I doing wrong here or not understanding?</p>