{"id":387348,"date":"2024-06-29T07:16:22","date_gmt":"2024-06-29T07:16:22","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=387348"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=387348","title":{"rendered":"<span>\u0421\u043f\u0440\u043e\u0441\u0438\u043c \u0443 Google, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043d\u0430\u0448\u0430 \u0432\u0441\u0442\u0440\u0435\u0447\u0430 \u0431\u044b\u043b\u0430 \u043f\u0440\u0435\u0434\u043d\u0430\u0447\u0435\u0440\u0442\u0430\u043d\u0430 \u0441\u0443\u0434\u044c\u0431\u043e\u0439<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/ag\/a0\/db\/aga0db9lvsb9mtksonsjxyp6jw4.png\" data-src=\"https:\/\/habrastorage.org\/webt\/ag\/a0\/db\/aga0db9lvsb9mtksonsjxyp6jw4.png\"\/><\/div>\n<p>  <\/p>\n<h1>\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435<\/h1>\n<p>  \u041a\u043e\u0433\u0434\u0430 \u044f \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u043b\u0430\u0441\u044c \u0441\u043e \u0441\u0432\u043e\u0438\u043c \u0431\u043e\u0439\u0444\u0440\u0435\u043d\u0434\u043e\u043c, \u044f \u0438\u043d\u043e\u0433\u0434\u0430 \u043e\u0449\u0443\u0449\u0430\u043b\u0430 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u0435 \u043e\u0442 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u043d\u0435 \u0431\u044b\u043b\u043e \u0443\u043c\u0438\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043a\u0438\u043d\u043e\u0448\u043d\u043e\u0439 \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u0432\u0441\u0442\u0440\u0435\u0447\u0438, \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u043c\u044b \u043f\u044f\u0442\u044c \u043b\u0435\u0442 \u0436\u0438\u043b\u0438 \u0432 \u043e\u0434\u043d\u043e\u043c \u0438 \u0442\u043e\u043c \u0436\u0435 \u0433\u043e\u0440\u043e\u0434\u0435 \u0438 \u0443\u0447\u0438\u043b\u0438\u0441\u044c \u0432 \u043e\u0434\u043d\u043e\u043c \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0438\u0442\u0435\u0442\u0435. \u041d\u0430\u0448\u0430 \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u043d\u0435 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u0430 \u0434\u043b\u044f \u043c\u043d\u043e\u0433\u0438\u0445 \u043f\u0430\u0440 \u0432 2020 \u0433\u043e\u0434\u0443: \u043d\u0430 \u0441\u043f\u0430\u0434\u0435 \u043c\u0435\u0436\u0434\u0443 \u0434\u0432\u0443\u043c\u044f \u0432\u043e\u043b\u043d\u0430\u043c\u0438 COVID \u043c\u044b \u043d\u0430\u0447\u0430\u043b\u0438 \u043e\u0431\u0449\u0430\u0442\u044c\u0441\u044f \u043e\u043d\u043b\u0430\u0439\u043d, \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0434\u043b\u044f \u0437\u043d\u0430\u043a\u043e\u043c\u0441\u0442\u0432 Bumble.<\/p>\n<p>  \u042f \u043f\u043e\u0434\u0443\u043c\u0430\u043b\u0430, \u0447\u0442\u043e \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0439 Google, \u0432\u0442\u0438\u0445\u043e\u043c\u043e\u043b\u043a\u0443 \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u044e\u0449\u0435\u0439 \u0434\u0430\u043d\u043d\u044b\u0435 GPS, \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u043d\u0430\u0439\u0442\u0438 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u0432\u043e\u043f\u0440\u043e\u0441 \u043e \u0442\u043e\u043c, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0443\u0434\u044c\u0431\u043e\u043d\u043e\u0441\u043d\u043e \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u043b\u0438\u0441\u044c \u043d\u0430\u0448\u0438 \u0434\u043e\u0440\u043e\u0436\u043a\u0438 \u0434\u043e \u0432\u0441\u0442\u0440\u0435\u0447\u0438. \u041d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0431\u043b\u0438\u0437\u043a\u043e \u043c\u044b \u0431\u044b\u043b\u0438 \u043a \u0442\u043e\u043c\u0443, \u0447\u0442\u043e\u0431\u044b \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u0440\u043e\u043c\u0430\u043d\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0441\u0446\u0435\u043d\u0443 \u00ab\u0441\u0440\u0435\u0434\u0438 \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u0432 \u043b\u044e\u0434\u0435\u0439 \u043e\u043d\u0438 \u043d\u0430\u0448\u043b\u0438 \u0433\u043b\u0430\u0437\u0430\u043c\u0438 \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0430\u00bb?<br \/>  <a name=\"habracut\"><\/a><br \/>  <em>\u0415\u0441\u043b\u0438 \u0432\u0430\u043c \u043d\u0435\u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u044b \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u0438\u0435 \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0441\u0442\u0438, \u043c\u043e\u0436\u0435\u0442\u0435 \u0441\u0440\u0430\u0437\u0443 \u043f\u0435\u0440\u0435\u0439\u0442\u0438 \u043a \u0440\u0430\u0437\u0434\u0435\u043b\u0443 \u00ab\u041e\u0442\u0432\u0435\u0442\u00bb!<\/em><\/p>\n<h1>\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435<\/h1>\n<p>  \u0417\u0430\u043f\u0440\u043e\u0441\u0438\u0442\u044c \u0438 \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0432\u0441\u044e \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u0443\u044e \u0438\u0441\u0442\u043e\u0440\u0438\u044e \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u043c\u043e\u0436\u043d\u043e \u0447\u0435\u0440\u0435\u0437 \u0434\u0435\u0441\u043a\u0442\u043e\u043f\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u0432\u0435\u0431-\u0441\u0430\u0439\u0442\u0430 Google Maps. \u042d\u0442\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0432 \u0437\u0430\u043f\u0430\u043a\u043e\u0432\u0430\u043d\u043d\u043e\u0439 zip \u043f\u0430\u043f\u043a\u0435, \u0441\u043e\u0441\u0442\u043e\u044f\u0449\u0435\u0439 \u0438\u0437 \u0444\u0430\u0439\u043b\u043e\u0432 JSON. \u041c\u043e\u0439 \u043f\u0430\u0440\u0442\u043d\u0451\u0440 \u043b\u044e\u0431\u0435\u0437\u043d\u043e \u0441\u043e\u0433\u043b\u0430\u0441\u0438\u043b\u0441\u044f \u0441\u043a\u0430\u0447\u0430\u0442\u044c \u0441\u0432\u043e\u0438 \u0434\u0430\u043d\u043d\u044b\u0435 \u0438 \u043e\u0442\u043f\u0440\u0430\u0432\u0438\u043b \u0438\u0445 \u043c\u043d\u0435.<\/p>\n<pre><code class=\"r\">packages &lt;-   c(\"tidyverse\",     \"lubridate\",     \"rjson\",     \"ggplot2\",     \"ggmap\",     \"wesanderson\")  install.packages(setdiff(packages, rownames(installed.packages())))  library(tidyverse) library(lubridate) library(rjson) library(ggplot2) library(ggmap) library(wesanderson)<\/code><\/pre>\n<p>  <\/p>\n<h2>\u0418\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0435<\/h2>\n<p>  <\/p>\n<pre><code class=\"r\">#\u0418\u043c\u0435\u043d\u0430 \u0434\u0432\u0443\u0445 \u043b\u044e\u0434\u0435\u0439 x &lt;- \"Chan\" y &lt;- \"Dan\"  #\u0410\u0434\u0440\u0435\u0441\u0430 \u0444\u0430\u0439\u043b\u0430 Records (\u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0444\u0430\u0439\u043b Records.json)  data_x &lt;-   \"~\/Crossing paths\/TakeoutChannon\/Location History\/Records.json\" data_y &lt;-   \"~\/Crossing paths\/TakeoutDandre\/Location History\/Records.json\"  #\u0424\u0443\u043d\u043a\u0446\u0438\u044f \u0438\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 fromJSON \u0434\u043b\u044f \u0438\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u044f \u0444\u0430\u0439\u043b\u043e\u0432 JSON \u0432 \u043e\u0431\u044a\u0435\u043a\u0442\u044b-\u0441\u043f\u0438\u0441\u043a\u0438 R  extract_maps_data &lt;- function(fileName, saveAs) {   rd &lt;- fromJSON(file = fileName)      records_data &lt;- unlist(rd, recursive = FALSE)      save(records_data, file = saveAs)      records_data    }  #\u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u044d\u0442\u0443 \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u0434\u0430\u043d\u043d\u044b\u0445, \u0435\u0441\u043b\u0438 \u0435\u0451 \u0435\u0449\u0451 \u043d\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b\u0438, \u0432 \u043f\u0440\u043e\u0442\u0438\u0432\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0438\u0445  if (file.exists(\"extracted_data_x.RData\")) {   records_data_x &lt;- get(load(\"extracted_data_x.RData\")) } else {   records_data_x &lt;- extract_maps_data(fileName = data_x,                                       saveAs = \"extracted_data_x.RData\") }  if (file.exists(\"extracted_data_y.RData\")) {   records_data_y &lt;- get(load(\"extracted_data_y.RData\")) } else {   records_data_y &lt;- extract_maps_data(fileName = data_y,                                       saveAs = \"extracted_data_y.RData\") }<\/code><\/pre>\n<p>  <\/p>\n<h2>\u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435<\/h2>\n<p>  <\/p>\n<h3>\u0417\u0430\u0434\u0430\u0451\u043c \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b<\/h3>\n<p>  \u041f\u0440\u0435\u0436\u0434\u0435 \u0447\u0435\u043c \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u0430\u0442\u044c \u043a \u043d\u0435\u043f\u043e\u0441\u0440\u0435\u0434\u0441\u0442\u0432\u0435\u043d\u043d\u043e\u043c\u0443 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044e \u0438 \u043e\u0447\u0438\u0441\u0442\u043a\u0435 \u0434\u0430\u043d\u043d\u044b\u0445, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u043e\u0432 \u0438 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u043c \u043d\u0435 \u043f\u0440\u0438\u0448\u043b\u043e\u0441\u044c \u0442\u0440\u0430\u0442\u0438\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u043d\u0430 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u043d\u0435\u043d\u0443\u0436\u043d\u044b\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439.<\/p>\n<h4>\u041f\u0440\u0435\u0434\u0435\u043b\u044c\u043d\u043e\u0435 \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u0435<\/h4>\n<p>  \u0412 \u044d\u0442\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e, \u043a\u0430\u043a \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u0439 \u0441\u043e\u043e\u0442\u043d\u043e\u0441\u044f\u0442\u0441\u044f \u0434\u0440\u0443\u0433 \u0441 \u0434\u0440\u0443\u0433\u043e\u043c.<\/p>\n<div class=\"scrollable-table\">\n<table>\n<thead>\n<tr>\n<th align=\"center\">accuracy.level<\/th>\n<th align=\"center\">1<\/th>\n<th align=\"center\">2<\/th>\n<th align=\"center\">3<\/th>\n<th align=\"center\">4<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td align=\"center\">\u0437\u043d\u0430\u043a\u0438 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u044f\u0442\u043e\u0439<\/td>\n<td align=\"center\">3<\/td>\n<td align=\"center\">4<\/td>\n<td align=\"center\">5<\/td>\n<td align=\"center\">6<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">\u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c (\u043c)<\/td>\n<td align=\"center\">111<\/td>\n<td align=\"center\">11,1<\/td>\n<td align=\"center\">1,11<\/td>\n<td align=\"center\">0,111<\/td>\n<\/tr>\n<tr>\n<td align=\"center\">\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b<\/td>\n<td align=\"center\">\u00b1 00,000<\/td>\n<td align=\"center\">\u00b1 00,0000<\/td>\n<td align=\"center\">\u00b1 00,00000<\/td>\n<td align=\"center\">\u00b1 00,000000<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>  \u0414\u0430\u043d\u043d\u044b\u0435 \u0438\u043c\u0435\u044e\u0442 \u0434\u0432\u0430 \u0442\u0438\u043f\u0430 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u0435\u0439 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438. \u041a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b GPS \u0438\u043c\u0435\u044e\u0442 \u0440\u0430\u0437\u043d\u044b\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0437\u043d\u0430\u043a\u043e\u0432 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u044f\u0442\u043e\u0439 \u0432 \u0437\u0430\u0432\u0438\u0441\u0438\u043c\u043e\u0441\u0442\u0438 \u043e\u0442 \u0441\u043f\u0435\u0446\u0438\u0444\u0438\u043a\u0438 \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f. \u0422\u0430\u043a\u0436\u0435 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0442 \u0438\u0437\u043c\u0435\u0440\u0435\u043d\u0438\u044f \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u043d\u0430 \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u0438\u0438 \u0441\u0438\u043b\u044b \u0441\u0438\u0433\u043d\u0430\u043b\u0430 GPS, \u0443\u043a\u0430\u0437\u044b\u0432\u0430\u0435\u043c\u044b\u0435 \u0432 \u043c\u0435\u0442\u0440\u0430\u0445.<\/p>\n<p>  \u042d\u0442\u0438 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u044f\u044e\u0442 \u0432\u0435\u043b\u0438\u0447\u0438\u043d\u0443 \u043f\u0440\u0435\u0434\u0435\u043b\u044c\u043d\u043e\u0433\u043e \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0434\u043b\u044f \u043b\u044e\u0431\u044b\u0445 \u0432\u044b\u0432\u043e\u0434\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0434\u0435\u043b\u0430\u0442\u044c. \u0415\u0441\u043b\u0438 \u043c\u044b \u0440\u0435\u0448\u0438\u043c, \u0447\u0442\u043e \u043c\u043e\u0438 \u0434\u043e\u0440\u043e\u0433\u0438 \u0438 \u0434\u043e\u0440\u043e\u0433\u0438 \u0431\u0443\u0434\u0443\u0449\u0435\u0433\u043e \u0431\u043e\u0439\u0444\u0440\u0435\u043d\u0434\u0430 \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u043b\u0438\u0441\u044c, \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u043b\u0438 \u043b\u0438 \u043c\u044b \u0432 \u0434\u0435\u0441\u044f\u0442\u043a\u0430\u0445, \u0441\u043e\u0442\u043d\u044f\u0445 \u0438\u043b\u0438 \u0442\u044b\u0441\u044f\u0447\u0430\u0445 \u043c\u0435\u0442\u0440\u043e\u0432 \u0434\u0440\u0443\u0433 \u043e\u0442 \u0434\u0440\u0443\u0433\u0430? \u0418\u0437\u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e \u044f \u0432\u044b\u0431\u0440\u0430\u043b\u0430 1,11 \u043c, \u0447\u0442\u043e \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430\u043c \u0441 4 \u0437\u043d\u0430\u043a\u0430\u043c\u0438 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u044f\u0442\u043e\u0439 (\u00b1 00,0000), \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0434\u0443\u043c\u0430\u043b\u0430, \u0447\u0442\u043e \u0434\u0430\u0436\u0435 \u0432 \u0433\u0443\u0441\u0442\u043e\u043d\u0430\u0441\u0435\u043b\u0451\u043d\u043d\u044b\u0445 \u0433\u043e\u0440\u043e\u0434\u0441\u043a\u0438\u0445 \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u0430\u0445 \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u043d\u0430\u044f \u0430\u043d\u0442\u0435\u043d\u043d\u0430 \u0438\u043c\u0435\u0435\u0442 \u0447\u0440\u0435\u0437\u0432\u044b\u0447\u0430\u0439\u043d\u043e \u0432\u044b\u0441\u043e\u043a\u0443\u044e \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u0432 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u0445 \u043f\u0440\u044f\u043c\u043e\u0439 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438. \u041e\u0434\u043d\u0430\u043a\u043e \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0434\u0430\u043d\u043d\u044b\u0445 (\u0441\u043c. \u043d\u0438\u0436\u0435) \u0441\u043b\u0438\u0448\u043a\u043e\u043c \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0438\u0432\u0430\u043b\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0434\u0430\u043d\u043d\u044b\u0445, \u0447\u0442\u043e \u0432\u044b\u043d\u0443\u0434\u0438\u043b\u043e \u043c\u0435\u043d\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u0439 \u0432 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u0445 111 \u043c.<\/p>\n<p>  \u042f \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u043b\u0430 \u0434\u0432\u0430 \u0442\u0438\u043f\u0430 \u043c\u0435\u0442\u0440\u0438\u043a \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438, \u0447\u0442\u043e\u0431\u044b \u0432\u043e \u0432\u0441\u0435\u0445 \u043d\u0430\u0448\u0438\u0445 \u0438\u0441\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u043d\u0438\u044f\u0445 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u0439 \u0431\u044b\u043b\u0430 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u043e\u0439. \u041a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b \u0441 \u0431\u043e\u043b\u044c\u0448\u0438\u043c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e\u043c \u0437\u043d\u0430\u043a\u043e\u0432 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u044f\u0442\u043e\u0439 \u043e\u043a\u0440\u0443\u0433\u043b\u044f\u044e\u0442\u0441\u044f. \u042d\u0442\u043e \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u0447\u0442\u043e \u043c\u044b \u0434\u0435\u043b\u0438\u043c \u043c\u0438\u0440 \u043d\u0430 \u0431\u043e\u043b\u0435\u0435 \u043a\u0440\u0443\u043f\u043d\u044b\u0435 \u0431\u043b\u043e\u043a\u0438 \u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u0449\u0430\u0435\u043c \u0432\u0441\u0435 \u0442\u043e\u0447\u043a\u0438 \u0432\u043d\u0443\u0442\u0440\u0438 \u0431\u043b\u043e\u043a\u0430 \u043a \u0435\u0433\u043e \u0431\u043b\u0438\u0436\u0430\u0439\u0448\u0435\u043c\u0443 \u0443\u0433\u043b\u0443. \u0412\u0441\u0435 \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043c\u0435\u0442\u0440\u0438\u043a\u0438 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u0441 \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u044f\u043c\u0438 \u043c\u0435\u043d\u044c\u0448\u0435 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0433\u043e \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u0432 \u043c\u0435\u0442\u0440\u0430\u0445 \u043e\u0442\u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432\u044b\u0432\u0430\u044e\u0442\u0441\u044f \u0438\u0437 \u043c\u0430\u0441\u0441\u0438\u0432\u0430 \u0434\u0430\u043d\u043d\u044b\u0445.<\/p>\n<pre><code class=\"r\">#\u041f\u0440\u0435\u0434\u0435\u043b \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u0439 accuracy_level &lt;- 1<\/code><\/pre>\n<p>  <\/p>\n<h4>\u041f\u0440\u0435\u0434\u0435\u043b\u044c\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f<\/h4>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u043d\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0433\u0440\u0430\u043d\u0438\u0446\u044b \u0434\u043b\u044f \u0434\u0432\u0443\u0445 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445. \u041f\u0435\u0440\u0432\u043e\u0439 \u0434\u0430\u0442\u043e\u0439 \u0431\u0443\u0434\u0435\u0442 \u0441\u0430\u043c\u0430\u044f \u0440\u0430\u043d\u043d\u044f\u044f \u0434\u0430\u0442\u0430 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0439 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0432\u0441\u0442\u0443\u043f\u0438\u0442\u044c \u0432 \u043a\u043e\u043d\u0442\u0430\u043a\u0442. \u0415\u0441\u043b\u0438 \u043a\u043e\u043d\u043a\u0440\u0435\u0442\u043d\u043e\u0439 \u0441\u0430\u043c\u043e\u0439 \u0440\u0430\u043d\u043d\u0435\u0439 \u0434\u0430\u0442\u044b (\u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440, \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043f\u0435\u0440\u0435\u0435\u0437\u0434\u0430 \u0432 \u043e\u0434\u0438\u043d \u0433\u043e\u0440\u043e\u0434) \u043d\u0435\u0442, \u0442\u043e \u0435\u0451 \u043c\u043e\u0436\u043d\u043e \u0437\u0430\u0434\u0430\u0442\u044c \u043a\u0430\u043a \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0443\u044e \u0434\u0430\u0442\u0443 \u043b\u044e\u0431\u043e\u0433\u043e \u0438\u0437 \u0434\u0432\u0443\u0445 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432.<\/p>\n<pre><code class=\"r\">## [1] \"\u0421\u0430\u043c\u0430\u044f \u043f\u0435\u0440\u0432\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u0427\u0435\u043d - 2014-10-11\" ## [1] \"\u0421\u0430\u043c\u0430\u044f \u043f\u0435\u0440\u0432\u0430\u044f \u0437\u0430\u043f\u0438\u0441\u044c \u0414\u044d\u043d\u0430 - 2015-01-13\" ## [1] \"\u0418\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c 2015-01-13 \u0438\u043b\u0438 first_intersect_date, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0447\u0430\u0442\u044c \u0441 \u0441\u0430\u043c\u044b\u0445 \u0440\u0430\u043d\u043d\u0438\u0445 \u0434\u0430\u0442 \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u044f.\"<\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"r\">start_looking_from &lt;- as.POSIXct(first_intersect_date) #\u041d\u0430\u0447\u0430\u043b\u044c\u043d\u0430\u044f \u0434\u0430\u0442\u0430, \u0441 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043d\u0443\u0436\u043d\u043e \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c \u0430\u043d\u0430\u043b\u0438\u0437 \u0434\u0430\u043d\u043d\u044b\u0445<\/code><\/pre>\n<p>  \u0422\u0430\u043a\u0436\u0435 \u0443 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0433\u043e \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u0430 \u0435\u0441\u0442\u044c \u043a\u043e\u043d\u0435\u0447\u043d\u0430\u044f \u0434\u0430\u0442\u0430. \u042d\u0442\u043e \u0434\u0430\u0442\u0430 \u0438 \u0432\u0440\u0435\u043c\u044f, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u0442\u043e\u0447\u043d\u043e \u0437\u043d\u0430\u043b\u0438, \u0447\u0442\u043e \u043d\u0430\u0448\u0438 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b GPS \u0432\u043f\u0435\u0440\u0432\u044b\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0443\u0442.<\/p>\n<pre><code class=\"r\">best_day &lt;- as.POSIXct(\"2020\/08\/08 1:00:00\") #\u041f\u043e\u0434\u0442\u0432\u0435\u0440\u0436\u0434\u0451\u043d\u043d\u043e\u0435 \u0432\u0440\u0435\u043c\u044f \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0441\u0432\u0438\u0434\u0430\u043d\u0438\u044f &lt;3<\/code><\/pre>\n<p>  \u0410\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u043e \u043f\u0440\u0435\u0434\u0435\u043b\u044c\u043d\u043e\u043c\u0443 \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u044e, \u043f\u043e\u043b\u0435\u0437\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0437\u0430\u0434\u0430\u0442\u044c \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u044b, \u0447\u0442\u043e\u0431\u044b \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432 \u043d\u0438\u0445 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b. \u042d\u0442\u043e \u043d\u0443\u0436\u043d\u043e, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443 \u043f\u0440\u0438 \u0443\u0447\u0451\u0442\u0435 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0430 \u0432 \u043c\u0435\u0442\u0440\u0430\u0445 \u043b\u044e\u0434\u0438 \u043e\u0431\u044b\u0447\u043d\u043e \u043d\u0435 \u0434\u0432\u0438\u0436\u0443\u0442\u0441\u044f \u043f\u043e \u043f\u043e\u0432\u0435\u0440\u0445\u043d\u043e\u0441\u0442\u0438 \u0417\u0435\u043c\u043b\u0438 \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0431\u044b\u0441\u0442\u0440\u043e, \u0447\u0442\u043e\u0431\u044b \u0438\u0445 \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043d\u0443\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u043c\u043d\u043e\u0433\u043e \u0440\u0430\u0437 \u0432 \u0441\u0435\u043a\u0443\u043d\u0434\u0443, \u043e\u0434\u043d\u0430\u043a\u043e \u0434\u0430\u043d\u043d\u044b\u0435 \u0445\u0440\u0430\u043d\u044f\u0442\u0441\u044f \u0441 \u043c\u0435\u0442\u043a\u0430\u043c\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432\u043f\u043b\u043e\u0442\u044c \u0434\u043e \u043c\u0438\u043b\u043b\u0438\u0441\u0435\u043a\u0443\u043d\u0434.<\/p>\n<p>  \u042f \u0432\u044b\u0431\u0440\u0430\u043b\u0430 10 \u043c\u0438\u043d\u0443\u0442, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u044d\u0442\u043e\u0442 \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c \u0442\u043e\u0436\u0435 \u0431\u044b\u043b \u0434\u043b\u044f \u043c\u0435\u043d\u044f \u043f\u0440\u0435\u0434\u0435\u043b\u044c\u043d\u044b\u043c; \u043c\u0435\u043d\u044f \u0432\u043f\u043e\u043b\u043d\u0435 \u0443\u0441\u0442\u0440\u0430\u0438\u0432\u0430\u043b\u043e \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435: \u0442\u0430\u043a \u0440\u043e\u043c\u0430\u043d\u0442\u0438\u0447\u043d\u043e, \u0447\u0442\u043e \u043c\u044b \u043c\u043e\u0433\u043b\u0438 \u0431\u044b \u0441\u0438\u0434\u0435\u0442\u044c \u043d\u0430 \u043e\u0434\u043d\u043e\u0439 \u0438 \u0442\u043e\u0439 \u0436\u0435 \u0441\u043a\u0430\u043c\u0435\u0439\u043a\u0435 \u0441 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u043e\u043c \u0432 10 \u043c\u0438\u043d\u0443\u0442.<\/p>\n<pre><code class=\"r\">#\u041f\u0440\u0435\u0434\u0435\u043b \u0432\u0440\u0435\u043c\u0435\u043d\u0438 time_accuracy &lt;- \"10 mins\" #\u0414\u0438\u0441\u043a\u0440\u0435\u0442\u043d\u043e\u0441\u0442\u044c \u0434\u0435\u043b\u0435\u043d\u0438\u0439 \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u0414\u043b\u044f \u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u043a\u0430\u0442\u0435\u0433\u043e\u0440\u0438\u0439 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c ?round_date.<\/code><\/pre>\n<p>  \u0414\u0440\u0435\u0432\u043e\u0432\u0438\u0434\u043d\u044b\u0435 \u0441\u043f\u0438\u0441\u043a\u0438, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043b\u0430 \u0438\u0437 \u0444\u0430\u0439\u043b\u043e\u0432 JSON, \u043f\u043e-\u043f\u0440\u0435\u0436\u043d\u0435\u043c\u0443 \u0435\u0449\u0451 \u043d\u0435 \u043e\u0447\u0438\u0449\u0435\u043d\u044b. \u041d\u0430 \u0434\u0430\u043d\u043d\u044b\u0439 \u043c\u043e\u043c\u0435\u043d\u0442 \u043a\u0430\u0436\u0434\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u0441\u043e\u0442\u0435\u043d \u0442\u044b\u0441\u044f\u0447 \u043d\u0430\u0431\u043b\u044e\u0434\u0435\u043d\u0438\u0439, \u043a\u0430\u0436\u0434\u043e\u0435 \u0438\u0437 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043e \u0432 \u0441\u043f\u0438\u0441\u043e\u0447\u043d\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435, \u0438\u043c\u0435\u044e\u0449\u0435\u043c \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443:<\/p>\n<pre><code class=\"r\">## List of 7 ##  $ latitudeE7 : num -2.59e+08 ##  $ longitudeE7: num 2.92e+08 ##  $ accuracy   : num 2459 ##  $ activity   :List of 2 ##  $ source     : chr \"CELL\" ##  $ deviceTag  : num 1.44e+09 ##  $ timestamp  : chr \"2014-10-11T14:39:52.645Z\"<\/code><\/pre>\n<p>  \u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430\u043c \u0431\u044b \u0445\u043e\u0442\u0435\u043b\u043e\u0441\u044c \u0438\u043c\u0435\u0442\u044c \u0434\u0432\u0430 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 (\u043f\u043e \u043e\u0434\u043d\u043e\u043c\u0443 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430), \u0438\u043c\u0435\u044e\u0449\u0438\u0445 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443:<\/p>\n<div class=\"scrollable-table\">\n<table>\n<thead>\n<tr>\n<th align=\"center\">\u0438\u043d\u0434\u0435\u043a\u0441<\/th>\n<th align=\"center\">\u043c\u0435\u0442\u043a\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u0438<\/th>\n<th align=\"center\">\u0448\u0438\u0440\u043e\u0442\u0430<\/th>\n<th align=\"center\">\u0434\u043e\u043b\u0433\u043e\u0442\u0430<\/th>\n<th align=\"center\">\u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c<\/th>\n<th align=\"center\">\u0447\u0435\u043b\u043e\u0432\u0435\u043a<\/th>\n<th align=\"center\">\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b<\/th>\n<th align=\"center\">\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td align=\"center\">1:nrows<\/td>\n<td align=\"center\">\u0432\u0440\u0435\u043c\u044f POSIXct<\/td>\n<td align=\"center\">\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b dd<\/td>\n<td align=\"center\">\u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b dd<\/td>\n<td align=\"center\">\u0440\u0430\u0434\u0438\u0443\u0441 \u0432 \u043c<\/td>\n<td align=\"center\">\u0438\u043c\u044f<\/td>\n<td align=\"center\">\u0448\u0438\u0440\u0438\u043d\u0430, \u0434\u043e\u043b\u0433\u043e\u0442\u0430<\/td>\n<td align=\"center\">\u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0441\u0438\u0433\u043d\u0430\u043b\u0430<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<p>  \u0414\u043b\u044f \u044d\u0442\u043e\u0433\u043e \u043c\u044b \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u043c \u0434\u043b\u044f \u043e\u0431\u043e\u0438\u0445 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u0444\u0443\u043d\u043a\u0446\u0438\u044e:<\/p>\n<pre><code class=\"r\">transform_maps_data &lt;-   function(x,            person,            time_accuracy,            distance_accuracy) {          # \u0418\u0437\u0432\u043b\u0435\u0447\u0435\u043d\u0438\u0435 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u044e\u0449\u0438\u0445 \u043d\u0430\u0441 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0438 \u043e\u0442\u0441\u0435\u0447\u0435\u043d\u0438\u0435 \u0432\u0441\u0435\u0439 \u0438\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0438\u0438, \u0441\u0432\u044f\u0437\u0430\u043d\u043d\u043e\u0439 \u0441 \u0442\u0435\u043c, \u043a\u043e\u0433\u0434\u0430, \u043f\u043e \u043c\u043d\u0435\u043d\u0438\u044e Google, \u043c\u044b \u0435\u0445\u0430\u043b\u0438 \u0432 \u0442\u0440\u0430\u043d\u0441\u043f\u043e\u0440\u0442\u0435 \u0438\u043b\u0438 \u0441\u0438\u0434\u0435\u043b\u0438 \u043d\u0430 \u043c\u0435\u0441\u0442\u0435.          timestamp &lt;-       lapply(x, pluck, \"timestamp\") %>% unlist() %>% data.frame()     latitude &lt;-       lapply(x, pluck, \"latitudeE7\") %>% unlist() %>% data.frame()     longitude &lt;-       lapply(x, pluck, \"longitudeE7\") %>% unlist() %>% data.frame()     accuracy &lt;-       lapply(x, pluck, \"accuracy\") %>% unlist() %>% data.frame()     source &lt;- lapply(x, pluck, \"source\") %>% unlist() %>% data.frame()          # \u0417\u0430\u0434\u0430\u0451\u043c \u0438\u043d\u0434\u0435\u043a\u0441     index &lt;- 1:nrow(timestamp)          # \u041a\u043e\u043c\u0431\u0438\u043d\u0438\u0440\u0443\u0435\u043c \u043a\u0430\u0436\u0434\u0443\u044e \u0438\u0437 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445 \u0432 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u0432\u0438\u0434\u0435 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 \u0441 \u043f\u043e\u043d\u044f\u0442\u043d\u044b\u043c\u0438 \u043d\u0430\u0437\u0432\u0430\u043d\u0438\u044f\u043c\u0438.          records_df &lt;-       cbind(timestamp, latitude, longitude, accuracy, source)     rownames(records_df) &lt;- index     colnames(records_df) &lt;-       c(\"timestamp\", \"latitude\", \"longitude\", \"accuracy\", \"source\")          # \u0420\u0435\u0433\u0443\u043b\u0438\u0440\u0443\u0435\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u0438 \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0432\u0430\u0436\u043d\u044b\u0435 \u0441\u0442\u043e\u043b\u0431\u0446\u044b.     output &lt;- records_df %>%              # \u0424\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u0443\u0435\u043c \u043c\u0435\u0442\u043a\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0447\u0442\u043e\u0431\u044b \u043e\u043d\u0438 \u0431\u044b\u043b\u0438 \u043e\u0431\u044a\u0435\u043a\u0442\u0430\u043c\u0438 POSIXct \u0432 \u0447\u0430\u0441\u043e\u0432\u043e\u043c \u043f\u043e\u044f\u0441\u0435 \u0441\u0438\u0441\u0442\u0435\u043c\u044b, \u0438 \u043e\u043a\u0440\u0443\u0433\u043b\u044f\u0435\u043c \u0438\u0445 \u0441 \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u043c\u0438 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438       mutate(timestamp_utc = as.POSIXct(timestamp, format = \"%Y-%m-%dT%H:%M:%S\", tz = \"UTC\")) %>%       mutate(timestamp = with_tz(timestamp_utc, tzone = Sys.timezone())) %>%       select(-timestamp_utc) %>%       mutate(timestamp = round_date(timestamp, unit = time_accuracy)) %>%              # \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0441\u0442\u043e\u043b\u0431\u0435\u0446 \u0441 \u0438\u043c\u0435\u043d\u0435\u043c \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430, \u043a\u043e\u0442\u043e\u0440\u043e\u043c\u0443 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0430\u0442 \u0437\u0430\u043f\u0438\u0441\u0438       mutate(person = person) %>%              # \u0428\u0438\u0440\u043e\u0442\u0430 \u0438 \u0434\u043e\u043b\u0433\u043e\u0442\u0430 \u043d\u0430\u0445\u043e\u0434\u044f\u0442\u0441\u044f \u0432 \u0443\u0434\u043e\u0431\u043d\u043e\u043c \u0444\u043e\u0440\u043c\u0430\u0442\u0435, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044f \u043d\u0430\u043c \u043a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438 \u0432\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c \u0438\u0445 \u0432 Google Maps, \u0438 \u043e\u0442\u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432\u0430\u043d\u044b \u043f\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0443 \u0437\u043d\u0430\u043a\u043e\u0432 \u043f\u043e\u0441\u043b\u0435 \u0437\u0430\u043f\u044f\u0442\u043e\u0439 distance.accuracy              mutate(latitude = round((latitude \/ 10000000), distance_accuracy)) %>%       mutate(longitude = round((longitude \/ 10000000), distance_accuracy)) %>%              # \u0414\u043e\u0431\u0430\u0432\u043b\u044f\u0435\u043c \u0441\u0442\u043e\u043b\u0431\u0435\u0446 \u0434\u043b\u044f \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0451\u043d\u043d\u044b\u0445 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442       mutate(coordinates = paste(latitude, longitude, sep = \", \")) %>%              # \u041e\u0442\u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432\u044b\u0432\u0430\u0435\u043c \u0432\u0441\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 \u0432\u043d\u0435 \u043f\u0440\u0435\u0434\u0435\u043b\u043e\u0432 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0439 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438       filter(accuracy &lt;= google_reported_accuracy) %>%       filter(accuracy >= 0) %>%              # \u041e\u0442\u0444\u0438\u043b\u044c\u0442\u0440\u043e\u0432\u044b\u0432\u0430\u0435\u043c \u0432\u0441\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 \u0434\u043e \u0438\u043b\u0438 \u043f\u043e\u0441\u043b\u0435 \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0439 \u0438 \u043a\u043e\u043d\u0435\u0447\u043d\u043e\u0439 \u0434\u0430\u0442       filter(timestamp >= start_looking_from) %>%       filter(timestamp &lt;= best_day) %>%              # \u0414\u043b\u044f \u0446\u0435\u043b\u043e\u0441\u0442\u043d\u043e\u0441\u0442\u0438 \u0443\u0434\u0430\u043b\u044f\u0435\u043c \u043d\u0435\u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b\u0435 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0438       filter(source != \"UNKNOWN\") %>%              # \u0423\u0434\u0430\u043b\u044f\u0435\u043c \u0434\u0443\u0431\u043b\u0438\u043a\u0430\u0442\u044b       unique()        }  #\u0412\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u0444\u0443\u043d\u043a\u0446\u0438\u044e \u0434\u043b\u044f \u0434\u0432\u0443\u0445 \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445, \u0432 \u043f\u0440\u043e\u0442\u0438\u0432\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0437\u0430\u0433\u0440\u0443\u0436\u0430\u0435\u043c \u0440\u0430\u043d\u0435\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0451\u043d\u043d\u044b\u0435 \u0434\u0430\u043d\u043d\u044b\u0435.  if (file.exists(\"X_Google_Maps_history.RData\")) {   load(\"X_Google_Maps_history.RData\") } else{   x_records &lt;-     transform_maps_data(       records_data_x,       person = x,       time_accuracy = time_accuracy,       distance_accuracy = distance_accuracy     ) }  if (file.exists(\"Y_Google_Maps_history.RData\")) {   load(\"Y_Google_Maps_history.RData\") } else{   y_records &lt;-     transform_maps_data(       records_data_y,       person = y,       time_accuracy = time_accuracy,       distance_accuracy = distance_accuracy     ) }<\/code><\/pre>\n<p>  \u0412 \u043a\u043e\u043d\u0446\u0435 \u044d\u0442\u0430\u043f\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0443 \u043d\u0430\u0441 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0438\u0441\u044c \u0434\u0432\u0430 \u043a\u0430\u0434\u0440\u0430 \u0434\u0430\u043d\u043d\u044b\u0445 \u0441\u043e \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043e\u0439:<\/p>\n<pre><code class=\"r\">##             timestamp latitude longitude accuracy source person    coordinates ## 1 2015-01-13 02:00:00   -25.89    29.252       12   CELL   Chan -25.89, 29.252 ## 3 2015-01-13 02:04:00   -25.89    29.252       12   CELL   Chan -25.89, 29.252 ## 4 2015-01-13 02:06:00   -25.89    29.252       12   CELL   Chan -25.89, 29.252 ## 5 2015-01-13 02:10:00   -25.89    29.252       12   CELL   Chan -25.89, 29.252 ## 7 2015-01-13 02:12:00   -25.89    29.252       27   CELL   Chan -25.89, 29.252 ## 8 2015-01-13 02:14:00   -25.89    29.252       27   CELL   Chan -25.89, 29.252<\/code><\/pre>\n<p>  <\/p>\n<h2>\u0417\u0430\u0433\u0440\u0443\u0437\u043a\u0430<\/h2>\n<p>  \u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0435\u043c \u0444\u0430\u0439\u043b\u044b.<\/p>\n<pre><code class=\"r\">save(x_records, file = \"X_Google_Maps_history.RData\") save(y_records, file = \"Y_Google_Maps_history.RData\")<\/code><\/pre>\n<p>  <\/p>\n<h1>\u0410\u043d\u0430\u043b\u0438\u0437<\/h1>\n<p>  <\/p>\n<h2>\u041e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0435\u043c \u0437\u0430\u043f\u0438\u0441\u0438<\/h2>\n<p>  \u0412 \u0434\u0430\u043d\u043d\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0441 \u043e\u0434\u043d\u0438\u043c \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u043c \u0434\u0430\u043d\u043d\u044b\u0445 \u043f\u0440\u043e\u0449\u0435, \u0447\u0435\u043c \u0441 \u0434\u0432\u0443\u043c\u044f, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0434\u043b\u044f \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u043c\u044b \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0434\u043b\u0438\u043d\u043d\u0443\u044e \u0432\u0435\u0440\u0441\u0438\u044e \u0432\u0441\u0435\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439.<\/p>\n<pre><code class=\"r\"># \u041e\u0431\u044a\u0435\u0434\u0438\u043d\u044f\u0435\u043c \u0437\u0430\u043f\u0438\u0441\u0438   if(file.exists(\"combined_records.RData\")) {   get(load(\"combined_records.RData\"))  } else{   columns &lt;-     c(       \"person\",       \"timestamp\",       \"coordinates\",       \"latitude\",       \"longitude\",       \"accuracy\",       \"source\"     )      combined &lt;- full_join(x_records, y_records, by = columns) %>%     group_by(timestamp, coordinates, person) %>%     mutate(max_accuracy = min(accuracy), .keep = \"unused\") %>%     unique()    }<\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"r\">## # A tibble: 418,929 \u00d7 7 ## # Groups:   timestamp, coordinates, person [408,904] ##    timestamp           latitude longitude source person coordinates max_accuracy ##    &lt;dttm>                 &lt;dbl>     &lt;dbl> &lt;chr>  &lt;chr>  &lt;chr>              &lt;dbl> ##  1 2015-01-13 02:00:00    -25.9      29.3 CELL   Chan   -25.89, 29\u2026           12 ##  2 2015-01-13 02:10:00    -25.9      29.3 CELL   Chan   -25.89, 29\u2026           12 ##  3 2015-01-13 02:20:00    -25.9      29.3 CELL   Chan   -25.89, 29\u2026           27 ##  4 2015-01-13 02:30:00    -25.9      29.3 CELL   Chan   -25.89, 29\u2026           27 ##  5 2015-01-13 02:40:00    -25.9      29.3 CELL   Chan   -25.89, 29\u2026           27 ##  6 2015-01-13 02:50:00    -25.9      29.3 CELL   Chan   -25.89, 29\u2026           27 ##  7 2015-01-13 03:00:00    -25.9      29.3 CELL   Chan   -25.89, 29\u2026           27 ##  8 2015-01-13 03:10:00    -25.9      29.3 CELL   Chan   -25.89, 29\u2026           25 ##  9 2015-01-13 03:20:00    -25.9      29.3 CELL   Chan   -25.89, 29\u2026           25 ## 10 2015-01-13 03:30:00    -25.9      29.3 CELL   Chan   -25.89, 29\u2026           25 ## # \u2026 \u0438 \u0435\u0449\u0451 418 919 \u0441\u0442\u0440\u043e\u043a<\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"r\">save(combined, file = \"combined_records.RData\")  arrange(combined, coordinates) %>% head(5)<\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"r\">## # A tibble: 5 \u00d7 7 ## # Groups:   timestamp, coordinates, person [5] ##   timestamp           latitude longitude source person coordinates  max_accuracy ##   &lt;dttm>                 &lt;dbl>     &lt;dbl> &lt;chr>  &lt;chr>  &lt;chr>               &lt;dbl> ## 1 2018-10-20 16:00:00    -25.3      31.0 WIFI   Dan    -25.344, 31\u2026           17 ## 2 2018-10-20 16:10:00    -25.3      31.0 WIFI   Dan    -25.344, 31\u2026           17 ## 3 2015-12-29 09:50:00    -25.4      29.4 WIFI   Chan   -25.395, 29\u2026           96 ## 4 2015-12-29 10:00:00    -25.4      29.4 WIFI   Chan   -25.395, 29\u2026           51 ## 5 2015-12-29 10:20:00    -25.4      29.4 WIFI   Chan   -25.395, 29\u2026           58<\/code><\/pre>\n<p>  <\/p>\n<h2>\u041a\u0430\u0447\u0435\u0441\u0442\u0432\u043e \u0438 \u043f\u043e\u043b\u043d\u043e\u0442\u0430 \u0434\u0430\u043d\u043d\u044b\u0445<\/h2>\n<p>  <\/p>\n<h3>\u041f\u043e\u043b\u043d\u043e\u0442\u0430 \u0434\u0430\u043d\u043d\u044b\u0445<\/h3>\n<p>  \u0410\u043d\u0430\u043b\u0438\u0437 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430 \u0438 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u0435\u0440\u0438\u043e\u0434\u0430 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442, \u0447\u0442\u043e 98% \u043f\u0435\u0440\u0438\u043e\u0434\u043e\u0432 \u0427\u0435\u043d \u0437\u0430\u043f\u0438\u0441\u0438 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0442 \u0441\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u0430\u043c \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438. \u0414\u043b\u044f \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044f: \u0437\u0430\u043f\u0438\u0441\u0438 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043b\u0438\u0441\u044c \u0432 45% \u043f\u0435\u0440\u0438\u043e\u0434\u043e\u0432 \u0414\u044d\u043d\u0430.<\/p>\n<p>  \u041f\u0440\u043e\u0431\u0435\u043b\u044b \u0432 \u0437\u0430\u043f\u0438\u0441\u044f\u0445 \u043c\u043e\u0433\u0443\u0442 \u0431\u044b\u0442\u044c \u0432\u044b\u0437\u0432\u0430\u043d\u044b \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435\u043c \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0433\u043e \u0418\u043d\u0442\u0435\u0440\u043d\u0435\u0442\u0430 (\u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043e\u0447\u0435\u043d\u044c \u0434\u043e\u0440\u043e\u0433 \u0432 \u042e\u0410\u0420) \u0438\u043b\u0438 \u0442\u0435\u043c, \u0447\u0442\u043e \u0442\u0435\u043b\u0435\u0444\u043e\u043d\u044b \u0431\u044b\u043b\u0438 \u043e\u0442\u043a\u043b\u044e\u0447\u0435\u043d\u044b. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u043f\u0440\u043e\u0431\u0435\u043b\u044b \u043c\u043e\u0433\u043b\u0438 \u0432\u043e\u0437\u043d\u0438\u043a\u0430\u0442\u044c, \u043a\u043e\u0433\u0434\u0430 \u043d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u043a\u043e\u043d\u0444\u0438\u0434\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u043d\u0435 \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u043b\u0438 \u0441\u043e\u0431\u0438\u0440\u0430\u0442\u044c \u0438\u0441\u0442\u043e\u0440\u0438\u044e \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0439.<\/p>\n<p>  \u042d\u0442\u0438 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0435 \u043e\u0437\u043d\u0430\u0447\u0430\u044e\u0442, \u0447\u0442\u043e \u043a\u0430\u043a\u0438\u043c \u0431\u044b \u043d\u0438 \u0431\u044b\u043b \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442, \u0432 \u043d\u0435\u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043c\u043e\u043c\u0435\u043d\u0442\u044b \u0431\u0443\u0434\u0435\u0442 \u043f\u0440\u0438\u0441\u0443\u0442\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u043d\u0435\u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0441\u0442\u044c: \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e, \u043d\u0430\u0448\u0438 \u043f\u0443\u0442\u0438 \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u043b\u0438\u0441\u044c, \u043d\u043e \u044d\u0442\u043e\u043c\u0443 \u043d\u0435\u0442 \u043d\u0438\u043a\u0430\u043a\u0438\u0445 \u0434\u043e\u043a\u0430\u0437\u0430\u0442\u0435\u043b\u044c\u0441\u0442\u0432.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/ze\/0w\/et\/ze0wetakkpmn_4lb6fdnhxw1gpg.png\" data-src=\"https:\/\/habrastorage.org\/webt\/ze\/0w\/et\/ze0wetakkpmn_4lb6fdnhxw1gpg.png\"\/><\/div>\n<p>  <i>\u0420\u0438\u0441. 1: \u0420\u0430\u0441\u0441\u043c\u0430\u0442\u0440\u0438\u0432\u0430\u0435\u043c\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u044e\u0449\u0438\u0439 \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430. \u0418\u043d\u0442\u0435\u0440\u0432\u0430\u043b\u044b \u0432\u0440\u0435\u043c\u0435\u043d\u0438, \u0438\u043c\u0435\u044e\u0449\u0438\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0434\u043b\u044f \u043e\u0431\u043e\u0438\u0445 \u043b\u044e\u0434\u0435\u0439, \u0431\u0443\u0434\u0443\u0442 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0442\u044c \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u044f.<\/i><\/p>\n<h3>\u0421\u043e\u0441\u0442\u0430\u0432 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u043f\u043e \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0443<\/h3>\n<p>  \u0410\u043d\u0430\u043b\u0438\u0437 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u0435\u0442, \u0447\u0442\u043e \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0441\u043e\u0431\u0440\u0430\u043d\u043d\u044b\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0431\u044b\u043b\u043e \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043e \u0432 \u0441\u043b\u0443\u0447\u0430\u044f\u0445, \u043a\u043e\u0433\u0434\u0430 \u0442\u0435\u043b\u0435\u0444\u043e\u043d \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d \u043a Wi-Fi.<\/p>\n<p>  <img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/7v\/9k\/fc\/7v9kfc1em5tc_vodsb35b7smdgg.png\" data-src=\"https:\/\/habrastorage.org\/webt\/7v\/9k\/fc\/7v9kfc1em5tc_vodsb35b7smdgg.png\"\/><br \/>  <i>\u0420\u0438\u0441. 2: \u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u043f\u043e \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0443 \u0438 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0443.<\/i><\/p>\n<p>  \u041e\u0434\u043d\u0430\u043a\u043e \u043f\u0440\u0438 \u0438\u0437\u0443\u0447\u0435\u043d\u0438\u0438 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442 \u043d\u0430 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a \u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0441\u044f \u043e\u0447\u0435\u0432\u0438\u0434\u043d\u043e, \u0447\u0442\u043e \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u0432\u0437\u044f\u0442\u043e \u043f\u043e GPS, \u0438 \u0447\u0442\u043e \u0437\u0430\u043f\u0438\u0441\u0438 Wi-Fi \u0438 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0439 \u0441\u0435\u0442\u0438 \u043f\u0440\u0438\u0432\u044f\u0437\u0430\u043d\u044b \u043a \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u043d\u043e\u043c\u0443 \u0441\u043f\u0438\u0441\u043a\u0443 \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0439. \u0412\u0441\u0435 58865 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0431\u044b\u043b\u0438 \u0441\u0434\u0435\u043b\u0430\u043d\u044b \u043f\u0440\u0438 \u043f\u043e\u043c\u043e\u0449\u0438 \u0432\u0441\u0435\u0433\u043e 6747 WiFi-\u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432. \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, 3239 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0431\u044b\u043b\u0438 \u0441\u0434\u0435\u043b\u0430\u043d\u044b \u0432\u0441\u0435\u0433\u043e 256 \u0432\u044b\u0448\u043a\u0430\u043c\u0438 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u043e\u0439 \u0441\u0432\u044f\u0437\u0438 \u0441 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430\u043c\u0438.<\/p>\n<p>  \u041c\u044b \u043c\u043e\u0436\u0435\u043c \u043b\u0443\u0447\u0448\u0435 \u043f\u043e\u043d\u044f\u0442\u044c \u044d\u0442\u043e, \u0438\u0437\u0443\u0447\u0438\u0432 \u0441\u0443\u043c\u043c\u0430\u0440\u043d\u043e\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u043d\u0430 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435 \u043f\u043e \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0443. Wi-Fi \u0438\u043c\u0435\u0435\u0442 \u043d\u0430\u0438\u0431\u043e\u043b\u044c\u0448\u0435\u0435 \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u043d\u0430 \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0435, \u043f\u043e\u0441\u043a\u043e\u043b\u044c\u043a\u0443, \u043a\u043e\u0433\u0434\u0430 \u043c\u043e\u0431\u0438\u043b\u044c\u043d\u044b\u0435 \u0443\u0441\u0442\u0440\u043e\u0439\u0441\u0442\u0432\u0430 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u044b \u043a Wi-Fi, \u043c\u043d\u043e\u0433\u0438\u0435 \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u0440\u0430\u0434\u0438\u0443\u0441\u0435 \u0434\u0435\u0439\u0441\u0442\u0432\u0438\u044f Wi-Fi-\u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440\u0430 \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u044b \u0432 \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440\u0430. \u0422\u043e \u0436\u0435 \u0441\u0430\u043c\u043e\u0435 \u0441\u043f\u0440\u0430\u0432\u0435\u0434\u043b\u0438\u0432\u043e \u0438 \u0434\u043b\u044f \u0441\u043e\u0442\u043e\u0432\u044b\u0445 \u0432\u044b\u0448\u0435\u043a, \u043e\u0434\u043d\u0430\u043a\u043e \u0441 \u043c\u0435\u043d\u044c\u0448\u0435\u0439 \u0447\u0430\u0441\u0442\u043e\u0442\u043e\u0439. \u0412\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u0444\u0438\u043a\u0441\u0430\u0446\u0438\u0438 \u0441 \u043d\u0430\u0438\u0431\u043e\u043b\u044c\u0448\u0435\u0439 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c\u044e \u0432\u044b\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u0434\u043b\u044f \u0437\u0430\u043f\u0438\u0441\u0435\u0439 GPS.<\/p>\n<pre><code class=\"r\">##   source unique_locations unique_records records_per_location ## 1   CELL              256           3239                 12.7 ## 2    GPS            16303          58865                  3.6 ## 3   WIFI             6747         356825                 52.9<\/code><\/pre>\n<p>  <\/p>\n<h3>\u0422\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432<\/h3>\n<p>  <\/p>\n<pre><code class=\"r\">## \u041f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u0432\u0435\u043b\u043e \u043a \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044e \u0431\u0435\u0441\u043a\u043e\u043d\u0435\u0447\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439 \u043d\u0430 \u043d\u0435\u043f\u0440\u0435\u0440\u044b\u0432\u043d\u043e\u0439 \u043e\u0441\u0438 y<\/code><\/pre>\n<p>  <\/p>\n<pre><code class=\"r\">## \u0423\u0434\u0430\u043b\u0435\u043d\u043e 14 \u0441\u0442\u0440\u043e\u043a, \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u0449\u0438\u0445 \u043e\u0442\u0441\u0443\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f.<\/code><\/pre>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/mv\/ky\/m6\/mvkym6llpzrx3sjqixdlbnfnkp4.png\" data-src=\"https:\/\/habrastorage.org\/webt\/mv\/ky\/m6\/mvkym6llpzrx3sjqixdlbnfnkp4.png\"\/><\/div>\n<p>  \u041a\u0440\u043e\u043c\u0435 \u0442\u043e\u0433\u043e, \u0432\u0430\u0436\u043d\u043e \u0443\u0447\u0435\u0441\u0442\u044c \u0440\u0430\u0437\u043b\u0438\u0447\u0438\u044f \u0432 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u0440\u0430\u0437\u043d\u044b\u0445 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u043e\u0432. \u041d\u0430\u0440\u044f\u0434\u0443 \u0441 \u043d\u0430\u0438\u0431\u043e\u043b\u044c\u0448\u0435\u0439 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c\u044e \u0444\u0438\u043a\u0441\u0430\u0446\u0438\u0438 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442 \u0432\u0434\u0430\u043b\u0435\u043a\u0435 \u043e\u0442 \u0446\u0435\u043d\u0442\u0440\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u043d\u044b\u0445 Wi-Fi-\u043c\u0430\u0440\u0448\u0440\u0443\u0442\u0438\u0437\u0430\u0442\u043e\u0440\u043e\u0432 \u0438 \u0441\u043e\u0442\u043e\u0432\u044b\u0445 \u0432\u044b\u0448\u0435\u043a, \u0437\u0430\u043f\u0438\u0441\u0438 GPS \u0442\u0430\u043a\u0436\u0435 \u0432 \u0441\u0440\u0435\u0434\u043d\u0435\u043c \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u043d\u0430\u0438\u0431\u043e\u043b\u0435\u0435 \u0442\u043e\u0447\u043d\u044b\u043c\u0438.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/ki\/t5\/wg\/kit5wgwsmlk1o_innjs_kv78z1g.png\" data-src=\"https:\/\/habrastorage.org\/webt\/ki\/t5\/wg\/kit5wgwsmlk1o_innjs_kv78z1g.png\"\/><\/div>\n<p>  <i>\u0420\u0438\u0441. 3: \u041a\u043e\u0440\u043e\u0431\u0447\u0430\u0442\u0430\u044f \u0434\u0438\u0430\u0433\u0440\u0430\u043c\u043c\u0430, \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u044e\u0449\u0430\u044f \u0441\u0442\u0430\u0442\u0438\u0441\u0442\u0438\u043a\u0443 \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438 \u043f\u043e \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a\u0443 \u0437\u0430\u043f\u0438\u0441\u0438. \u041d\u0435 \u0437\u0430\u0431\u044b\u0432\u0430\u0439\u0442\u0435, \u0447\u0442\u043e \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u0430\u044f \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0437\u0430\u0434\u0430\u043d\u0430 \u0440\u0430\u043d\u0435\u0435, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432 \u0433\u0440\u0430\u0444\u0438\u043a\u0435 \u0443\u0447\u0442\u0435\u043d\u044b \u0442\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u043f\u0438\u0441\u0438 \u0441 \u0437\u0430\u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0430\u043c\u0438.<\/i><\/p>\n<h2>\u041d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0431\u043b\u0438\u0437\u043a\u043e \u043c\u044b \u0431\u044b\u043b\u0438?<\/h2>\n<p>  \u0412\u043e\u0442 \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043e\u0431\u0437\u043e\u0440 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0438\u0437 \u0441\u0430\u043c\u044b\u0445 \u0447\u0430\u0441\u0442\u044b\u0445 \u043c\u0435\u0441\u0442, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u043e\u0431\u0430 \u043f\u043e\u0441\u0435\u0449\u0430\u043b\u0438.<\/p>\n<pre><code class=\"r\">#\u0413\u0440\u0443\u043f\u043f\u0438\u0440\u0443\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043f\u043e \u043c\u0435\u0441\u0442\u0430\u043c places &lt;- combined %>%   group_by(coordinates, person) %>%   summarise(latitude, longitude, timestamp, source, records = n()) %>%   arrange(desc(records))  #\u041d\u0430\u0445\u043e\u0434\u0438\u043c \u0432\u0441\u0435 \u043c\u0435\u0441\u0442\u0430, \u0433\u0434\u0435 \u0431\u044b\u043b x x_places &lt;- places %>%   filter(person == x)  #\u041d\u0430\u0445\u043e\u0434\u0438\u043c \u0432\u0441\u0435 \u043c\u0435\u0441\u0442\u0430, \u0433\u0434\u0435 \u0431\u044b\u043b y y_places &lt;- places %>%   filter(person == y)  #\u041d\u0430\u0445\u043e\u0434\u0438\u043c \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u0435 \u043c\u0435\u0441\u0442, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0431\u044b\u043b \u0438 x, \u0438 y  if (file.exists(\"both_places.RData\")) {   both_places &lt;- get(load(\"both_places.RData\"))  } else {   both_places &lt;-     full_join(x_places,               y_places,               by = c(\"latitude\", \"longitude\", \"coordinates\", \"source\")) %>%     filter(!is.na(records.x)) %>%     filter(!is.na(records.y)) %>%     mutate(both_records = records.x + records.y) %>%     mutate(x_per = (records.x \/ both_records) * 100) %>%     mutate(y_per = (records.y \/ both_records) * 100) %>%     mutate(dif_per = x_per - y_per) %>%     # mutate(time_dif = abs(difftime(timestamp.x, timestamp.y, units = \"auto\"))) %>%     mutate(time_dif = abs(timestamp.x - timestamp.y)) %>%     unique() %>%     arrange(desc(both_records))    }  save(both_places, file = \"both_places.RData\")<\/code><\/pre>\n<p>  <\/p>\n<h4>\u0412\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f \u0432\u0441\u0435\u0445 \u043c\u0435\u0441\u0442, \u0433\u0434\u0435 \u0431\u044b\u043b\u0438 \u043c\u044b \u043e\u0431\u0430<\/h4>\n<p>  <\/p>\n<pre><code class=\"r\"># \u041f\u043e\u043b\u0443\u0447\u0430\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043a\u0430\u0440\u0442 \u043e\u0442 Google API  # \u041f\u0440\u0438\u043c\u0435\u0447\u0430\u043d\u0438\u0435: \u0434\u043b\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u0430 \u043a API \u043d\u0443\u0436\u043d\u043e \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u044c \u043a\u043b\u044e\u0447 \u043d\u0430 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0435 Google Maps.  # \u041f\u0435\u0440\u0435\u0439\u0434\u0438\u0442\u0435 \u043f\u043e \u0430\u0434\u0440\u0435\u0441\u0443 https:\/\/mapsplatform.google.com\/ -> get started -> credentials -> API keys # \u041d\u0430\u0439\u0434\u0438\u0442\u0435 Maps API Key \u0438 SHOW KEY, \u0430 \u0437\u0430\u0442\u0435\u043c \u0441\u043a\u043e\u043f\u0438\u0440\u0443\u0439\u0442\u0435 \u0438 \u0432\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u0441\u0432\u043e\u0439 \u043a\u043b\u044e\u0447 API \u043d\u0438\u0436\u0435: # register_google(key = \"[your key]\", write = TRUE)  #\u043d\u0430\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u043c \u0434\u0430\u043d\u043d\u044b\u0435 \u043d\u0430 \u043a\u0430\u0440\u0442\u0443, \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u043c \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0443 \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0438 \u0440\u0430\u0441\u043a\u0440\u0430\u0448\u0438\u0432\u0430\u0435\u043c \u043f\u043e \u0442\u043e\u043c\u0443, \u043a\u0442\u043e \u043f\u043e\u0441\u0435\u0449\u0430\u043b \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f \u0447\u0430\u0449\u0435  map_most_common_places &lt;- get_map(   location = c(     lon = median(both_places$longitude),     lat = median(both_places$latitude)   ),   zoom = 12,   scale = \"auto\",   maptype = \"toner-lite\" )  common_places_map &lt;- ggmap(map_most_common_places) +   geom_point(     aes(       x = longitude,       y = latitude,       size = both_records,       color = dif_per     ),     data = both_places,     alpha = 0.8,     position = \"jitter\"   ) +   scale_radius(range = c(1, 10),                name = \"Number of records\") +   scale_color_gradientn(     colors = three_colors,     name = \"Most visited by person\",     breaks = c(min(both_places$dif_per), 0, max(both_places$dif_per)),     labels = c(y, \"both\", x)   ) +   theme(     text = element_text(family = \"sans\"),     axis.title = element_blank(),     axis.text = element_blank(),     axis.ticks = element_blank(),     panel.grid = element_blank()   ) +   ggtitle(label = \"Common locations\")  common_places_map<\/code><\/pre>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/ag\/a0\/db\/aga0db9lvsb9mtksonsjxyp6jw4.png\" data-src=\"https:\/\/habrastorage.org\/webt\/ag\/a0\/db\/aga0db9lvsb9mtksonsjxyp6jw4.png\"\/><\/div>\n<p>  <i>\u0420\u0438\u0441. 4: \u041e\u0431\u0449\u0438\u0435 \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043e\u0431\u0430 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430 \u0431\u044b\u043b\u0438 \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u044b \u0432 \u043f\u0440\u0435\u0434\u0435\u043b\u0430\u0445 \u0432\u0441\u0435\u0433\u043e \u043f\u0435\u0440\u0438\u043e\u0434\u0430 \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u0426\u0432\u0435\u0442\u0430\u043c\u0438 \u043e\u0431\u043e\u0437\u043d\u0430\u0447\u0435\u043d\u043e, \u043a\u043e\u043c\u0443 \u043f\u0440\u0438\u043d\u0430\u0434\u043b\u0435\u0436\u0438\u0442 \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u0437\u0430\u043f\u0438\u0441\u0435\u0439 \u0432 \u043a\u0430\u0436\u0434\u043e\u043c \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0438.<\/i><\/p>\n<p>  \u0417\u0430 \u043f\u044f\u0442\u0438\u043b\u0435\u0442\u043d\u0438\u0439 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b \u0431\u044b\u043b\u043e 2729 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442, \u0433\u0434\u0435 \u043c\u044b \u043e\u0431\u0430 \u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043b\u0438 \u0437\u0430\u043f\u0438\u0441\u0438 \u0432 \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u043f\u0435\u0440\u0438\u043e\u0434. \u0411\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u043e \u043e\u0431\u0449\u0438\u0445 \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0439 \u2014 \u044d\u0442\u043e \u043e\u0441\u043d\u043e\u0432\u043d\u044b\u0435 \u0434\u043e\u0440\u043e\u0433\u0438, \u0432\u0435\u0434\u0443\u0449\u0438\u0435 \u0432 \u0433\u043e\u0440\u043e\u0434 \u0438 \u043f\u0440\u043e\u0445\u043e\u0434\u044f\u0449\u0438\u0435 \u0432\u043d\u0443\u0442\u0440\u0438 \u043d\u0435\u0433\u043e. \u042f \u0436\u0438\u043b\u0430 \u0438 \u0440\u0430\u0431\u043e\u0442\u0430\u043b\u0430 \u0432 \u0441\u0435\u0432\u0435\u0440\u043d\u043e\u0439 \u0447\u0430\u0441\u0442\u0438 \u0433\u043e\u0440\u043e\u0434\u0430, \u0438 \u044d\u0442\u043e \u0432\u0438\u0434\u043d\u043e \u043f\u043e \u0436\u0451\u043b\u0442\u043e\u043c\u0443 \u0446\u0432\u0435\u0442\u0443. \u041c\u043e\u0439 \u043f\u0430\u0440\u0442\u043d\u0451\u0440 \u0431\u043e\u043b\u044c\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0436\u0438\u043b \u0438 \u0443\u0447\u0438\u043b\u0441\u044f \u0432 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0438\u0442\u0435\u0442\u0435 \u0438 \u043e\u043a\u0440\u0435\u0441\u0442\u043d\u043e\u0441\u0442\u044f\u0445, \u0447\u0442\u043e \u0432\u0438\u0434\u043d\u043e \u043f\u043e \u043a\u0440\u0430\u0441\u043d\u044b\u043c \u043c\u0430\u0440\u043a\u0435\u0440\u0430\u043c.<\/p>\n<h2>\u041d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0431\u043b\u0438\u0437\u043a\u043e \u043f\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0434\u0440\u0443\u0433 \u043a \u0434\u0440\u0443\u0433\u0443 \u043c\u044b \u043d\u0430\u0445\u043e\u0434\u0438\u043b\u0438\u0441\u044c \u0432 \u044d\u0442\u0438\u0445 \u043c\u0435\u0441\u0442\u0430\u0445 \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u0439?<\/h2>\n<p>  \u0422\u0435\u043f\u0435\u0440\u044c, \u043a\u043e\u0433\u0434\u0430 \u044f \u0441\u043c\u043e\u0433\u043b\u0430 \u0441\u043e\u043a\u0440\u0430\u0442\u0438\u0442\u044c \u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u043f\u043e\u0442\u0435\u043d\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0439, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u043c\u044b \u043c\u043e\u0433\u043b\u0438 \u0432\u0441\u0442\u0440\u0435\u0442\u0438\u0442\u044c\u0441\u044f, \u043d\u0443\u0436\u043d\u043e \u0438\u0437\u043c\u0435\u0440\u0438\u0442\u044c, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0431\u043b\u0438\u0437\u043a\u043e \u043f\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0434\u0440\u0443\u0433 \u043a \u0434\u0440\u0443\u0433\u0443 \u043c\u044b \u0431\u044b\u043b\u0438 \u0432 \u044d\u0442\u0438\u0445 \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445.<\/p>\n<p>  \u041c\u044b \u0443\u0436\u0435 \u0432\u044b\u0447\u0438\u0441\u043b\u0438\u043b\u0438 \u0440\u0430\u0437\u043d\u0438\u0446\u0443 \u0432\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 (time_diff) \u043c\u0435\u0436\u0434\u0443 \u043b\u044e\u0431\u044b\u043c\u0438 \u0434\u0432\u0443\u043c\u044f \u0432\u0438\u0437\u0438\u0442\u0430\u043c\u0438 \u0432 \u043a\u0430\u0434\u0440\u0435 \u0434\u0430\u043d\u043d\u044b\u0445 both_places, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043f\u043e\u0441\u043b\u0435 \u043e\u0431\u044a\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0434\u0432\u0443\u0445 \u043a\u0430\u0434\u0440\u043e\u0432 \u0434\u0430\u043d\u043d\u044b\u0445 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u043c\u0435\u0442\u043a\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043f\u043e\u0441\u0435\u0449\u0435\u043d\u0438\u0439 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u0430 X \u043f\u043e\u044f\u0432\u0438\u043b\u0438\u0441\u044c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u043c\u0435\u0442\u043a\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043f\u043e\u0441\u0435\u0449\u0435\u043d\u0438\u0439 \u0447\u0435\u043b\u043e\u0432\u0435\u043a\u043e\u043c Y \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0451\u043d\u043d\u043e\u0433\u043e \u043d\u0430\u0431\u043e\u0440\u0430 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442.<\/p>\n<pre><code class=\"r\">#\u0427\u0442\u043e\u0431\u044b \u043c\u0438\u043d\u0438\u043c\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0440\u0435\u043c\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f, \u043c\u044b \u043c\u043e\u0436\u0435\u043c \u043d\u0430\u0447\u0430\u0442\u044c \u0441 \u0444\u0438\u043b\u044c\u0442\u0440\u0430\u0446\u0438\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439, \u0440\u0430\u0437\u043d\u0438\u0446\u0430 \u0432\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043a\u043e\u0442\u043e\u0440\u044b\u0445 \u0441\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0431\u043e\u043b\u0435\u0435 12 \u0447\u0430\u0441\u043e\u0432 (\u043f\u043e\u0434\u0430\u0432\u043b\u044f\u044e\u0449\u0435\u0433\u043e \u0431\u043e\u043b\u044c\u0448\u0438\u043d\u0441\u0442\u0432\u0430 \u0437\u0430\u043f\u0438\u0441\u0435\u0439).  both_places_under_12_hours &lt;- both_places %>%   filter(time_dif &lt; (12 * 60 * 60))  #\u0417\u0430\u0442\u0435\u043c \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u0433\u0440\u0443\u043f\u043f\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u043e \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u0430\u043c \u0438 \u0432\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0432 \u043d\u0435\u0433\u043e \u0441\u043b\u0443\u0447\u0430\u0438 \u0441 \u043c\u0438\u043d\u0438\u043c\u0430\u043b\u044c\u043d\u043e\u0439 \u0440\u0430\u0437\u043d\u0438\u0446\u0435\u0439 \u0432\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u043c\u0435\u0436\u0434\u0443 \u043f\u043e\u0441\u0435\u0449\u0435\u043d\u0438\u044f\u043c\u0438 \u043a\u0430\u0436\u0434\u043e\u0439 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b  grouped_places &lt;- both_places_under_12_hours %>%   group_by(coordinates) %>%   mutate(closest_visit = min(time_dif))  closest_timestamps &lt;- grouped_places %>%   unique() %>%   filter(time_dif == closest_visit) %>%   mutate(closest_visit = as.numeric(closest_visit) \/ 60)  crossed_paths &lt;- closest_timestamps %>% filter(time_dif == 0)  map_close_brushes &lt;- get_map(   location = c(     lon = median(closest_timestamps$longitude),     lat = median(closest_timestamps$latitude)   ),   zoom = 15,   scale = \"auto\",   maptype = \"toner-lite\" )  close_brushes_map &lt;- ggmap(map_close_brushes) +   geom_point(     aes(x = longitude, y = latitude, color = closest_visit),     data = closest_timestamps,     size = 2,     alpha = 0.7,     position = \"jitter\"   ) +   scale_color_gradientn(colors = three_colors, name = \"Minutes  apart (+\/- 10 mins)\") +   theme(     text = element_text(family = \"sans\"),     axis.title = element_blank(),     axis.text = element_blank(),     axis.ticks = element_blank(),     panel.grid = element_blank()   ) +   ggtitle(label = \"Close encounters\") +   geom_text(     data = closest_timestamps,     aes(longitude, latitude, label = closest_visit),     color = \"white\",     check_overlap = TRUE,     size = 3,     hjust = 0.5,     vjust = -1.2   ) close_brushes_map<\/code><\/pre>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/xa\/fh\/m3\/xafhm3qmuoperhdqadjv7iq5x78.png\" data-src=\"https:\/\/habrastorage.org\/webt\/xa\/fh\/m3\/xafhm3qmuoperhdqadjv7iq5x78.png\"\/><\/div>\n<p>  <i>\u0420\u0438\u0441. 5: \u0411\u043b\u0438\u0436\u0430\u0439\u0448\u0438\u0435 \u043a\u0438\u0441\u0442\u0438, \u0434\u0435\u043c\u043e\u043d\u0441\u0442\u0440\u0438\u0440\u0443\u044e\u0449\u0438\u0435 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b, \u0433\u0434\u0435 \u043d\u0430\u0448\u0438 \u043f\u0443\u0442\u0438 \u043c\u043e\u0433\u043b\u0438 \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u044c\u0441\u044f \u0441 \u043d\u0430\u0438\u0431\u043e\u043b\u044c\u0448\u0435\u0439 \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c\u044e. \u0426\u0432\u0435\u0442 \u043e\u0437\u043d\u0430\u0447\u0430\u0435\u0442, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0431\u043b\u0438\u0437\u043a\u043e \u043c\u044b \u0431\u044b\u043b\u0438 \u043f\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438. \u041a\u0440\u0430\u0441\u043d\u044b\u0435 \u043c\u0430\u0440\u043a\u0435\u0440\u044b \u2014 \u044d\u0442\u043e \u0441\u043b\u0443\u0447\u0430\u0438, \u043a\u043e\u0433\u0434\u0430 \u043d\u0430\u0441 \u0440\u0430\u0437\u0434\u0435\u043b\u044f\u043b\u043e \u0434\u0435\u0441\u044f\u0442\u044c \u043c\u0438\u043d\u0443\u0442 \u0438\u043b\u0438 \u043c\u0435\u043d\u044c\u0448\u0435.<\/i><\/p>\n<p>  \u041f\u043e\u0442\u0440\u044f\u0441\u0430\u044e\u0449\u0435! \u0412 33 \u0441\u043b\u0443\u0447\u0430\u044f\u0445 (\u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0432 \u043e\u043a\u0440\u0435\u0441\u0442\u043d\u043e\u0441\u0442\u044f\u0445 \u043a\u0430\u043c\u043f\u0443\u0441\u0430) \u043c\u044b \u0431\u044b\u043b\u0438 \u0431\u043b\u0438\u0436\u0435 111 \u043c\u0435\u0442\u0440\u043e\u0432 \u0434\u0440\u0443\u0433 \u043e\u0442 \u0434\u0440\u0443\u0433\u0430 \u0441 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043a\u043e\u043c \u0432 10 \u0438\u043b\u0438 \u043c\u0435\u043d\u0435\u0435 \u043c\u0438\u043d\u0443\u0442.<\/p>\n<h3>\u041d\u0430\u0445\u043e\u0434\u0438\u043c \u043d\u0430\u0438\u043c\u0435\u043d\u044c\u0448\u0438\u0435 \u043f\u0440\u043e\u043c\u0435\u0436\u0443\u0442\u043a\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0432 \u0442\u0435\u0445 \u0436\u0435 \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u044f\u0445<\/h3>\n<p>  \u041a\u043e\u0433\u0434\u0430 \u0436\u0435 \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u043b\u0438 \u044d\u0442\u0438 \u0431\u043b\u0438\u0437\u043a\u0438\u0435 \u0441\u043e\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u044f? \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0441\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0433\u0440\u0430\u0444\u0438\u043a \u043e\u0442 \u0432\u0440\u0435\u043c\u0435\u043d\u0438.<\/p>\n<pre><code class=\"r\">all_intervals &lt;-   seq(from = start_looking_from, to = best_day, by = \"10 min\") %>%   as.data.frame() colnames(all_intervals) &lt;- \"timestamp\"  whole_time_x &lt;-   full_join(all_intervals, x_records, by = \"timestamp\") %>%   mutate(person = x)  whole_time_y &lt;-   full_join(all_intervals, y_records, by = \"timestamp\") %>%   mutate(person = y)  #\u042f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044e \u0444\u043e\u0440\u043c\u0443\u043b\u0443 \u0433\u0430\u0432\u0435\u0440\u0441\u0438\u043d\u0443\u0441\u0430 \u0434\u043b\u044f \u0432\u044b\u0447\u0438\u0441\u043b\u0435\u043d\u0438\u044f \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u043c\u0435\u0436\u0434\u0443 \u0434\u0432\u0443\u043c\u044f \u0442\u043e\u0447\u043a\u0430\u043c\u0438 \u043d\u0430 \u0441\u0444\u0435\u0440\u0438\u0447\u0435\u0441\u043a\u043e\u0439 \u043f\u043e\u0432\u0435\u0440\u0445\u043d\u043e\u0441\u0442\u0438 \u0417\u0435\u043c\u043b\u0438, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u044d\u0442\u0430 \u0444\u043e\u0440\u043c\u0443\u043b\u0430 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0438\u0432\u0430\u0435\u0442 \u043d\u0430\u0438\u0431\u043e\u043b\u044c\u0448\u0443\u044e \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u044c \u0432 \u043c\u0430\u0441\u0448\u0442\u0430\u0431\u0435 \u043c\u0435\u0442\u0440\u043e\u0432.  haversine_calc &lt;- function(lat.x, lat.y, lon.x, lon.y) {   #\u0440\u0430\u0434\u0438\u0443\u0441 \u0417\u0435\u043c\u043b\u0438 \u0432 \u043a\u043c   r &lt;- 6371      #\u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u0443\u0435\u043c \u0433\u0440\u0430\u0434\u0443\u0441\u044b \u0432 \u0440\u0430\u0434\u0438\u0430\u043d\u044b   r.lat.x &lt;- (lat.x * pi) \/ 180   r.lat.y &lt;- (lat.y * pi) \/ 180   r.lon.x &lt;- (lon.x * pi) \/ 180   r.lon.y &lt;- (lon.y * pi) \/ 180      dlat &lt;- r.lat.y - r.lat.x   dlon &lt;- r.lon.y - r.lon.x      a &lt;- sin(dlat \/ 2) ** 2 + cos(r.lat.x) * cos(r.lat.y) * sin(dlon \/ 2) **  2      c &lt;- 2 * asin(sqrt(a))      d &lt;- c * r    }  whole_time_both &lt;-   full_join(whole_time_x, whole_time_y, by = \"timestamp\") %>%   filter(!is.na(coordinates.x)) %>%   filter(!is.na(coordinates.y)) %>%   mutate(     distance = haversine_calc(       lat.x = latitude.x,       lat.y = latitude.y,       lon.x = longitude.x,       lon.y = longitude.y     ) * 1000   ) %>%   arrange(distance)  whole_time_both$accuracy &lt;-   whole_time_both$accuracy.x + whole_time_both$accuracy.y  whole_time_simple &lt;- whole_time_both %>%   select(timestamp, distance, accuracy) %>%   mutate(day = as.Date(timestamp)) %>%   group_by(day) %>%   transmute(min_dist = min(distance), min_acc = min(accuracy)) %>%   mutate(closest_brush = (min_dist == 0)) %>%   unique()  ggplot(whole_time_simple,        aes(x = day, y = min_dist, color = closest_brush)) +   geom_point(     alpha = 0.5,     position = \"jitter\",     fill = \"white\",     size = 3   ) +   scale_color_discrete(two_colors, name = \"Closest brush?\") +   theme_classic() +   labs(x = \"Date\",        y = \"Distance from each other (meters)\",         title = \"Distance apart over time\") +   ylim(0, 2500)<\/code><\/pre>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/yv\/sg\/dh\/yvsgdhsadv6lncjpta-3itzbwuu.png\" data-src=\"https:\/\/habrastorage.org\/webt\/yv\/sg\/dh\/yvsgdhsadv6lncjpta-3itzbwuu.png\"\/><\/div>\n<p>  \u0420\u0438\u0441. 6: \u0420\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 \u043d\u0430\u043c\u0438 \u0432 \u043c\u043e\u043c\u0435\u043d\u0442\u044b \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0438\u0441\u0435\u0439.<\/p>\n<p>  \u0412 2016-2017 \u0433\u043e\u0434\u0430\u0445, \u043a\u043e\u0433\u0434\u0430 \u044f \u0443\u0447\u0438\u043b\u0430\u0441\u044c, \u0438 \u0434\u043e \u043c\u043e\u0435\u0433\u043e \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u044f \u043c\u0435\u0436\u0434\u0443 \u043d\u0430\u043c\u0438 \u0431\u044b\u043b\u0438 \u043c\u0435\u043d\u044c\u0448\u0435, \u0447\u0435\u043c \u0432 2018 \u0433\u043e\u0434\u0443, \u043a\u043e\u0433\u0434\u0430 \u044f \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043b\u0430 \u043f\u043e\u0441\u0435\u0449\u0430\u0442\u044c \u043a\u0430\u043c\u043f\u0443\u0441. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0441\u0447\u0438\u0442\u0430\u044e, \u0447\u0442\u043e \u0432\u0435\u0440\u043e\u044f\u0442\u043d\u043e\u0441\u0442\u044c \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u043e\u0439 \u0432\u0441\u0442\u0440\u0435\u0447\u0438 \u0432\u044b\u0448\u0435 \u0432\u0441\u0435\u0433\u043e \u0431\u044b\u043b\u0430 \u0432 \u043a\u0430\u043c\u043f\u0443\u0441\u0435, \u0430 \u043f\u043e\u0441\u043b\u0435 \u044d\u0442\u043e\u0433\u043e \u0448\u0430\u043d\u0441\u044b \u0441\u043d\u0438\u0437\u0438\u043b\u0438\u0441\u044c.<\/p>\n<h1>\u041e\u0442\u0432\u0435\u0442<\/h1>\n<p>  <\/p>\n<pre><code class=\"r\">#\u041f\u043e\u0438\u0441\u043a \u0434\u0430\u0442, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043c\u044b \u043d\u0430\u0445\u043e\u0434\u0438\u043b\u0438\u0441\u044c \u0434\u0440\u0443\u0433 \u043e\u0442 \u0434\u0440\u0443\u0433\u0430 \u0432 0 \u043c (+\/- 111 \u043c) dates_crossed_paths &lt;- whole_time_both %>%   filter(distance == 0) %>%   mutate(day = as.Date(timestamp))   # %>% #   filter(!day %in% problem_dates)  #\u0412\u0438\u0437\u0443\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044f map_close_distances &lt;- get_map(   location = c(lon = median(     c(       dates_crossed_paths$longitude.x,       dates_crossed_paths$longitude.y     )   ),   lat = median(     c(       dates_crossed_paths$latitude.x,       dates_crossed_paths$latitude.y     )   )),   zoom = 17,   scale = \"auto\",   maptype = \"toner-lite\" )  ggmap(map_close_distances) +   geom_point(     aes(x = longitude.y, y = latitude.y),     data = dates_crossed_paths,     color = two_colors[2],     size = 1,     alpha = 0.5,     position = \"jitter\"   ) +   geom_point(     aes(x = longitude.x, y = latitude.x),     data = dates_crossed_paths,     color = two_colors[1],     size = 1,     alpha = 0.5,     position = \"jitter\"   ) +   theme_void() +   labs(title = \"Crossing paths on campus\") +   facet_wrap( ~ day, ncol = 4, nrow = 8)<\/code><\/pre>\n<p>  <\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/9c\/xd\/dd\/9cxddd2v1dd8vemvlvoqegak6ia.png\" data-src=\"https:\/\/habrastorage.org\/webt\/9c\/xd\/dd\/9cxddd2v1dd8vemvlvoqegak6ia.png\"\/><\/div>\n<p>  <i>\u0420\u0438\u0441. 7: \u0427\u0435\u043d \u2014 \u0441\u0438\u043d\u0438\u0435 \u043e\u0442\u043c\u0435\u0442\u043a\u0438, \u0414\u044d\u043d \u2014 \u043a\u0440\u0430\u0441\u043d\u044b\u0435. \u041a\u0430\u0436\u0434\u0430\u044f \u0438\u0437 \u043a\u0430\u0440\u0442 \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u0435\u0442 \u043e\u0434\u043d\u043e\u043c\u0443 \u0438\u0437 \u0434\u043d\u0435\u0439, \u043a\u043e\u0433\u0434\u0430 \u043d\u0430\u0448\u0438 \u0434\u043e\u0440\u043e\u0433\u0438 \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u043b\u0438\u0441\u044c.<\/i><\/p>\n<pre><code class=\"r\">total_time_in_uni &lt;- ((total_time\/144) - as.numeric(as.Date(best_day) - as.Date(\"2018\/01\/01\")))*(24*6) %>%   as.numeric()  both_records_time &lt;- whole_time_both$timestamp %>% unique() %>% length()  per_time_with_records &lt;- both_records_time\/total_time_in_uni  extrapolated &lt;- crossed_paths_n \/ per_time_with_records %>% round(digits = 1)<\/code><\/pre>\n<p>  \u0421\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u0435\u0442 33 <em>\u0437\u0430\u0444\u0438\u043a\u0441\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0445<\/em> \u0441\u043b\u0443\u0447\u0430\u0435\u0432, \u043a\u043e\u0433\u0434\u0430 \u043c\u044b \u043c\u043e\u0433\u043b\u0438 \u043f\u0435\u0440\u0435\u0441\u0435\u0447\u044c\u0441\u044f, \u0432 \u043e\u0441\u043d\u043e\u0432\u043d\u043e\u043c \u0432 \u043a\u0430\u043c\u043f\u0443\u0441\u0435. \u041c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0440\u0430\u0437 \u043c\u044b \u0431\u044b\u043b\u0438 \u0434\u0440\u0443\u0433 \u043e\u0442 \u0434\u0440\u0443\u0433\u0430 \u043d\u0430 \u0440\u0430\u0441\u0441\u0442\u043e\u044f\u043d\u0438\u0438 \u0432\u044b\u0442\u044f\u043d\u0443\u0442\u043e\u0439 \u0440\u0443\u043a\u0438, \u043d\u043e \u0434\u0430\u0436\u0435 \u043d\u0435 \u0437\u0430\u043c\u0435\u0447\u0430\u043b\u0438 \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0430. \u0423\u0447\u0438\u0442\u044b\u0432\u0430\u044f, \u0447\u0442\u043e \u0432\u0441\u0435\u0433\u043e 0,7851364% \u043d\u0430\u0448\u0435\u0433\u043e \u0432\u0440\u0435\u043c\u0435\u043d\u0438 \u0438\u043c\u0435\u044e\u0442 \u0437\u0430\u043f\u0438\u0441\u0438, \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f\u043c \u0442\u043e\u0447\u043d\u043e\u0441\u0442\u0438, \u0442\u043e \u0435\u0441\u043b\u0438 \u044d\u043a\u0441\u0442\u0440\u0430\u043f\u043e\u043b\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u044d\u0442\u043e \u0434\u043e \u043d\u0430\u0447\u0430\u043b\u0430 2018, \u043a\u043e\u0433\u0434\u0430 \u044f \u043f\u0435\u0440\u0435\u0441\u0442\u0430\u043b\u0430 \u043f\u043e\u0441\u0435\u0449\u0430\u0442\u044c \u043a\u0430\u043c\u043f\u0443\u0441 \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0438\u0442\u0435\u0442\u0430 (\u0438 \u0441\u0434\u0435\u043b\u0430\u0432 \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0441\u043e\u043c\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0434\u043e\u043f\u0443\u0449\u0435\u043d\u0438\u044f \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u0437\u0430\u043f\u0438\u0441\u0438 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0442 \u0441\u043e\u0431\u043e\u0439 \u0441\u043b\u0443\u0447\u0430\u0439\u043d\u0443\u044e \u0432\u044b\u0431\u043e\u0440\u043a\u0443), \u044d\u0442\u043e \u0437\u043d\u0430\u0447\u0438\u0442, \u0447\u0442\u043e \u043c\u044b \u043c\u043e\u0433\u043b\u0438 \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u0442\u044c\u0441\u044f 41,25 \u0440\u0430\u0437!<\/p>\n<p>  \u042d\u0442\u043e \u043d\u0430\u0441\u0442\u0440\u043e\u0438\u043b\u043e \u043c\u0435\u043d\u044f \u043d\u0430 \u043e\u0447\u0435\u043d\u044c \u0444\u0438\u043b\u043e\u0441\u043e\u0444\u0441\u043a\u0438\u0439 \u043b\u0430\u0434. \u0421\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u043c\u044b \u043f\u0440\u043e\u0445\u043e\u0434\u0438\u043b\u0438 \u043c\u0438\u043c\u043e \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0430 \u043a\u0430\u0436\u0434\u0443\u044e \u043d\u0435\u0434\u0435\u043b\u044e \u0432 \u0442\u0435\u0447\u0435\u043d\u0438\u0435 \u0442\u0440\u0451\u0445 \u043b\u0435\u0442, \u043e\u043f\u0443\u0441\u0442\u0438\u0432 \u0433\u043e\u043b\u043e\u0432\u0443 \u0438\u043b\u0438 \u0432\u0438\u0442\u0430\u044f \u0432 \u043e\u0431\u043b\u0430\u043a\u0430\u0445, \u043c\u0430\u043b\u043e \u043e\u0431\u0440\u0430\u0449\u0430\u044f \u0432\u043d\u0438\u043c\u0430\u043d\u0438\u0435 \u043d\u0430 \u043e\u043a\u0440\u0443\u0436\u0430\u044e\u0449\u0438\u0445 \u043b\u044e\u0434\u0435\u0439. \u0427\u0435\u043d\u043d\u043e\u043d \u0438\u0437 \u043f\u0440\u043e\u0448\u043b\u043e\u0433\u043e \u0434\u0430\u0436\u0435 \u043e\u0442\u0434\u0430\u043b\u0451\u043d\u043d\u043e \u043d\u0435 \u043c\u043e\u0433\u043b\u0430 \u043f\u0440\u0435\u0434\u043f\u043e\u043b\u043e\u0436\u0438\u0442\u044c, \u043a\u0430\u043a\u043e\u0435 \u0432\u043b\u0438\u044f\u043d\u0438\u0435 \u043d\u0435 \u0437\u0430\u043c\u0435\u0447\u0430\u0435\u043c\u044b\u0439 \u0435\u044e \u043d\u0435\u0437\u043d\u0430\u043a\u043e\u043c\u0435\u0446 \u043e\u043a\u0430\u0436\u0435\u0442 \u043d\u0430 \u043d\u0435\u0451. \u0423\u0437\u043d\u0430\u0432 \u043e\u0431 \u044d\u0442\u043e\u043c, \u044f \u043d\u0435 \u043c\u043e\u0433\u0443 \u043d\u0435 \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043d\u0430 \u0435\u0436\u0435\u0434\u043d\u0435\u0432\u043d\u043e \u043f\u0440\u043e\u0445\u043e\u0434\u044f\u0449\u0438\u0445 \u043c\u0438\u043c\u043e \u043c\u0435\u043d\u044f \u043b\u044e\u0434\u0435\u0439 \u0432 \u0438\u043d\u043e\u043c \u0441\u0432\u0435\u0442\u0435.<\/p>\n<h3>\u041c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0438\u0441\u0442\u043e\u0440\u0438\u0439 \u043d\u0430\u0448\u0438\u0445 \u043f\u043e\u0447\u0442\u0438-\u0432\u0441\u0442\u0440\u0435\u0447<\/h3>\n<p>  \u042f \u0440\u0430\u0434\u0430, \u0447\u0442\u043e \u0437\u0430\u043b\u0435\u0437\u043b\u0430 \u0432 \u044d\u0442\u0443 \u043a\u0440\u043e\u043b\u0438\u0447\u044c\u044e \u043d\u043e\u0440\u0443, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u0442\u0435\u043f\u0435\u0440\u044c \u044f \u0434\u0443\u043c\u0430\u044e \u043e\u0431\u043e \u0432\u0441\u0435\u0445 \u044d\u0442\u0438\u0445 41,25 \u043f\u043e\u0447\u0442\u0438-\u0432\u0441\u0442\u0440\u0435\u0447\u0430\u0445, \u043a\u043e\u0433\u0434\u0430 \u0437\u0440\u0438\u0442\u0435\u043b\u0438 \u043d\u0430\u0431\u043b\u044e\u0434\u0430\u043b\u0438 \u0431\u044b \u0437\u0430 \u043d\u0430\u043c\u0438 \u0432 \u0431\u043e\u043b\u044c\u0448\u043e\u043c \u043d\u0430\u043f\u0440\u044f\u0436\u0435\u043d\u0438\u0438. 16 \u0430\u0432\u0433\u0443\u0441\u0442\u0430 2017 \u0433\u043e\u0434\u0430, \u0440\u043e\u0432\u043d\u043e \u0437\u0430 \u043d\u0435\u0434\u0435\u043b\u044e \u0438 \u0442\u0440\u0438 \u0433\u043e\u0434\u0430 \u0434\u043e \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u043c\u044b \u0432\u0441\u0442\u0440\u0435\u0442\u0438\u043c\u0441\u044f, Google \u0437\u0430\u043f\u0438\u0441\u0430\u043b \u043e\u0434\u0438\u043d\u0430\u043a\u043e\u0432\u044b\u0435 \u043a\u043e\u043e\u0440\u0434\u0438\u043d\u0430\u0442\u044b GPS \u043d\u0430\u0448\u0435\u0433\u043e \u043c\u0435\u0441\u0442\u043e\u043d\u0430\u0445\u043e\u0436\u0434\u0435\u043d\u0438\u044f \u0432 \u044d\u0442\u043e\u043c \u043c\u0435\u0441\u0442\u0435, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u044f \u0447\u0430\u0441\u0442\u043e \u043e\u0431\u0435\u0434\u0430\u043b\u0430, \u0440\u044f\u0434\u043e\u043c \u0441 \u043a\u043e\u0444\u0435\u0439\u043d\u0435\u0439 \u0432 \u0437\u0434\u0430\u043d\u0438\u0438 \u0444\u0430\u043a\u0443\u043b\u044c\u0442\u0435\u0442\u0430 \u043e\u0431\u0449\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u043d\u0430\u0443\u043a. \u041f\u0440\u043e\u0448\u0451\u043b \u043b\u0438 \u043e\u043d \u043f\u0440\u043e\u0441\u0442\u043e \u043f\u043e \u043b\u0435\u0441\u0442\u043d\u0438\u0446\u0435? \u0421\u0438\u0434\u0435\u043b \u043b\u0438 \u0432 \u0442\u0435\u043d\u0438 \u0434\u0435\u0440\u0435\u0432\u044c\u0435\u0432? \u0421\u0442\u043e\u044f\u043b\u0438 \u043b\u0438 \u043c\u044b \u0432 \u043e\u0434\u043d\u043e\u0439 \u043e\u0447\u0435\u0440\u0435\u0434\u0438 \u0437\u0430 \u043a\u043e\u0444\u0435? \u041d\u0430\u0432\u0435\u0440\u043d\u043e, \u0443 Google \u043d\u0435\u0442 \u043e\u0442\u0432\u0435\u0442\u043e\u0432 \u043d\u0430 \u0432\u0441\u0435 \u0432\u043e\u043f\u0440\u043e\u0441\u044b, \u043d\u043e \u0432\u044b\u043f\u0438\u0432\u0430\u044f \u0432\u043c\u0435\u0441\u0442\u0435 \u043a\u043e\u0444\u0435 \u043a\u0430\u0436\u0434\u043e\u0435 \u0443\u0442\u0440\u043e, \u043f\u0440\u0438\u044f\u0442\u043d\u043e \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0442\u044c, \u0447\u0442\u043e \u0433\u043e\u0434\u0430\u043c\u0438 \u0440\u0430\u043d\u0435\u0435 \u043c\u044b \u043c\u043e\u0433\u043b\u0438 \u043c\u043e\u043b\u0447\u0430\u043b\u0438\u0432\u043e \u043d\u0430\u0441\u043b\u0430\u0436\u0434\u0430\u0442\u044c\u0441\u044f \u043a\u043e\u0444\u0435 \u0440\u044f\u0434\u043e\u043c \u0434\u0440\u0443\u0433 \u0441 \u0434\u0440\u0443\u0433\u043e\u043c.<\/p>\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/x8\/fu\/zf\/x8fuzfslx9jqlpriyiersrla5xu.png\" data-src=\"https:\/\/habrastorage.org\/webt\/x8\/fu\/zf\/x8fuzfslx9jqlpriyiersrla5xu.png\"\/><\/div>\n<p>  <i>\u041c\u0435\u0441\u0442\u043e, \u0433\u0434\u0435 \u043c\u044b \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u043b\u0438\u0441\u044c \u0437\u0430 \u0442\u0440\u0438 \u0433\u043e\u0434\u0430 \u0434\u043e \u043d\u0430\u0448\u0435\u0439 \u0432\u0441\u0442\u0440\u0435\u0447\u0438: -33.959, 18.46.<\/i><\/p>\n<h3>\u041f\u043e\u043b\u0435\u0437\u043d\u044b\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u044b<\/h3>\n<p>  <\/p>\n<ul>\n<li>\n<p>D. Kahle and H. Wickham. ggmap: Spatial Visualization with<br \/>  ggplot2. The R Journal, 5(1), 144-161. URL <a href=\"http:\/\/journal.r-project.org\/archive\/2013-1\/kahle-wickham.pdf\" rel=\"nofollow noopener noreferrer\">http:\/\/journal.r-project.org\/archive\/2013-1\/kahle-wickham.pdf<\/a><\/p>\n<\/li>\n<li>\n<p>Macarulla Rodriguez, Andrea &amp; Tiberius, Christian &amp; Bree,<br \/>  Roel &amp; Geradts, Zeno. (2018). Google timeline accuracy assessment<br \/>  and error prediction. Forensic Sciences Research. 3. 240-255.<br \/>  10.1080\/20961790.2018.1509187.<\/p>\n<\/li>\n<li>\n<p>movable-type.co.uk\/scripts\/latlong.html#<a href=\"https:\/\/www.geeksforgeeks.org\/program-distance-two-points-earth\/#\" rel=\"nofollow noopener noreferrer\">https:\/\/www.geeksforgeeks.org\/program-distance-two-points-earth\/#<\/a>:~:text=For%20this%20divide%20the%20values,is%20the%20radius%20of%20Earth.<\/p>\n<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/691998\/\"> https:\/\/habr.com\/ru\/articles\/691998\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<div style=\"text-align:center;\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/ag\/a0\/db\/aga0db9lvsb9mtksonsjxyp6jw4.png\" data-src=\"https:\/\/habrastorage.org\/webt\/ag\/a0\/db\/aga0db9lvsb9mtksonsjxyp6jw4.png\"\/><\/div>\n<p>  <\/p>\n<h1>\u0412\u0432\u0435\u0434\u0435\u043d\u0438\u0435<\/h1>\n<p>  \u041a\u043e\u0433\u0434\u0430 \u044f \u043f\u043e\u0437\u043d\u0430\u043a\u043e\u043c\u0438\u043b\u0430\u0441\u044c \u0441\u043e \u0441\u0432\u043e\u0438\u043c \u0431\u043e\u0439\u0444\u0440\u0435\u043d\u0434\u043e\u043c, \u044f \u0438\u043d\u043e\u0433\u0434\u0430 \u043e\u0449\u0443\u0449\u0430\u043b\u0430 \u043d\u0435\u0431\u043e\u043b\u044c\u0448\u043e\u0435 \u0441\u043e\u0436\u0430\u043b\u0435\u043d\u0438\u0435 \u043e\u0442 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u0443 \u043d\u0430\u0441 \u043d\u0435 \u0431\u044b\u043b\u043e \u0443\u043c\u0438\u043b\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0439 \u043a\u0438\u043d\u043e\u0448\u043d\u043e\u0439 \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u0432\u0441\u0442\u0440\u0435\u0447\u0438, \u043d\u0435\u0441\u043c\u043e\u0442\u0440\u044f \u043d\u0430 \u0442\u043e, \u0447\u0442\u043e \u043c\u044b \u043f\u044f\u0442\u044c \u043b\u0435\u0442 \u0436\u0438\u043b\u0438 \u0432 \u043e\u0434\u043d\u043e\u043c \u0438 \u0442\u043e\u043c \u0436\u0435 \u0433\u043e\u0440\u043e\u0434\u0435 \u0438 \u0443\u0447\u0438\u043b\u0438\u0441\u044c \u0432 \u043e\u0434\u043d\u043e\u043c \u0443\u043d\u0438\u0432\u0435\u0440\u0441\u0438\u0442\u0435\u0442\u0435. \u041d\u0430\u0448\u0430 \u0438\u0441\u0442\u043e\u0440\u0438\u044f \u043d\u0435 \u0443\u043d\u0438\u043a\u0430\u043b\u044c\u043d\u0430 \u0434\u043b\u044f \u043c\u043d\u043e\u0433\u0438\u0445 \u043f\u0430\u0440 \u0432 2020 \u0433\u043e\u0434\u0443: \u043d\u0430 \u0441\u043f\u0430\u0434\u0435 \u043c\u0435\u0436\u0434\u0443 \u0434\u0432\u0443\u043c\u044f \u0432\u043e\u043b\u043d\u0430\u043c\u0438 COVID \u043c\u044b \u043d\u0430\u0447\u0430\u043b\u0438 \u043e\u0431\u0449\u0430\u0442\u044c\u0441\u044f \u043e\u043d\u043b\u0430\u0439\u043d, \u0432 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0438 \u0434\u043b\u044f \u0437\u043d\u0430\u043a\u043e\u043c\u0441\u0442\u0432 Bumble.<\/p>\n<p>  \u042f \u043f\u043e\u0434\u0443\u043c\u0430\u043b\u0430, \u0447\u0442\u043e \u0431\u043b\u0430\u0433\u043e\u0434\u0430\u0440\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u0438 \u043c\u0435\u0441\u0442\u043e\u043f\u043e\u043b\u043e\u0436\u0435\u043d\u0438\u0439 Google, \u0432\u0442\u0438\u0445\u043e\u043c\u043e\u043b\u043a\u0443 \u043e\u0442\u0441\u043b\u0435\u0436\u0438\u0432\u0430\u044e\u0449\u0435\u0439 \u0434\u0430\u043d\u043d\u044b\u0435 GPS, \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0431\u044b \u043d\u0430\u0439\u0442\u0438 \u043e\u0442\u0432\u0435\u0442 \u043d\u0430 \u0432\u043e\u043f\u0440\u043e\u0441 \u043e \u0442\u043e\u043c, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0441\u0443\u0434\u044c\u0431\u043e\u043d\u043e\u0441\u043d\u043e \u043f\u0435\u0440\u0435\u0441\u0435\u043a\u0430\u043b\u0438\u0441\u044c \u043d\u0430\u0448\u0438 \u0434\u043e\u0440\u043e\u0436\u043a\u0438 \u0434\u043e \u0432\u0441\u0442\u0440\u0435\u0447\u0438. \u041d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0431\u043b\u0438\u0437\u043a\u043e \u043c\u044b \u0431\u044b\u043b\u0438 \u043a \u0442\u043e\u043c\u0443, \u0447\u0442\u043e\u0431\u044b \u0432\u043e\u0441\u043f\u0440\u043e\u0438\u0437\u0432\u0435\u0441\u0442\u0438 \u0440\u043e\u043c\u0430\u043d\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0441\u0446\u0435\u043d\u0443 \u00ab\u0441\u0440\u0435\u0434\u0438 \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u0432 \u043b\u044e\u0434\u0435\u0439 \u043e\u043d\u0438 \u043d\u0430\u0448\u043b\u0438 \u0433\u043b\u0430\u0437\u0430\u043c\u0438 \u0434\u0440\u0443\u0433 \u0434\u0440\u0443\u0433\u0430\u00bb?  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-387348","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/387348","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=387348"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/387348\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=387348"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=387348"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=387348"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}