ФЦ предлагает разработчикам использовать API (Application Programming Interface) - веб-сервис для получения данных.
Разработчики могут использовать API в приложениях и отправлять HTTP-запросы на сервер ФЦ в соответствии с предложенным описанием.
Ответ от веб-запроса будет содержать данные в формате JSON.


Описание данных

API возвращают данные:

  • список параметров данных ФЦ, которые можно использовать в запросе;
  • список файлов в соответствии с запросом;
  • файл данных;
  • список станций, данные от который хранятся в ФЦ;
  • данные о станции в соответствии с запросом.

GetData Конечная точка №1

Для получения списка файлов данных ФЦ используйте метод GET и конечную точку пути /api/getData/?filter.

GET
/api/getData/?filter

Параметры строки запроса

Конечной точке передаются параметры запроса:

Параметр Обязательный Тип данных Описание
time_begin да datetime Время начала измерений
time_end да datetime Время окончания измерений
station нет array [string] ID станции сбора измерений
content_type нет string Тип содержимого данных коллекции
data_type нет string Тип данных
meta_collection нет array [number] ID коллекции данных
org нет array [number] ID организации-поставщика данных
limit нет string Количество выводимых файлов

Пример запроса

Пример запроса на получение списка файлов.

/api/getData/?filter[time_begin]=28-03-2022+00:00:00&filter[time_end]=28-03-2022+23:59:59&filter[data_type]=gnss&filter[org][]=1
'filter' => [
	'time_begin'  => 'Дата начала',
	'time_end'    => 'Дата окончания',
	'station' => ['ID станции'],
	'content_type' => 'Тип содержимого коллекции данных',
	'data_type' => 'Тип данных',
	'meta_collection' => ['Список ID коллекций'],
	'org' => ['Список ID организации'],
	'limit' => 'Количество выводимых файлов',
]

[
{
	pt_time_begin: "2022-03-28 20:15:39",
	pk_file_name: "ANDR11RUS_R_20220871500_01H_30S_MO.CRX.gz",
	c_time_end: null,
	fk_meta_collection: "177",
	fk_file_format: "101",
	fk_station: "1707",
	c_time_upload: "2022-03-28 16:57:27.690787",
	c_meta_file: {
		Name: "ANDR11RUS_R_20220871500_01H_30S_MO.CRX.gz",
		Size: "164995",
		Files: [
				{
				Name: "ANDR11RUS_R_20220871500_01H_30S_MO.CRX",
				Size: "",
				Format: "RINEX-V3",
				MimeType: "text/plain",
				FormatType: "native"
				}
				],
		Format: "ZIP",
		Source: {
			Owner: "ROSCOSMOS",
			Prefix: "ANDR",
			Project: "SDCM"
		},
		Checksum: "ff24c01e",
		MimeType: "application/x-gzip",
		Platform: "",
		ProviderDate: {
			Date: "2022-03-28 20:15:39",
			Type: "create"
		},
		CollectionShortName: "IAC_SDCM_gnss_data_hourly_30sec"
	},
	file_size: "164995"
},
	...
]

[
{
	"pt_time_begin": "время начала измерений"
	"pk_file_name": "наименование файла"
	"c_time_end": "время окончания измерений"
	"fk_meta_collection": "id коллекции"
	"fk_file_format": ""
	"fk_station": "id станции"
	"c_time_upload": "дата загрузки"
	"c_meta_file":{
		"Name": "наименование файла"
		"Size": "размер файла"
		"Files" :{
			"Name": "наименование файла"
			"Size": "размер файла"
			"Format": "формат данных"
			"MimeType": "MimeType"
			"FormatType": "FormatType"
		}
		"Format": "формат файла"
		"Sourse": {
			"Owner": "организация"
			"Prefix": "Prefix"
		}
		"Checksum": "контрольная сумма"
		"MimeType": "MimeType"
		"Platform": "Platform"
		"ProviderDate": {
			"Date": "Date"
			"Type": create
		}
		"CollectionShortName": "наименование коллекции"
		"file_size": "размер файла"
	}
},
...
]

GetData Конечная точка №2

Для скачивания файлов используйте метод GET и конечную точку пути /api/getData/?datafile.

GET
/api/getData/?datafile

Параметры строки запроса

Конечной точке передаются параметры запроса:

Параметр Обязательный Тип данных Описание
time_begin да datetime Время начала измерений
file_name да string Имя файла

Пример запроса

Пример запроса на скачивание данных.

/api/getData/?datafile[time_begin]=2022-03-27+22:50:43&datafile[file_name]=Sta30s22022.sp3
				'datafile' => [
							'time_begin' => 'Дата время',
							'file_name' => 'Имя фала',
						]

Пример и схема ответа

Файл

GetFilter

Для получения списка возможных параметров данных ФЦ используйте метод GET и конечную точку пути /api/getFilter.

GET
/api/getFilter

Пример запроса

Пример запроса на получение списка параметров.

/api/getFilter

{
"status": "success",
"answer": {
	"t_data_type": {
		"TypeFields": {
			"pk_name": {
				"Name": "pk_name",
				"Type": "varchar",
				"isNullable": "NO",
				"isUpdatable": "YES"
				},
				...
		}
		"Fields":
			[
				{
					"pk_name": "doris",
					"c_meta": {
					"lang": {
						"EN": {
							"name": "DORIS"
						},
						"RU": {
							"name": "ДОРИС"
						}
					}
				},
				"c_time_upd": "2019-10-23 11:56:01.299904"
				},
				...]
		}
	"t_org_dict": {
		"TypeFields": {
			"pk_id": {
			"Name": "pk_id",
			"Type": "int4",
			"isNullable": "NO",
			"isUpdatable": "YES"
			},
			...
		}
		"Fields": [
			{
			"pk_id": "0",
			"c_name": "NOT DEFINED",
			"fk_parent": null,
			"c_type": "N",
			"c_meta_org": null,
			"c_time_upd": "2019-10-23 11:57:58.734382"
			},
			...]
		}
	"t_platform_dict": {
		"TypeFields": {
			"pk_id": {
			"Name": "pk_id",
			"Type": "int4",
			"isNullable": "NO",
			"isUpdatable": "YES"
			},
			...
		}
		"Fields": [
			{
			"pk_id": "0",
			"c_name": "NOT DEFINED",
			"fk_parent": null,
			"c_type": "N",
			"c_meta_org": null,
			"c_time_upd": "2019-10-23 11:57:58.734382"
			},
			...]
		}
	"t_meta_collection": {
		"TypeFields": {
			"pk_id": {
			"Name": "pk_id",
			"Type": "int4",
			"isNullable": "NO",
			"isUpdatable": "YES"
			},
		}
		"Fields": [
			{
				"pk_id": "2",
				"c_short_name": "IAC_gnss_data_daily_30sec",
				"c_lifetime": "[2019-01-01 00:00:00,]",
				"c_status": "active",
				"fk_sod": "1",
				"fk_data_type": "gnss",
				"c_content_type": "data",
				"c_time_create": "2019-10-24 13:01:58.377157",
				"c_time_upd": "2019-10-24 13:01:58.377157",
				"c_access": "0",
				"fk_spatial": "(90,180),(-90,-180)",
				"c_period_file": "86400",
				"c_discretness": "30",
				"c_period_actual": "0",
				"c_period_storage": null,
				"c_n_observation": null,
				"c_meta_collection": {
					"Abstract": "В коллекции собраны суточные файлы измерений глобальных навигационных спутниковых систем станциями сети Госкорпорации «Роскосмос», к которым относятся станции сетей СДКМ, СВО ЭВИ и других.",
					"DataType": "gnss",
					"ShortName": "IAC_gnss_data_daily_30sec",
					"DataCenter": {
						"Role": "distributor",
						"Address": {
							"City": "Королев",
							"Code": "141070",
							"Region": "Московская обл.",
							"Street": "ул. Пионерская 4",
							"Country": "Россия"
						},
						"Contact": {
							"URL": "www.glonass-iac.ru",
							"Type": "email",
							"Value": "ianc@glonass-iac.ru"
						},
						"LongName": "Информационно-аналитический центр координатно-временного и навигационного обеспечения АО «ЦНИИмаш»",
						"ShortName": "ИАЦ КВНО",
						"PrefixName": "IAC"
					},
					"EntryTitle": "Суточные файлы измерений ГНСС станций сети Госкорпорации «Роскосмос»",
					"PeriodFile": "daily",
					"ContentType": "data",
					"SpatialExtent": {
						"EastBoundingCoordinate": "180",
						"WestBoundingCoordinate": "-180",
						"NorthBoundingCoordinate": "90",
						"SouthBoundingCoordinate": "-90"
					},
					"DiscretnessFile": "30sec",
					"AccessConstraints": 0,
					"CollectionProgress": "active"
				}
			},
			...]
		}
	}
}

{
"status": "success",
"answer": {
	"t_data_type": {
		"TypeFields": {
			"pk_name": {
				"Name": "наименование",
				"Type": "тип данных",
				"isNullable": "null-значение",
				"isUpdatable": "обновляемость"
				},
				...
		}
		"Fields":
			[
				{
					"pk_name": "id",
					"c_meta": {
					"lang": {
						"EN": {
							"name": "английское наименование"
						},
						"RU": {
							"name": "русское наименование"
						}
					}
				},
				"c_time_upd": "дата загрузки"
				},
				...]
		}
	"t_org_dict": {
		"TypeFields": ...
		"Fields": [
			{
			"pk_id": "id",
			"c_name": "NOT DEFINED",
			"fk_parent": null,
			"c_type": "N",
			"c_meta_org": null,
			"c_time_upd": "дата загрузки"
			},
			...]
		}
	"t_platform_dict": {
		"TypeFields": ...
		"Fields": [
			{
			"pk_id": "0",
			"c_name": "NOT DEFINED",
			"fk_parent": null,
			"c_type": "N",
			"c_meta_org": null,
			"c_time_upd": "дата загрузки"
			},
			...]
		}
	"t_meta_collection": {
		"TypeFields": ...
		"Fields": [
			{
				"pk_id": "2",
				"c_short_name": "IAC_gnss_data_daily_30sec",
				"c_lifetime": "[2019-01-01 00:00:00,]",
				"c_status": "active",
				"fk_sod": "1",
				"fk_data_type": "gnss",
				"c_content_type": "data",
				"c_time_create": "дата создания",
				"c_time_upd": "дата загрузки",
				"c_access": "0",
				"fk_spatial": "(90,180),(-90,-180)",
				"c_period_file": "86400",
				"c_discretness": "30",
				"c_period_actual": "0",
				"c_period_storage": null,
				"c_n_observation": null,
				"c_meta_collection": {
					"Abstract": "описание коллекции",
					"DataType": "тип данных коллекции",
					"ShortName": "наименование коллекции",
					"DataCenter": {
						"Role": "distributor",
						"Address": {
							"City": "город",
							"Code": "индекс",
							"Region": "регион",
							"Street": "улица",
							"Country": "страна"
						},
						"Contact": {
							"URL": "URL",
							"Type": "тип контакта",
							"Value": "значение контакта"
						},
						"LongName": "полное наименование",
						"ShortName": "сокращённое наименование",
						"PrefixName": "Prefix"
					},
					"EntryTitle": "описание файлов",
					"PeriodFile": "периодичность файлов",
					"ContentType": "тип файлов",
					"SpatialExtent": {"пространственная протяженность"},
					"DiscretnessFile": "дискретность файла",
					"AccessConstraints": 0,
					"CollectionProgress": "статус коллекции"
				}
			},
			...]
		}
	}
}
				

GetStations

Для получения списка всех станций, данные от которых поступают в ФЦ, используйте метод GET и конечную точку пути /api/getStations.

GET
/api/getStations

Пример запроса

Пример запроса на получение списка станций.

/api/getStations

{
	"193":
	[
		"ABMF",
		"IGS",
		[
			"16.2623",
			"-61.5275"
		]
	],
	"194":
	[
		"ABPO",
		"IGS",
		[
			"-19.0183",
			"47.2292"
		]
	],
	...
}


"pk_id":
[
	"id станции",
	"название организации",
	[
		"широта",
		"долгота"
	]
]

GetStation

Для получения данных о станции используйте метод GET и конечную точку пути /api/getStation.

GET
/api/getStation

Параметры строки запроса

Конечной точке передаются параметры запроса:

Параметр Обязательный Тип данных Описание
id да number id станции
lang да string Язык

Пример запроса

Пример запроса на получение данных о станции.

/api/getStation/?id=359&lang=EN
[
	'id' => 'pk_id',
	'lang' => 'язык'
]

{
	"ID": "HRAO",
	"mode": "Постоянно действующий",
	"name": "Hartebeesthoek RAO",
	"coord": {
		"B": -25.89011,
		"H": 1414.3,
		"L": 27.68698,
		"X": 5085352.597,
		"Y": 2668395.992,
		"Z": -2768731.551
	},
	"address": {
		"city": "Krugersdorp",
		"region": " South Africa"
	},
	"contact": {
		"tel": "818-354-7055",
		"email": "dstowers@jpl.nasa.gov",
		"person_name": "David A. Stowers",
		"operating_organization": "Jet Propulsion Laboratory"
	},
	"network": "IGS",
	"department": "Jet Propulsion Laboratory",
	"id_network": "HRAO",
	"network_en": "IGS",
	"date_install": "1996-09-05T00:00Z",
	"organization": "HartRAO",
	"station_center": {
		"gnss": [
			"GPS",
			"GLO",
			"GAL",
			"BDS"
		],
		"type": "CEMENT FILLED STEEL PIPE\/PILLAR",
		"antenna": {
			"name": "ASH701945E_M",
			"serial_number": "CR6200610005"
		},
		"heigh_m": 0.5,
		"receiver": {
			"name": "JAVAD TRE_G3TH DELTA",
			"serial_number": "01707"
		}
	},
	"conditional_name_lat": "HRAO"
}

{
  name: "Название станции",
  organization: "Организация",
  network: "Сеть (RUS)",
  network_en: "Сеть (LAT)",
  id_network: "Номер в сети",
  conditional_name_rus: "Условное название (RUS)",
  conditional_name_lat: "Условное название (LAT)",
  date_install: "Дата установки",
  destination: "Назначение",
  department: "Принадлежность",
  mode: "Режим функционирования",
  altitude: "Высотная привязка",
  address:{
    cname: "Адресс",
  	region: "Регион",
  	city: "Город",
  	street: "Улица",
  	description: "Расположение"
  },
  contact: {
    cname: "Контакты",
  	operating_organization: "Организация",
  	person_name: "Контактное лицо",
  	person_position: "Должность",
  	tel: "Телефон",
  	email: "Email"
  },
  metrology: "Сведения о метрологии",
  meteo_equipment: "Метеорологическая аппаратура",
  placement_equipment: "Размещение спутниковой аппаратуры",
  log: "Лог-файл",
  coord: {
    cname: "Координаты",
  	B: "B",
  	L: "L",
  	H: "H",
  	Hg: "Hg",
  	X: "X",
  	Y: "Y",
  	Z: "Z"
  },
  station_center: {
    cname: "Центр станции",
  	antenna: {
      cname: "Антенна",
  		name: "Название",
  		manufacturer: "Производитель",
  		serial_number: "Серийный номер"
  	},
  	receiver: {
      cname: "Приёмник",
  		name: "Название",
  		altname: "Сокращённое название",
  		manufacturer: "Производитель",
  		serial_number: "Серийный номер"
  	},
    number_of_channels: "Количество каналов",
    frequency_standard: "Внешний стандарт частоты",
  	chocke_ring: "ГНСС антенна Chocke Ring",
  	nearby_geodetic_points: "Близлежащие геодезические пункты",
  	placement: "Условия размещения станции",
  	type: "Тип центра",
  	heigh_m: "Высота конструкционного центра (м)",
    cable_length_m: "Длинна кабеля (м)",
    gnss: "Принимаемые спутниковые системы",
  	frequency: {
      cname: "Частоты",
  		Beidou: "Beidou",
  		COMPASS: "COMPASS",
  		GLONASS: "GLONASS",
  		GPS: "GPS",
  		Galileo: "Galileo",
  		IRNSS: "IRNSS",
  		QZSS: "QZSS",
  		SBAS: "SBAS"
  	}
  }
}

GetAllPicture

Для получения всех изображений станций используйте метод GET и конечную точку пути /api/getAllPicture.

GET
/api/getAllPicture

Пример запроса

Пример запроса на скачивание данных.

/api/getAllPicture

[
	{
	"id": "613",
	"station": "905",
	"target": "map",
	"meta": "{"name": "EPNPULK", "type": "jpg"}",
	"pic": null,
	"time_upd": "2020-03-19 07:04:08.028222"
	},
	...
]

	{
	"id": "pk_id",
	"station": "fk_org",
	"target": "map",
	"meta": "{"name": "сеть + id станции", "type": "формат изображения"}",
	"pic": null,
	"time_upd": "дата загрузки"
	}