Учился в Тверской и Санкт-Петербургской гимназиях, затем поступил на физико-математический факультет Петербургского университета, который окончил в 1870 году. В 1870—1878 годах работал в Пулковской обсерватории, в 1876—1924 годах — в Петербургском (Петроградском) ун-те (с 1889 — профессор).
Основные научные работы посвящены исследованию двойных и переменных звезд, изучению движения спутников Юпитера, рефракции света в земной атмосфере. Рассмотрел вопрос о точности определения коэффициента аберрации по данным наблюдений затмений спутников Юпитера. Исследовал влияние неконцентричности атмосферных слоев равной плотности на рефракцию, обнаружил существование периодичности в рефракционных уклонениях и рассмотрел её влияние на параллаксы и аберрацию звезд. Заново определил параллаксы альфы Лиры, 61 Лебедя, альфы Возничего. Предложил простой и точный удобный способ определения орбит графический метод вычисления истинной орбиты звезды по видимой, вычислил большое число этих орбит. Выполнил несколько тысяч наблюдений двойных и переменных звезд.
Был инициатором создания и руководил строительством обсерватории Петербургского университета (1881). В 1874 году участвовал в экспедиции для наблюдения прохождения Венеры через диск Солнца в Восточной Сибири. В 1887 году возглавлял экспедицию в Ярославскую губернию для наблюдений полного солнечного затмения. Один из организаторов Русского астрономического общества и его председатель в 1893—1906 и в 1925—1929 годах. Был пионером в организации астрономических наблюдений в благоприятных астроклиматических условиях Крыма и Кавказа. Создал временную обсерваторию в Абастумани, на месте которой впоследствии, в 1932 году, была основана Абастуманская астрофизическая обсерватория. Энтузиаст развития любительской астрономии. Автор многих учебников по астрономии и математике и популярных книг, занимался составлением вспомогательных математических, астрономических и геодезических таблиц.