У меня есть две таблицы: 1-ая - Таблица местоположений, а 2-ая - Таблица Остановок.
Location Table fields
======================
UserID Gpsdatetime Latitude Longitude
-------------------------------------------------
1 2020-02-12 01:03:18.000 23.421976 72.083997
1 2020-02-12 02:46:09.000 23.033492 72.558313
1 2020-02-12 03:45:43.000 23.033473 72.598341
1 2020-02-12 04:59:19.000 23.035310 72.565583
1 2020-02-12 05:59:09.000 23.043310 72.558583
1 2020-02-12 06:58:59.000 23.053310 72.578583
1 2020-02-12 07:58:49.000 23.033510 72.588583
Stoppage table fields
======================
UserID StartTime EndTime IsStoppage
1 2020-02-12 01:03:18 2020-02-12 02:46:09 1
1 2020-02-12 03:45:43 2020-02-12 03:47:43 0
1 2020-02-12 03:47:43 2020-02-12 03:59:43 0
1 2020-02-12 03:59:43 2020-02-12 04:30:43 0
1 2020-02-12 04:30:43 2020-02-12 04:59:19 0
1 2020-02-12 04:59:19 2020-02-12 05:59:09 1
1 2020-02-12 05:59:09 2020-02-12 06:58:59 1
1 2020-02-12 06:58:59 2020-02-12 07:58:49 1
Теперь мне нужна запись, например, если IsStoppage=1
, тогда получим точку широты и долготы на основе времени окончания записи остановки.
Далее, если IsStoppage=0
, то запись должна быть похожа на точки широты и долготы между начальным временем первой записи isstoppage 0 и конечным временем последней записи Is Stoppage 0.
Далее, снова следующая запись IsStoppage is 1, затем получите точку широты и долготы записи IsStoppage.
Мне нужен такой массив:
"trackdata": [
{
"UserID": 1,
"StartTime": "2020-02-15T01:27:57",
"EndTime": "2020-02-17T02:24:26",
"IsStoppage": true,
"TrackArray": [
"Latitude": 23.033463,
"Longitude": 72.558346
]
},
{
"UserID": 1,
"StartTime": "2020-02-15T03:27:57",
"EndTime": "2020-02-17T04:24:26",
"IsStoppage": false,
"TrackArray": [
{
"Latitude": 23.033463,
"Longitude": 72.558346
},
{
"Latitude": 23.033463,
"Longitude": 72.558346
},
{
"Latitude": 23.033463,
"Longitude": 72.558346
},
{
"Latitude": 23.033463,
"Longitude": 72.558346
}
]
},
{
"UserID": 1,
"StartTime": "2020-02-15T05:27:57",
"EndTime": "2020-02-17T06:24:26",
"IsStoppage": true,
"TrackArray": [
"Latitude": 23.033463,
"Longitude": 72.558346
]
}
]
, чтобы можно было получать записи в соответствии с моим требованием в SQL запросе к серверу ИЛИ любой лог c в C# коде.