var
  TL,M: TDoublePoint;
  BR,N: TDoublePoint;
  VEPSG: Integer;
  Proj4Conv: IProjConverter;
begin
  TL.x := GetLLon;
  TL.y := GetTLat;
  BR.x := GetRLon;
  BR.y := GetBLat;

  // use EPSG:28483 aka EPSG:2513
  // check bounds (EPSG:28483 between 132E and 138E) and correct EPSG (inc or dec)
  VEPSG := 28483;
  if (TL.x<132) then begin
    VEPSG := VEPSG - 1;
  end else if (TL.x>138) then begin
    VEPSG := VEPSG + 1;
  end;
  
  // get proj4 converter
  Proj4Conv := ProjFactory.GetByEPSG(VEPSG-(28483-2513));

  if Assigned(Proj4Conv) then begin
    // convert
    M := Proj4Conv.LonLat2XY(TL);
    N := Proj4Conv.LonLat2XY(BR);
    // make url
    ResultURL := GetURLBase + '&SRS=EPSG%3A' + IntToStr(VEPSG) + '&BBOX=' + RoundEx(M.x,9)+','+RoundEx(N.y,9)+','+RoundEx(N.x,9)+','+RoundEx(M.y,9) + '&WIDTH=256&HEIGHT=256';
  end else begin
    // not available
    ResultURL := '';
  end;
end.