773 double minx, miny, maxx, maxy;
774 double latmax, latmin, lonmax, lonmin;
775 double lonwidth, latwidth;
776 double latmaxadjust, lonmaxadjust, latminadjust, lonminadjust;
785 if ( minx == maxx && miny == maxy )
801 lonwidth = lonmax - lonmin;
802 latwidth = latmax - latmin;
803 latmaxadjust = lonmaxadjust = latminadjust = lonminadjust = 0.0;
805 if ( minx > lonmin + lonwidth / 2.0 )
807 lonminadjust = lonwidth / 2.0;
809 else if ( maxx < lonmax - lonwidth / 2.0 )
811 lonmaxadjust = -1 * lonwidth / 2.0;
813 if ( lonminadjust || lonmaxadjust )
815 lonmin += lonminadjust;
816 lonmax += lonmaxadjust;
826 if ( miny > latmin + latwidth / 2.0 )
828 latminadjust = latwidth / 2.0;
830 else if (maxy < latmax - latwidth / 2.0 )
832 latmaxadjust = -1 * latwidth / 2.0;
835 if ( latminadjust || latmaxadjust )
837 latmin += latminadjust;
838 latmax += latmaxadjust;
850 bounds->
xmin = lonmin;
851 bounds->
xmax = lonmax;
852 bounds->
ymin = latmin;
853 bounds->
ymax = latmax;