docs: public double getRoundedScaleDenominator(final boolean geodetic) {
          final double scaleDenominator = this.bounds.getScale(getPaintArea(), this.dpi)
                  .getDenominator(geodetic, getBounds().getProjection(), this.dpi, getBounds().getCenter());
  
          final int numChars = String.format("%d", Math.round(scaleDenominator)).length();
          if (numChars > 2) {
              double factor = Math.pow(10, (numChars - 2));
              return Math.round(scaleDenominator / factor) * factor;
          } else if (scaleDenominator > 1) {
              return Math.round(scaleDenominator);
          }
          return scaleDenominator;
      }