765 double minx, miny, maxx, maxy;
766 double latmax, latmin, lonmax, lonmin;
767 double lonwidth, latwidth;
768 double latmaxadjust, lonmaxadjust, latminadjust, lonminadjust;
777 if ( minx == maxx && miny == maxy )
793 lonwidth = lonmax - lonmin;
794 latwidth = latmax - latmin;
795 latmaxadjust = lonmaxadjust = latminadjust = lonminadjust = 0.0;
797 if ( minx > lonmin + lonwidth / 2.0 )
799 lonminadjust = lonwidth / 2.0;
801 else if ( maxx < lonmax - lonwidth / 2.0 )
803 lonmaxadjust = -1 * lonwidth / 2.0;
805 if ( lonminadjust || lonmaxadjust )
807 lonmin += lonminadjust;
808 lonmax += lonmaxadjust;
818 if ( miny > latmin + latwidth / 2.0 )
820 latminadjust = latwidth / 2.0;
822 else if (maxy < latmax - latwidth / 2.0 )
824 latmaxadjust = -1 * latwidth / 2.0;
827 if ( latminadjust || latmaxadjust )
829 latmin += latminadjust;
830 latmax += latmaxadjust;
842 bounds->
xmin = lonmin;
843 bounds->
xmax = lonmax;
844 bounds->
ymin = latmin;
845 bounds->
ymax = latmax;