Mobiloperatörers signalstyrka har mätts på flera platser i Sverige med småflyg, cirka 165 meter över marken.
Inom kort tillförs även mätdata från drönarflygningar mellan 60-120 meter.
Här kan du hämta en komplett Postman collection med alla API endpoints förberedda och redo att testa. Collectionen innehåller 16 olika testfall som demonstrerar alla funktioner i API:et.
Importera filen i Postman och börja testa API:et direkt. Alla exempel är konfigurerade för Göteborgsområdet.
Både cirkel- och polygon-sökning stöder samma filtreringsalternativ:
null för alla operatörernull för alla teknologierFöljande endpoints är tillgängliga för att konsumera signalstyrkedata:
Endpoint: POST /api/circle.php
Sök efter mätvärden inom en cirkel baserat på en centralpunkt och radie.
{
"center": {
"lat": 57.7089,
"lon": 11.9746
},
"radius_meters": 1000,
"from_date": "2024-01-15",
"to_date": "2024-01-20",
"mncs": [240, 242],
"technologies": ["LTE", "5G"],
"limit": 1000,
"offset": 0
}
{
"success": true,
"data": [
{
"lat": 57.7089,
"lon": 11.9746,
"rsrp_rscp_rssi": -85.5,
"technology": "LTE",
"mnc": 240,
"operator_name": "Telia",
"measurement_date": "2024-01-15",
"time": "14:30:25",
"distance": 0.0
},
{
"lat": 57.7091,
"lon": 11.9748,
"rsrp_rscp_rssi": -92.3,
"technology": "5G",
"mnc": 242,
"operator_name": "Telenor",
"measurement_date": "2024-01-15",
"time": "14:31:10",
"distance": 25.4
}
],
"pagination": {
"total": 150,
"limit": 1000,
"offset": 0,
"has_more": false
},
"query": {
"center": {
"lat": 57.7089,
"lon": 11.9746
},
"radius_meters": 1000,
"filters": {
"from_date": "2024-01-15",
"to_date": "2024-01-20",
"mncs": [240, 242],
"technologies": ["LTE", "5G"],
"include_only_rsrp_rssi_below": null
}
},
"area_info": {
"has_measurements": true,
"warning": null
}
}
Endpoint: POST /api/polygon.php
Sök efter mätvärden inom en polygon definierad av en serie punkter.
{
"polygon": [
{"lat": 57.7089, "lon": 11.9746},
{"lat": 57.7189, "lon": 11.9746},
{"lat": 57.7189, "lon": 11.9846},
{"lat": 57.7089, "lon": 11.9846}
],
"from_date": "2024-01-15",
"to_date": "2024-01-20",
"mncs": [240],
"technologies": ["LTE"],
"limit": 1000,
"offset": 0
}
{
"success": true,
"data": [
{
"lat": 57.7089,
"lon": 11.9746,
"rsrp_rscp_rssi": -78.2,
"technology": "LTE",
"mnc": 240,
"operator_name": "Telia",
"measurement_date": "2024-01-15",
"time": "14:30:25"
},
{
"lat": 57.7091,
"lon": 11.9748,
"rsrp_rscp_rssi": -88.7,
"technology": "5G",
"mnc": 242,
"operator_name": "Telenor",
"measurement_date": "2024-01-15",
"time": "14:31:10"
}
],
"pagination": {
"total": 75,
"limit": 1000,
"offset": 0,
"has_more": false
},
"query": {
"polygon": [
{"lat": 57.7089, "lon": 11.9746},
{"lat": 57.7189, "lon": 11.9746},
{"lat": 57.7189, "lon": 11.9846},
{"lat": 57.7089, "lon": 11.9846}
],
"filters": {
"from_date": "2024-01-15",
"to_date": "2024-01-20",
"mncs": [240, 242],
"technologies": ["LTE", "5G"],
"include_only_rsrp_rssi_below": null
}
},
"area_info": {
"has_measurements": true,
"warning": null
}
}
Endpoint: GET /api/operators.php
Hämta lista över tillgängliga operatörer, teknologier och mätningsdatum.
{
"success": true,
"data": {
"operators": [
{"mnc": 240, "operator_name": "Telia"},
{"mnc": 242, "operator_name": "Telenor"}
],
"technologies": ["LTE", "5G", "3G"],
"measurement_dates": ["2024-01-16", "2024-01-15"],
"total_measurements": 150000
}
}
Alla endpoints returnerar JSON med följande struktur:
{
"success": true,
"data": [...],
"pagination": {
"total": 1500,
"limit": 1000,
"offset": 0,
"has_more": true
},
"query": {
// Upprepar sökparametrarna
}
}
Varje mätvärde innehåller:
Här är exempel på hur du kan använda API:et med JavaScript:
// Sök inom 500m från västra Göteborg mellan 15-20 januari 2024
const response = await fetch('/api/circle.php', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
center: { lat: 57.7089, lon: 11.9746 },
radius_meters: 500,
from_date: '2024-01-15',
to_date: '2024-01-20',
technologies: ['LTE', '5G'],
limit: 100
})
});
const data = await response.json();
console.log(data.data); // Array med mätvärden
// Sök inom polygon från 1 januari 2024 och framåt
const response = await fetch('/api/polygon.php', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
polygon: [
{lat: 57.7089, lon: 11.9746},
{lat: 57.7189, lon: 11.9746},
{lat: 57.7189, lon: 11.9846},
{lat: 57.7089, lon: 11.9846}
],
from_date: '2024-01-01',
mncs: [240, 242]
})
});
const data = await response.json();
console.log(data.data); // Array med mätvärden
// Sök inom 1km från västra Göteborg - alla operatörer och teknologier inkluderade
const response = await fetch('/api/circle.php', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
center: { lat: 57.7089, lon: 11.9746 },
radius_meters: 1000
// Ingen mncs eller technologies = alla inkluderade
})
});
const data = await response.json();
console.log(data.data); // Array med mätvärden från alla operatörer och teknologier
// Hitta områden med dålig signalstyrka (under -100 dBm)
const response = await fetch('/api/circle.php', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
},
body: JSON.stringify({
center: { lat: 57.7089, lon: 11.9746 },
radius_meters: 2000,
include_only_rsrp_rssi_below: -100,
technologies: ['LTE', '5G']
})
});
const data = await response.json();
console.log(data.data); // Endast mätningar med dålig signalstyrka
console.log(data.area_info.has_measurements); // true/false om det finns mätningar i området
if (data.area_info.warning) {
console.warn(data.area_info.warning); // Varning om inga mätningar finns
}