Kane Williamson's risen to second in the test cricket batting rankings following his century in the drawn first test against South Africa in Dunedin.

Williamson has leapfrogged England captain Joe Root and Indian skipper Virat Kohli.

Australian captain Steve Smith remains number one.