ФЦ предлагает разработчикам использовать API (Application Programming Interface) - веб-сервис для получения данных.
Разработчики могут использовать API в приложениях и отправлять HTTP-запросы на сервер ФЦ в соответствии с предложенным описанием.
Ответ от веб-запроса будет содержать данные в формате JSON.
Описание данных
API возвращают данные:
- список параметров данных ФЦ, которые можно использовать в запросе;
- список файлов в соответствии с запросом;
- файл данных;
- список станций, данные от который хранятся в ФЦ;
- данные о станции в соответствии с запросом.
GetData Конечная точка №1
Для получения списка файлов данных ФЦ используйте метод 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.
Параметры строки запроса
Конечной точке передаются параметры запроса:
Параметр | Обязательный | Тип данных | Описание |
---|---|---|---|
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.
Пример запроса
Пример запроса на получение списка параметров.
/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.
Пример запроса
Пример запроса на получение списка станций.
/api/getStations
{
"193":
[
"ABMF",
"IGS",
[
"16.2623",
"-61.5275"
]
],
"194":
[
"ABPO",
"IGS",
[
"-19.0183",
"47.2292"
]
],
...
}
"pk_id":
[
"id станции",
"название организации",
[
"широта",
"долгота"
]
]
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.
Пример запроса
Пример запроса на скачивание данных.
/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": "дата загрузки"
}