🆕Getting started
Last updated
Was this helpful?
Last updated
Was this helpful?
Was this helpful?
This guide provides an overview of how to get started using the OS Net API, covering the core elements on how to automate the download of OS Net RINEX.
OS Net API URL and key. See Getting started with an API project for more information.
A basic understanding of automatic processing of JSON data and basic procedural (if-then-else) programming.
A text editor like Visual Studio Code.
Node.js installed
Axios module installed (npm install axios
)
Basic understanding of JSON and procedural logic
API key or OAuth2 token for authentication
A text editor like Visual Studio Code
This script fetches available RINEX files for a specific station and date, then downloads them to a local folder.
const axios = require('axios');
const fs = require('fs');
const path = require('path');
// Replace with your actual API key
const API_KEY = 'YOUR_API_KEY_HERE';
// Example parameters
const stationId = 'ABEP';
const year = 2025;
const dayOfYear = 1;
const listFilesUrl = `https://api.os.uk/positioning/osnet/v1/rinex/${year}/${dayOfYear}`;
const downloadDir = './downloads';
async function downloadRinexFiles() {
try {
const response = await axios.get(listFilesUrl, {
headers: { 'key': API_KEY }
});
const files = response.data;
if (!fs.existsSync(downloadDir)) {
fs.mkdirSync(downloadDir);
}
for (const file of files) {
const fileUrl = file.url;
const fileName = file.fileName;
if(fileName.startsWith(stationId)) {
console.log(`Downloading ${fileName}...`);
const filePath = path.join(downloadDir, fileName);
const fileResponse = await axios.get(fileUrl, {
headers: { 'key': API_KEY },
responseType: 'stream'
});
const writer = fs.createWriteStream(filePath);
fileResponse.data.pipe(writer);
}
}
console.log('All files downloaded.');
} catch (error) {
console.error('Error downloading RINEX files:', error.message);
}
}
downloadRinexFiles();
Queries the /rinex/{year}/{dayOfYear}
endpoint to list available files.
Iterates through the list and downloads each file using its url.
Saves the files to a local downloads
directory.