776 double minx, miny, maxx, maxy;
777 double latmax, latmin, lonmax, lonmin;
778 double lonwidth, latwidth;
779 double latmaxadjust, lonmaxadjust, latminadjust, lonminadjust;
788 if ( minx == maxx && miny == maxy )
804 lonwidth = lonmax - lonmin;
805 latwidth = latmax - latmin;
806 latmaxadjust = lonmaxadjust = latminadjust = lonminadjust = 0.0;
808 if ( minx > lonmin + lonwidth / 2.0 )
810 lonminadjust = lonwidth / 2.0;
812 else if ( maxx < lonmax - lonwidth / 2.0 )
814 lonmaxadjust = -1 * lonwidth / 2.0;
816 if ( lonminadjust || lonmaxadjust )
818 lonmin += lonminadjust;
819 lonmax += lonmaxadjust;
829 if ( miny > latmin + latwidth / 2.0 )
831 latminadjust = latwidth / 2.0;
833 else if (maxy < latmax - latwidth / 2.0 )
835 latmaxadjust = -1 * latwidth / 2.0;
838 if ( latminadjust || latmaxadjust )
840 latmin += latminadjust;
841 latmax += latmaxadjust;
853 bounds->
xmin = lonmin;
854 bounds->
xmax = lonmax;
855 bounds->
ymin = latmin;
856 bounds->
ymax = latmax;