The Gemini World Coordinate Systems (WCS) facilities support various types of astrometric coordinates as well as instrument-specific quantities such as wavelengths or times. The astrometric facilities are based on the principle that, for sky-imaging applications, users are concerned only with (i) positions in the focal plane and (ii) celestial coordinates. All intermediate calculations, for example involving the position of the tip/tilt secondary mirror, the orientation of the instrument rotator, the selection of focal station, differential refraction and atmospheric dispersion, and field rotation effects caused by misalignments in the telescope mount, are encapsulated in the WCS transformation. We have implemented a library of C functions which support Gemini astrometric world coordinates. Most of them can be run off-line, and are applicable to other telescopes. More general WCS problems, involving data coordinates as well as astrometry, are treated by breaking the telescope, instrument and detector into a set of 'agents' each of which manages its own local transformations. The individual transformations can then be combined to provide the end-to-end transformations needed by data display and analysis facilities.