768 double minx, miny, maxx, maxy;
769 double latmax, latmin, lonmax, lonmin;
770 double lonwidth, latwidth;
771 double latmaxadjust, lonmaxadjust, latminadjust, lonminadjust;
780 if ( minx == maxx && miny == maxy )
796 lonwidth = lonmax - lonmin;
797 latwidth = latmax - latmin;
798 latmaxadjust = lonmaxadjust = latminadjust = lonminadjust = 0.0;
800 if ( minx > lonmin + lonwidth / 2.0 )
802 lonminadjust = lonwidth / 2.0;
804 else if ( maxx < lonmax - lonwidth / 2.0 )
806 lonmaxadjust = -1 * lonwidth / 2.0;
808 if ( lonminadjust || lonmaxadjust )
810 lonmin += lonminadjust;
811 lonmax += lonmaxadjust;
821 if ( miny > latmin + latwidth / 2.0 )
823 latminadjust = latwidth / 2.0;
825 else if (maxy < latmax - latwidth / 2.0 )
827 latmaxadjust = -1 * latwidth / 2.0;
830 if ( latminadjust || latmaxadjust )
832 latmin += latminadjust;
833 latmax += latmaxadjust;
845 bounds->
xmin = lonmin;
846 bounds->
xmax = lonmax;
847 bounds->
ymin = latmin;
848 bounds->
ymax = latmax;