Troy is located in Lincoln County, of which it is the county seat, 50 miles northwest of St Louis between Hawk Point and Winfield along Highway 47 near Cuivre River State Park. The population estimate for July 1, 1998 was 5,548, an increase of 1,737 since 1990.