diff --git a/CHANGELOG.md b/CHANGELOG.md index f9945b0c..fca70ead 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,12 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](http://keepachangelog.com/) and this project adheres to [Semantic Versioning](http://semver.org/). +# 0.26.1 - UNRELEASED + +## Fixed + +- Importing GeoJSON files now saves velocity if it was stored in either `velocity` or `speed` property. + # 0.26.0 - 2025-05-08 ⚠️ This release includes a breaking change. ⚠️ diff --git a/app/services/geojson/params.rb b/app/services/geojson/params.rb index 8ae4fb41..00b9907c 100644 --- a/app/services/geojson/params.rb +++ b/app/services/geojson/params.rb @@ -95,7 +95,9 @@ class Geojson::Params end def speed(feature) - feature.dig(:properties, :speed).to_f.round(1) + value = feature.dig(:properties, :speed) || feature.dig(:properties, :velocity) + + value.to_f.round(1) end def accuracy(feature) diff --git a/spec/fixtures/files/geojson/export.json b/spec/fixtures/files/geojson/export.json index 8b916ab1..ea1e3fa9 100644 --- a/spec/fixtures/files/geojson/export.json +++ b/spec/fixtures/files/geojson/export.json @@ -12,7 +12,7 @@ "topic": "MyString", "altitude": 1, "longitude": "0.1", - "velocity": "MyString", + "velocity": 1.5, "trigger": "background_event", "bssid": "MyString", "ssid": "MyString", @@ -41,7 +41,7 @@ "topic": "MyString", "altitude": 1, "longitude": "0.2", - "velocity": "MyString", + "velocity": 1.5, "trigger": "background_event", "bssid": "MyString", "ssid": "MyString", @@ -70,7 +70,7 @@ "topic": "MyString", "altitude": 1, "longitude": "0.3", - "velocity": "MyString", + "velocity": 1.5, "trigger": "background_event", "bssid": "MyString", "ssid": "MyString", @@ -99,7 +99,7 @@ "topic": "MyString", "altitude": 1, "longitude": "0.4", - "velocity": "MyString", + "velocity": 1.5, "trigger": "background_event", "bssid": "MyString", "ssid": "MyString", @@ -128,7 +128,7 @@ "topic": "MyString", "altitude": 1, "longitude": "0.5", - "velocity": "MyString", + "velocity": 1.5, "trigger": "background_event", "bssid": "MyString", "ssid": "MyString", @@ -157,7 +157,7 @@ "topic": "MyString", "altitude": 1, "longitude": "0.6", - "velocity": "MyString", + "velocity": 1.5, "trigger": "background_event", "bssid": "MyString", "ssid": "MyString", @@ -186,7 +186,7 @@ "topic": "MyString", "altitude": 1, "longitude": "0.7", - "velocity": "MyString", + "velocity": 1.5, "trigger": "background_event", "bssid": "MyString", "ssid": "MyString", @@ -215,7 +215,7 @@ "topic": "MyString", "altitude": 1, "longitude": "0.8", - "velocity": "MyString", + "velocity": 1.5, "trigger": "background_event", "bssid": "MyString", "ssid": "MyString", @@ -244,7 +244,7 @@ "topic": "MyString", "altitude": 1, "longitude": "0.9", - "velocity": "MyString", + "velocity": 1.5, "trigger": "background_event", "bssid": "MyString", "ssid": "MyString", @@ -273,7 +273,7 @@ "topic": "MyString", "altitude": 1, "longitude": "1.0", - "velocity": "MyString", + "velocity": 1.5, "trigger": "background_event", "bssid": "MyString", "ssid": "MyString", diff --git a/spec/services/geojson/params_spec.rb b/spec/services/geojson/params_spec.rb index 817cd85f..345ddbe3 100644 --- a/spec/services/geojson/params_spec.rb +++ b/spec/services/geojson/params_spec.rb @@ -23,7 +23,7 @@ RSpec.describe Geojson::Params do battery: nil, timestamp: Time.zone.at(1_609_459_201), altitude: 1, - velocity: 0, + velocity: 1.5, tracker_id: nil, ssid: nil, accuracy: 1, @@ -45,7 +45,7 @@ RSpec.describe Geojson::Params do 'topic' => 'MyString', 'altitude' => 1, 'longitude' => '0.1', - 'velocity' => 'MyString', + 'velocity' => 1.5, 'trigger' => 'background_event', 'bssid' => 'MyString', 'ssid' => 'MyString',