A specific aim of a population-based case-control study of lung cancer in Stockholm, Sweden, was to use emission data, dispersion models, and geographic information systems (GIS) to assess historical exposure to several components of ambient air pollution. Data collected for 1,042 lung cancer cases and 2,364 population controls included information on residence from 1955 to the end of follow-up for each individual, 1990-1995. We assessed ambient air concentrations of pollutants from road traffic and heating throughout the study area for three points in time (1960, 1970, and 1980) using reconstructed emission data for the index pollutants nitrogen oxides (NO(x)/NO(2)) and sulfur dioxide together with dispersion modeling. NO(2) estimates for 1980 compared well with actual measurements, but no independently measured (study-external) data were available for SO(2), precluding similar validation. Subsequently, we used linear intra- and extrapolation to obtain estimates for all other years 1955-1990. Eleven thousand individual addresses were transformed into geographic coordinates through automatic and manual procedures, with an estimated error of < 100 m for 90% of the addresses. Finally, we linked annual air pollution estimates to annual residence coordinates, yielding long-term residential exposure indices for each individual. There was a wide range of individual long-term average exposure, with an 11-fold interindividual difference in NO(2) and an 18-fold difference in SO(2). The 30-year average for all study subjects was 20 microg/m(3) NO(2) from traffic and 53 microg/m(3) SO(2) from heating. The results indicate that GIS can be useful for exposure assessment in environmental epidemiology studies, provided that detailed geographically related exposure data are available for relevant time periods.