From d4bfe9f9a945faff1282a69539dfe6e50b094cc2 Mon Sep 17 00:00:00 2001 From: Thomas Edwin Santosa Date: Fri, 10 Nov 2023 16:17:03 +0700 Subject: [PATCH] Longitude and latitude to detection response --- .../banyuwangi/controller/AlarmController.kt | 2 ++ .../banyuwangi/controller/DetectionController.kt | 13 ++++++++++--- .../banyuwangi/controller/DetectionResponse.kt | 3 +++ .../com/katalisindonesia/banyuwangi/model/Camera.kt | 4 ++-- .../banyuwangi/model/SnapshotCount.kt | 4 ++-- .../banyuwangi/controller/LiveViewControllerTest.kt | 4 ++-- 6 files changed, 21 insertions(+), 9 deletions(-) diff --git a/src/main/kotlin/com/katalisindonesia/banyuwangi/controller/AlarmController.kt b/src/main/kotlin/com/katalisindonesia/banyuwangi/controller/AlarmController.kt index 9d8135f..c02dfc8 100644 --- a/src/main/kotlin/com/katalisindonesia/banyuwangi/controller/AlarmController.kt +++ b/src/main/kotlin/com/katalisindonesia/banyuwangi/controller/AlarmController.kt @@ -131,6 +131,8 @@ class AlarmController( ) .toString(), annotations = emptyList(), + longitude = camera.longitude.toBigDecimal(), + latitude = camera.latitude.toBigDecimal(), ) } ) diff --git a/src/main/kotlin/com/katalisindonesia/banyuwangi/controller/DetectionController.kt b/src/main/kotlin/com/katalisindonesia/banyuwangi/controller/DetectionController.kt index c198b5c..44b7477 100644 --- a/src/main/kotlin/com/katalisindonesia/banyuwangi/controller/DetectionController.kt +++ b/src/main/kotlin/com/katalisindonesia/banyuwangi/controller/DetectionController.kt @@ -35,6 +35,7 @@ import org.springframework.web.bind.annotation.RequestMapping import org.springframework.web.bind.annotation.RequestParam import org.springframework.web.bind.annotation.RestController import org.springframework.web.servlet.support.ServletUriComponentsBuilder +import java.math.BigDecimal import java.time.Instant import java.time.LocalDate import java.time.ZoneId @@ -169,7 +170,9 @@ class DetectionController( type = it.type, value = it.value, imageSrc = storageService.uri(it.snapshotImageId).toString(), - annotations = annotations + annotations = annotations, + longitude = it.snapshot.camera.longitude.toBigDecimal(), + latitude = it.snapshot.camera.latitude.toBigDecimal(), ) ) ) @@ -383,7 +386,9 @@ class DetectionController( type = it.type, value = it.value, imageSrc = storageService.uri(it.snapshotImageId).toString(), - annotations = annotationMap[Pair(it.snapshotImageId, it.type)] ?: emptyList() + annotations = annotationMap[Pair(it.snapshotImageId, it.type)] ?: emptyList(), + longitude = it.snapshot.camera.longitude.toBigDecimal(), + latitude = it.snapshot.camera.latitude.toBigDecimal(), ) } return PageImpl(list, pageRequest, Long.MAX_VALUE) @@ -419,7 +424,9 @@ class DetectionController( value = 3, imageSrc = ServletUriComponentsBuilder.fromUri(appProperties.baseUri) .path("/v1/image/${storageService.dummyId()}").toUriString(), - annotations = annotations + annotations = annotations, + longitude = BigDecimal.ONE, + latitude = BigDecimal.ONE, ) ) } diff --git a/src/main/kotlin/com/katalisindonesia/banyuwangi/controller/DetectionResponse.kt b/src/main/kotlin/com/katalisindonesia/banyuwangi/controller/DetectionResponse.kt index 048cb4b..a9a355c 100644 --- a/src/main/kotlin/com/katalisindonesia/banyuwangi/controller/DetectionResponse.kt +++ b/src/main/kotlin/com/katalisindonesia/banyuwangi/controller/DetectionResponse.kt @@ -2,6 +2,7 @@ package com.katalisindonesia.banyuwangi.controller import com.katalisindonesia.banyuwangi.model.Annotation import com.katalisindonesia.banyuwangi.model.DetectionType +import java.math.BigDecimal import java.time.Instant import java.time.LocalDate @@ -14,4 +15,6 @@ data class DetectionResponse( val value: Int, val imageSrc: String, val annotations: List, + val longitude: BigDecimal, + val latitude: BigDecimal, ) diff --git a/src/main/kotlin/com/katalisindonesia/banyuwangi/model/Camera.kt b/src/main/kotlin/com/katalisindonesia/banyuwangi/model/Camera.kt index 6337385..ca2eb77 100644 --- a/src/main/kotlin/com/katalisindonesia/banyuwangi/model/Camera.kt +++ b/src/main/kotlin/com/katalisindonesia/banyuwangi/model/Camera.kt @@ -33,10 +33,10 @@ data class Camera( var location: String, @Column(nullable = false) - var latitude: Float = 0F, + var latitude: Double = 0.0, @Column(nullable = false) - var longitude: Float = 0F, + var longitude: Double = 0.0, @Column(nullable = false) var host: String = "", diff --git a/src/main/kotlin/com/katalisindonesia/banyuwangi/model/SnapshotCount.kt b/src/main/kotlin/com/katalisindonesia/banyuwangi/model/SnapshotCount.kt index 9f28692..7ec240c 100644 --- a/src/main/kotlin/com/katalisindonesia/banyuwangi/model/SnapshotCount.kt +++ b/src/main/kotlin/com/katalisindonesia/banyuwangi/model/SnapshotCount.kt @@ -50,8 +50,8 @@ data class SnapshotCount( @Column(nullable = false) var snapshotCameraLocation: String = snapshot.camera.location, - var snapshotCameraLongitude: Float? = snapshot.camera.longitude, - var snapshotCameraLatitude: Float? = snapshot.camera.latitude, + var snapshotCameraLongitude: Double? = snapshot.camera.longitude, + var snapshotCameraLatitude: Double? = snapshot.camera.latitude, @Enumerated(EnumType.STRING) @Column(nullable = false) diff --git a/src/test/kotlin/com/katalisindonesia/banyuwangi/controller/LiveViewControllerTest.kt b/src/test/kotlin/com/katalisindonesia/banyuwangi/controller/LiveViewControllerTest.kt index 635713c..0971aed 100644 --- a/src/test/kotlin/com/katalisindonesia/banyuwangi/controller/LiveViewControllerTest.kt +++ b/src/test/kotlin/com/katalisindonesia/banyuwangi/controller/LiveViewControllerTest.kt @@ -87,8 +87,8 @@ class LiveViewControllerTest( channel = 1, userName = "admin", password = "Password123", - longitude = 2F, - latitude = 3F, + longitude = 2.0, + latitude = 3.0, type = CameraType.HIKVISION, ) mockMvc.post("/v1/camera") {