783 double minx, miny, maxx, maxy;
784 double latmax, latmin, lonmax, lonmin;
785 double lonwidth, latwidth;
786 double latmaxadjust, lonmaxadjust, latminadjust, lonminadjust;
795 if ( minx == maxx && miny == maxy )
811 lonwidth = lonmax - lonmin;
812 latwidth = latmax - latmin;
813 latmaxadjust = lonmaxadjust = latminadjust = lonminadjust = 0.0;
815 if ( minx > lonmin + lonwidth / 2.0 )
817 lonminadjust = lonwidth / 2.0;
819 else if ( maxx < lonmax - lonwidth / 2.0 )
821 lonmaxadjust = -1 * lonwidth / 2.0;
823 if ( lonminadjust || lonmaxadjust )
825 lonmin += lonminadjust;
826 lonmax += lonmaxadjust;
836 if ( miny > latmin + latwidth / 2.0 )
838 latminadjust = latwidth / 2.0;
840 else if (maxy < latmax - latwidth / 2.0 )
842 latmaxadjust = -1 * latwidth / 2.0;
845 if ( latminadjust || latmaxadjust )
847 latmin += latminadjust;
848 latmax += latmaxadjust;
860 bounds->
xmin = lonmin;
861 bounds->
xmax = lonmax;
862 bounds->
ymin = latmin;
863 bounds->
ymax = latmax;