﻿1
00:00:01,280 --> 00:00:03,110
‫Instrutor: Nesta aula,

2
00:00:03,110 --> 00:00:06,660
‫vamos aprender sobre consultas geoespaciais para implementar um

3
00:00:06,660 --> 00:00:09,147
‫recurso muito legal, que é fornecer

4
00:00:09,147 --> 00:00:12,750
‫uma funcionalidade de pesquisa para passeios dentro de uma

5
00:00:12,750 --> 00:00:15,313
‫certa distância de um ponto especificado.

6
00:00:17,060 --> 00:00:18,712
‫Digamos que você

7
00:00:18,712 --> 00:00:22,210
‫more em um determinado ponto e queira saber quais

8
00:00:22,210 --> 00:00:26,008
‫passeios começam a uma certa distância de você, como 250

9
00:00:26,008 --> 00:00:28,738
‫milhas, porque você não quer dirigir mais

10
00:00:28,738 --> 00:00:31,430
‫longe para iniciar sua experiência de passeio.

11
00:00:31,430 --> 00:00:33,470
‫Seria um recurso incrível e

12
00:00:33,470 --> 00:00:36,413
‫um caso de uso muito bom de consultas geoespaciais.

13
00:00:36,413 --> 00:00:39,804
‫E para implementar algo assim, aqui em

14
00:00:39,804 --> 00:00:43,597
‫nosso roteador turístico, poderíamos criar uma rota

15
00:00:43,597 --> 00:00:45,720
‫legal, algo assim.

16
00:00:45,720 --> 00:00:50,720
‫Vou colocá-lo aqui antes das rotas gerais

17
00:00:51,810 --> 00:00:52,643
‫aqui.

18
00:00:54,910 --> 00:00:59,910
‫Digamos que a rota de ponto do roteador

19
00:01:00,580 --> 00:01:05,503
‫seja chamada de tours internos, certo?

20
00:01:06,890 --> 00:01:09,663
‫Em seguida, também precisamos especificar a distância.

21
00:01:11,620 --> 00:01:14,503
‫Portanto, criamos um parâmetro de distância aqui.

22
00:01:15,607 --> 00:01:17,800
‫Em seguida, também precisamos especificar o

23
00:01:17,800 --> 00:01:20,810
‫centro, que é basicamente o ponto onde você mora.

24
00:01:20,810 --> 00:01:25,810
‫Então, vamos especificá-lo ao redor do centro e depois

25
00:01:27,300 --> 00:01:30,090
‫barra, latitude e longitude.

26
00:01:30,090 --> 00:01:31,967
‫Então, basicamente nesta variável aqui,

27
00:01:31,967 --> 00:01:34,870
‫você quer passar as coordenadas do lugar onde

28
00:01:34,870 --> 00:01:35,960
‫você está.

29
00:01:35,960 --> 00:01:37,960
‫Digamos que você more em Los

30
00:01:37,960 --> 00:01:40,760
‫Angeles e queira encontrar todos os passeios a uma

31
00:01:40,760 --> 00:01:42,390
‫distância de 300 milhas.

32
00:01:42,390 --> 00:01:44,520
‫Então aqui você diria

33
00:01:44,520 --> 00:01:46,710
‫300, e aqui você colocaria as

34
00:01:46,710 --> 00:01:49,570
‫coordenadas de basicamente onde você mora, certo?

35
00:01:49,570 --> 00:01:52,610
‫Então, vamos fornecer também a opção de especificar

36
00:01:52,610 --> 00:01:53,443
‫a unidade.

37
00:01:53,443 --> 00:01:57,910
‫Então, se essa distância aqui for em quilômetros ou milhas.

38
00:01:57,910 --> 00:02:01,046
‫Digamos, unidade de

39
00:02:01,046 --> 00:02:05,070
‫barra e a unidade como parâmetro.

40
00:02:05,070 --> 00:02:07,990
‫Agora, essa maneira de especificar um URL é algo

41
00:02:07,990 --> 00:02:09,364
‫que nunca fizemos antes.

42
00:02:09,364 --> 00:02:12,634
‫Então, basicamente, dizendo aqui centro e barra e

43
00:02:12,634 --> 00:02:15,521
‫colocando a longitude e latitude depois

44
00:02:15,521 --> 00:02:17,736
‫disso, e a unidade

45
00:02:17,736 --> 00:02:21,510
‫de barra e, depois disso, o parâmetro de consultas.

46
00:02:21,510 --> 00:02:22,832
‫E, claro, também

47
00:02:22,832 --> 00:02:25,192
‫podemos fazer com que o usuário

48
00:02:25,192 --> 00:02:28,303
‫especifique todas essas opções usando uma string de consulta,

49
00:02:28,303 --> 00:02:33,200
‫mas dessa forma parece muito mais limpo e também é uma forma padrão de

50
00:02:33,200 --> 00:02:35,554
‫especificar URLs que contêm muitos objetos.

51
00:02:35,554 --> 00:02:39,200
‫Então, o que eu estava dizendo é que, em vez disso,

52
00:02:39,200 --> 00:02:41,274
‫poderíamos fazer isso, é claro.

53
00:02:41,274 --> 00:02:46,274
‫Percorre a distância e então o usuário teria que fornecer

54
00:02:49,605 --> 00:02:51,823
‫a distância assim aqui.

55
00:02:53,620 --> 00:02:57,179
‫E o centro assim, digamos menos 40

56
00:02:57,179 --> 00:03:02,179
‫e 45, e então a unidade também define para milhas.

57
00:03:04,090 --> 00:03:07,121
‫Ok, então esta tem sido uma maneira de usar strings

58
00:03:07,121 --> 00:03:09,343
‫de consulta e já fizemos isso antes.

59
00:03:09,343 --> 00:03:14,100
‫E na verdade não assim, mas assim.

60
00:03:14,100 --> 00:03:16,740
‫Ok, mas em vez disso,

61
00:03:16,740 --> 00:03:19,063
‫vamos especificá-lo novamente assim.

62
00:03:20,990 --> 00:03:23,303
‫O que, na minha opinião, parece muito melhor.

63
00:03:26,040 --> 00:03:28,217
‫Então, menos 40, 45.

64
00:03:31,650 --> 00:03:33,905
‫Ok, então acho que isso aqui

65
00:03:33,905 --> 00:03:36,610
‫realmente parece muito mais limpo do que isso.

66
00:03:36,610 --> 00:03:39,290
‫Ok, e isso é outra coisa que

67
00:03:39,290 --> 00:03:41,249
‫eu queria mostrar a vocês

68
00:03:41,249 --> 00:03:45,750
‫que é uma espécie de padrão de especificação de URL assim, certo?

69
00:03:45,750 --> 00:03:46,971
‫De qualquer forma,

70
00:03:46,971 --> 00:03:49,753
‫para esta rota, é claro, precisamos de um

71
00:03:49,753 --> 00:03:52,100
‫manipulador de rota, que estará no

72
00:03:52,100 --> 00:03:57,100
‫controlador de tour, e vamos chamar essa função de manipulador para obter os tours.

73
00:03:59,530 --> 00:04:02,775
‫E então agora vamos implementar este

74
00:04:02,775 --> 00:04:04,513
‫método neste manipulador.

75
00:04:06,280 --> 00:04:10,660
‫Então, controlador de turnê e bem aqui.

76
00:04:17,970 --> 00:04:20,239
‫E vamos começar obtendo todos os parâmetros.

77
00:04:20,239 --> 00:04:24,253
‫Então, deixe-me copiar tudo isso aqui.

78
00:04:25,667 --> 00:04:28,833
‫E só para sabermos como são os nossos dados.

79
00:04:29,810 --> 00:04:30,643
‫Tudo bem?

80
00:04:32,570 --> 00:04:35,953
‫Então isso, e então isso tem um comentário.

81
00:04:42,550 --> 00:04:47,069
‫Tudo bem, então vamos usar uma reestruturação simples para obter todos

82
00:04:47,069 --> 00:04:51,186
‫os nossos dados de uma vez a partir dos parâmetros.

83
00:04:51,186 --> 00:04:54,477
‫E, na verdade,

84
00:04:54,477 --> 00:04:59,477
‫precisamos dizer const, distância e unidade.

85
00:05:01,650 --> 00:05:05,323
‫Então, tudo isso vem de parâmetros de ponto de solicitação.

86
00:05:08,402 --> 00:05:11,320
‫Ok, então por diante req. params, temos a distância do

87
00:05:11,320 --> 00:05:13,990
‫ponto, o centro do ponto e a unidade do ponto, certo?

88
00:05:13,990 --> 00:05:16,122
‫Porque esses são os nomes

89
00:05:16,122 --> 00:05:18,510
‫dos três parâmetros que especificamos aqui.

90
00:05:18,510 --> 00:05:19,950
‫E na verdade

91
00:05:19,950 --> 00:05:23,448
‫não é o centro, é latlng aqui, ok,

92
00:05:23,448 --> 00:05:27,440
‫então esse é o correto e, finalmente, a unidade.

93
00:05:27,440 --> 00:05:30,190
‫Então, novamente, usamos a reestruturação para obter todas essas

94
00:05:30,190 --> 00:05:31,703
‫variáveis de uma vez.

95
00:05:33,438 --> 00:05:35,880
‫A seguir, vamos realmente obter todas

96
00:05:35,880 --> 00:05:38,730
‫as coordenadas desta variável de latitude e longitude aqui.

97
00:05:38,730 --> 00:05:42,826
‫Como podemos ver, esperamos os dados no formato como este,

98
00:05:42,826 --> 00:05:45,930
‫e isso torna realmente fácil copiar esses dados

99
00:05:45,930 --> 00:05:47,610
‫do Google Maps.

100
00:05:47,610 --> 00:05:49,610
‫Então, deixe-me mostrar isso rapidamente para você.

101
00:05:50,573 --> 00:05:53,310
‫É importante que você entenda como esse tipo

102
00:05:53,310 --> 00:05:55,563
‫de coisa também funciona na prática.

103
00:05:59,380 --> 00:06:03,323
‫Portanto, vamos usar o exemplo de Los Angeles aqui.

104
00:06:07,430 --> 00:06:10,593
‫Ok, digamos que você more em algum lugar aqui.

105
00:06:12,720 --> 00:06:17,350
‫Ok, então você pode facilmente obter a latitude e

106
00:06:17,350 --> 00:06:20,124
‫a longitude assim, ok?

107
00:06:20,124 --> 00:06:24,523
‫Então, coloque isso aqui, apenas como um exemplo novamente.

108
00:06:26,140 --> 00:06:27,840
‫E então este é o formato.

109
00:06:27,840 --> 00:06:30,483
‫Parece latitude e longitude.

110
00:06:32,610 --> 00:06:36,263
‫E agora vamos criar uma variável para cada um deles.

111
00:06:37,755 --> 00:06:39,170
‫Portanto, um para latitude e outro para longitude.

112
00:06:39,170 --> 00:06:44,170
‫Então, o ponto de latitude e longitude se divide porque é

113
00:06:45,074 --> 00:06:48,940
‫uma string e queremos separá-lo por vírgula.

114
00:06:48,940 --> 00:06:51,577
‫E isso criará um array de

115
00:06:51,577 --> 00:06:55,180
‫dois elementos, e agora podemos usar novamente a destruição para

116
00:06:55,180 --> 00:06:58,193
‫salvá-los nas duas variáveis nas quais estamos interessados.

117
00:07:01,910 --> 00:07:05,073
‫Então, latitude e longitude.

118
00:07:12,110 --> 00:07:15,200
‫Ok, em seguida, quero testar se realmente temos as

119
00:07:15,200 --> 00:07:17,810
‫variáveis de longitude e latitude para encontrar.

120
00:07:17,810 --> 00:07:20,940
‫Porque senão, isso significa que o usuário não

121
00:07:20,940 --> 00:07:23,040
‫os especificou no formato exigido.

122
00:07:23,040 --> 00:07:25,270
‫Então, digamos que se

123
00:07:25,270 --> 00:07:30,270
‫não houver latitude ou longitude, queremos criar um novo erro.

124
00:07:32,610 --> 00:07:37,610
‫Como sempre, erro de novo aplicativo, e não tenho certeza se ainda

125
00:07:39,520 --> 00:07:42,590
‫o temos, bem aqui, e na verdade

126
00:07:42,590 --> 00:07:43,825
‫não temos.

127
00:07:43,825 --> 00:07:47,270
‫Portanto, comentamos esta parte porque não precisamos mais do erro do

128
00:07:47,270 --> 00:07:50,240
‫aplicativo depois de criar nossas funções de fábrica do

129
00:07:50,240 --> 00:07:53,610
‫manipulador, mas agora, na verdade, precisamos dele novamente e, portanto, vamos

130
00:07:53,610 --> 00:07:55,003
‫trazê-lo de volta.

131
00:07:58,476 --> 00:08:00,876
‫E a mensagem aqui

132
00:08:06,510 --> 00:08:11,303
‫vai ser, por favor, forneça, no formato, assim.

133
00:08:12,400 --> 00:08:15,463
‫E o código de erro 400 para essa solicitação.

134
00:08:17,230 --> 00:08:21,657
‫Ótimo, e agora apenas para ver se tudo isso

135
00:08:21,657 --> 00:08:23,220
‫está funcionando

136
00:08:23,220 --> 00:08:27,490
‫corretamente, vamos apenas fazer o logout disso no console.

137
00:08:27,490 --> 00:08:32,490
‫A distância dessa longitude e unidade.

138
00:08:36,050 --> 00:08:39,113
‫E vamos também enviar uma mensagem genérica aqui,

139
00:08:40,910 --> 00:08:44,273
‫apenas para realmente finalizar o ciclo de solicitação de resposta.

140
00:08:45,240 --> 00:08:48,253
‫E por isso é claro é o mesmo de sempre.

141
00:08:52,368 --> 00:08:54,950
‫Portanto, status de sucesso por agora, e é claro que

142
00:08:54,950 --> 00:08:57,523
‫mais tarde enviaremos os dados que a consulta retorna.

143
00:08:59,930 --> 00:09:01,823
‫Então, na verdade, vamos copiar isso aqui.

144
00:09:03,360 --> 00:09:05,610
‫Porque isso já é o que a gente quer.

145
00:09:08,080 --> 00:09:13,060
‫Então, de volta ao Postman, vamos encerrar tudo isso.

146
00:09:13,060 --> 00:09:14,563
‫Este nós não precisamos mais.

147
00:09:18,720 --> 00:09:21,620
‫Tudo bem, também não precisamos estar logados e

148
00:09:21,620 --> 00:09:23,883
‫também não queremos nenhuma atualização.

149
00:09:26,952 --> 00:09:30,800
‫De qualquer forma, também precisamos pegar esta parte que

150
00:09:30,800 --> 00:09:33,379
‫estou com preguiça de escrever.

151
00:09:33,379 --> 00:09:38,379
‫E então vamos testar isso agora.

152
00:09:39,800 --> 00:09:41,410
‫E isso não funcionou,

153
00:09:41,410 --> 00:09:45,033
‫e acho que esse aqui chamamos de tours, na verdade.

154
00:09:46,035 --> 00:09:46,868
‫Nós?

155
00:09:47,830 --> 00:09:49,640
‫Então, passeios dentro.

156
00:09:49,640 --> 00:09:53,065
‫Então, não sei por que escrevi

157
00:09:53,065 --> 00:09:58,065
‫distância aqui, vamos corrigir isso rapidamente aqui em nossos exemplos.

158
00:10:00,800 --> 00:10:03,513
‫E é claro que são passeios internos.

159
00:10:06,120 --> 00:10:10,057
‫E isso ainda não está funcionando, então vamos dar uma olhada

160
00:10:10,057 --> 00:10:12,007
‫e rotear a implementação aqui.

161
00:10:15,510 --> 00:10:17,993
‫Então aqui temos isso, e sim,

162
00:10:17,993 --> 00:10:21,156
‫claro, isso não é correto de forma alguma.

163
00:10:21,156 --> 00:10:26,156
‫Portanto, este aqui não deve estar dentro da rota de pontos, obviamente.

164
00:10:26,450 --> 00:10:29,363
‫Mas, em vez disso, deve estar no método get.

165
00:10:34,030 --> 00:10:36,820
‫E agora isso se parece muito mais com o

166
00:10:36,820 --> 00:10:37,860
‫que temos aqui.

167
00:10:37,860 --> 00:10:40,163
‫Então, rota de ponto e, em seguida, ponto obtenha.

168
00:10:42,910 --> 00:10:45,963
‫Então, uma tentativa a menos e desta vez funcionou.

169
00:10:46,800 --> 00:10:49,200
‫E vamos dar uma olhada

170
00:10:49,200 --> 00:10:51,634
‫no console e, de fato, aqui temos

171
00:10:51,634 --> 00:10:56,450
‫a distância que é especificada a latitude e longitude, e a unidade.

172
00:10:56,450 --> 00:10:58,690
‫Ótimo, agora é hora de

173
00:10:58,690 --> 00:11:00,673
‫realmente escrever a consulta.

174
00:11:01,610 --> 00:11:04,112
‫Agora, uma consulta geoespacial realmente funciona

175
00:11:04,112 --> 00:11:06,830
‫de forma bastante semelhante a uma consulta regular.

176
00:11:06,830 --> 00:11:10,677
‫Então, ainda vamos escrever turnês é igual a turnê. encontrar, e

177
00:11:17,400 --> 00:11:21,833
‫claro, aguardando o resultado desta promessa.

178
00:11:24,720 --> 00:11:28,120
‫E então o velho jogo de marcar tudo

179
00:11:28,120 --> 00:11:33,120
‫como assíncrono e então pegar o assíncrono e embrulhar nossa função

180
00:11:34,890 --> 00:11:35,723
‫lá.

181
00:11:37,910 --> 00:11:40,280
‫Portanto, temos todos os passeios

182
00:11:40,280 --> 00:11:44,266
‫não usados aqui, então vamos prosseguir e editar o

183
00:11:44,266 --> 00:11:46,240
‫objeto de resposta imediatamente.

184
00:11:46,240 --> 00:11:51,120
‫Portanto, dados, e agora lembre-se de como os chamamos de dados.

185
00:11:52,610 --> 00:11:54,803
‫E então passeios.

186
00:11:58,970 --> 00:12:01,293
‫Ok, e tudo o que precisamos fazer é

187
00:12:01,293 --> 00:12:03,193
‫especificar ou filtrar o objeto aqui.

188
00:12:04,660 --> 00:12:06,770
‫Portanto, lembre-se de que queremos

189
00:12:06,770 --> 00:12:09,010
‫basicamente consultar o local de início,

190
00:12:09,010 --> 00:12:11,316
‫porque o campo do local de início

191
00:12:11,316 --> 00:12:15,240
‫é o que mantém o ponto geoespacial onde cada passeio começa.

192
00:12:15,240 --> 00:12:17,683
‫E é exatamente isso que estamos procurando.

193
00:12:18,890 --> 00:12:23,023
‫Portanto, comece a localização e agora precisamos especificar

194
00:12:23,023 --> 00:12:25,900
‫o valor que estamos procurando.

195
00:12:25,900 --> 00:12:28,389
‫E, para isso, agora usaremos um operador

196
00:12:28,389 --> 00:12:30,203
‫geoespacial chamado geo within.

197
00:12:31,920 --> 00:12:34,120
‫Como sempre, precisamos especificar

198
00:12:34,120 --> 00:12:36,900
‫o assunto e, então, aqui, onde

199
00:12:36,900 --> 00:12:39,860
‫usaríamos anteriormente como algum operador matemático como

200
00:12:39,860 --> 00:12:44,163
‫maior que, desta vez usamos um operador geoespacial como este.

201
00:12:45,640 --> 00:12:49,950
‫Geo dentro, e esse operador faz exatamente o que diz.

202
00:12:49,950 --> 00:12:53,740
‫Basicamente, ele encontra documentos dentro de uma determinada geometria.

203
00:12:53,740 --> 00:12:58,040
‫E essa geometria é o que precisamos definir como a próxima etapa.

204
00:12:58,040 --> 00:12:59,600
‫Queremos encontrar

205
00:12:59,600 --> 00:13:03,440
‫documentos, mas onde realmente queremos encontrar esses documentos?

206
00:13:03,440 --> 00:13:06,792
‫Bem, queremos encontrá-los dentro de uma esfera

207
00:13:06,792 --> 00:13:09,780
‫que começa neste ponto que definimos,

208
00:13:09,780 --> 00:13:13,680
‫e que tem um raio da distância que definimos.

209
00:13:13,680 --> 00:13:16,023
‫Então, novamente com nosso exemplo em Los

210
00:13:17,029 --> 00:13:18,646
‫Angeles, se você especificar

211
00:13:18,646 --> 00:13:21,660
‫a distância de 250 milhas, isso significa que você deseja

212
00:13:21,660 --> 00:13:26,150
‫encontrar todos os documentos turísticos dentro de uma esfera com um raio de 250 milhas.

213
00:13:26,150 --> 00:13:28,190
‫Ok, faz sentido?

214
00:13:28,190 --> 00:13:30,313
‫E agora precisamos passar

215
00:13:30,313 --> 00:13:33,810
‫as informações aqui para o operador geo dentro, certo?

216
00:13:33,810 --> 00:13:36,563
‫E fazemos isso definindo uma esfera central.

217
00:13:40,160 --> 00:13:42,793
‫Ok, e novamente, eu sei que isso parece

218
00:13:42,793 --> 00:13:47,380
‫um tanto confuso, mas é por isso que estou explicando aqui passo a passo.

219
00:13:47,380 --> 00:13:49,150
‫E também em um segundo,

220
00:13:49,150 --> 00:13:51,080
‫vamos dar uma olhada na documentação.

221
00:13:51,080 --> 00:13:53,307
‫Portanto, o operador da esfera

222
00:13:53,307 --> 00:13:56,900
‫central obtém uma matriz das coordenadas e do raio.

223
00:13:56,900 --> 00:13:59,501
‫E vamos formatar o código aqui

224
00:13:59,501 --> 00:14:02,770
‫para, pelo menos, torná-lo um pouco mais fácil, certo?

225
00:14:02,770 --> 00:14:05,558
‫Bem, parece o mesmo, mas de qualquer maneira, é

226
00:14:05,558 --> 00:14:08,020
‫assim que você encontra as coordenadas aqui.

227
00:14:08,020 --> 00:14:10,900
‫E, para isso, precisamos de outro

228
00:14:10,900 --> 00:14:14,890
‫array e, em seguida, a longitude e a latitude.

229
00:14:14,890 --> 00:14:15,723
‫E isso mesmo.

230
00:14:15,723 --> 00:14:17,984
‫Primeiro, você precisa sempre definir

231
00:14:17,984 --> 00:14:21,040
‫a longitude e depois a latitude, o que é

232
00:14:21,040 --> 00:14:24,366
‫um pouco contra-intuitivo porque geralmente os pares de coordenadas são

233
00:14:24,366 --> 00:14:27,760
‫sempre especificados com a latitude primeiro e a longitude primeiro.

234
00:14:27,760 --> 00:14:30,298
‫Acho que já mencionei isso

235
00:14:30,298 --> 00:14:33,590
‫em geo adjacente, por algum motivo funciona assim.

236
00:14:33,590 --> 00:14:35,430
‫Então esse é o centro da esfera.

237
00:14:35,430 --> 00:14:36,263
‫Agora precisamos especificar seu raio.

238
00:14:36,263 --> 00:14:41,130
‫Agora, aqui, na verdade, não passamos à distância, mas em

239
00:14:41,130 --> 00:14:45,100
‫vez disso, espera-se um raio em uma unidade

240
00:14:45,100 --> 00:14:46,600
‫especial chamada radianos.

241
00:14:46,600 --> 00:14:48,780
‫Deixe-me colocar a variável radius

242
00:14:48,780 --> 00:14:51,633
‫aqui e, em um segundo, vamos defini-la.

243
00:14:56,190 --> 00:15:00,820
‫Então, vamos agora definir o raio.

244
00:15:00,820 --> 00:15:03,780
‫Então, novamente, o raio é basicamente a

245
00:15:03,780 --> 00:15:06,000
‫distância que queremos ter como

246
00:15:06,000 --> 00:15:09,500
‫raio, mas convertida em uma unidade especial chamada radianos.

247
00:15:09,500 --> 00:15:11,441
‫E para obter os

248
00:15:11,441 --> 00:15:14,217
‫radianos, precisamos dividir nossa distância pelo

249
00:15:14,217 --> 00:15:15,940
‫raio da Terra.

250
00:15:15,940 --> 00:15:20,340
‫Parece um pouco louco, mas realmente é assim que funciona.

251
00:15:20,340 --> 00:15:23,532
‫Ok, agora precisamos levar em consideração

252
00:15:23,532 --> 00:15:27,313
‫nossas unidades aqui, porque é claro que o raio

253
00:15:27,313 --> 00:15:31,180
‫da Terra é diferente em milhas e em quilômetros.

254
00:15:31,180 --> 00:15:33,756
‫Então, vamos agora fazer um turnery

255
00:15:33,756 --> 00:15:38,756
‫de maior aqui e dizer que se a unidade for igual a milhas,

256
00:15:40,074 --> 00:15:43,453
‫então o resultado aqui deve ser a distância.

257
00:15:44,510 --> 00:15:49,290
‫Então, basicamente nosso raio original dividido por 3963. 2

258
00:15:52,930 --> 00:15:55,383
‫Ok, então novamente, esse é o raio da Terra em milhas.

259
00:15:55,383 --> 00:15:59,217
‫Ok, caso contrário, vamos assumir que

260
00:15:59,217 --> 00:16:01,663
‫é um quilômetro.

261
00:16:01,663 --> 00:16:05,941
‫E se for quilômetros, então é a distância

262
00:16:05,941 --> 00:16:10,157
‫dividida por 6.378. 1 quilômetro.

263
00:16:14,210 --> 00:16:19,210
‫Tudo bem, então novamente, este tipo de conversão maluca aqui é necessária

264
00:16:19,900 --> 00:16:21,819
‫porque normalmente seria esperado

265
00:16:21,819 --> 00:16:26,117
‫que o raio de nossa esfera fosse em radianos.

266
00:16:26,117 --> 00:16:28,292
‫E os radianos obtemos dividindo

267
00:16:28,292 --> 00:16:30,593
‫a distância pelo raio da Terra.

268
00:16:31,450 --> 00:16:34,173
‫Ótimo, então estamos quase prontos para testar isso agora.

269
00:16:34,173 --> 00:16:39,173
‫Vamos apenas adicionar a propriedade results que costumávamos ter.

270
00:16:43,530 --> 00:16:46,060
‫Basicamente, com o número de resultados,

271
00:16:46,060 --> 00:16:48,057
‫e outra coisa

272
00:16:48,057 --> 00:16:50,918
‫muito importante é que, na verdade,

273
00:16:50,918 --> 00:16:54,845
‫para sermos capazes de fazer apenas consultas básicas, precisamos

274
00:16:54,845 --> 00:16:57,664
‫primeiro atribuir um índice ao campo

275
00:16:57,664 --> 00:17:01,440
‫onde os dados geoespaciais que procuramos estão armazenado.

276
00:17:01,440 --> 00:17:05,700
‫Portanto, neste caso, precisamos adicionar um índice para o local de início.

277
00:17:05,700 --> 00:17:08,503
‫Então, vamos fazer isso aqui no modelo de passeio.

278
00:17:10,310 --> 00:17:14,820
‫Então, aqui embaixo, precisamos de outro índice.

279
00:17:14,820 --> 00:17:17,853
‫Esquema de tour. índice.

280
00:17:19,185 --> 00:17:24,185
‫Local de início, mas agora não vamos defini-lo como um ou

281
00:17:26,070 --> 00:17:28,530
‫menos um, porque desta vez é

282
00:17:28,530 --> 00:17:30,750
‫um índice diferente de

283
00:17:30,750 --> 00:17:31,940
‫que precisamos.

284
00:17:31,940 --> 00:17:35,045
‫Portanto, para dados geoespaciais, este índice precisa ser

285
00:17:35,045 --> 00:17:39,160
‫um índice de esfera 2D se os dados descreverem pontos reais

286
00:17:39,160 --> 00:17:41,314
‫na esfera como a Terra.

287
00:17:41,314 --> 00:17:45,276
‫Ou, em vez disso, também podemos usar um índice

288
00:17:45,276 --> 00:17:49,660
‫2D se estivermos usando apenas pontos fictícios em um plano bidimensional simples.

289
00:17:49,660 --> 00:17:52,210
‫Agora, neste caso, é claro, estamos

290
00:17:52,210 --> 00:17:54,411
‫falando sobre pontos reais na

291
00:17:54,411 --> 00:17:58,805
‫superfície da Terra, então vamos usar um índice de esfera 2D aqui.

292
00:17:58,805 --> 00:18:03,805
‫Então, uma esfera 2D como esta.

293
00:18:04,000 --> 00:18:07,253
‫Ok, então estamos basicamente dizendo que este

294
00:18:07,253 --> 00:18:12,090
‫local de início aqui deve ser indexado em uma esfera 2D.

295
00:18:12,090 --> 00:18:16,510
‫Portanto, uma esfera semelhante à da Terra onde todos os nossos dados estão localizados.

296
00:18:16,510 --> 00:18:18,906
‫Ótimo, e com isso, agora

297
00:18:18,906 --> 00:18:22,283
‫devemos estar prontos para testar nossa nova rota.

298
00:18:23,520 --> 00:18:26,839
‫Ok, vamos apenas aumentar este raio aqui

299
00:18:26,839 --> 00:18:31,839
‫um pouco mais de 400 milhas, e então vamos ver o que temos.

300
00:18:32,260 --> 00:18:34,609
‫Bem, recebemos este erro de aparência

301
00:18:34,609 --> 00:18:37,282
‫estranha e não tenho certeza do que é.

302
00:18:37,282 --> 00:18:40,290
‫E então, vamos dar uma olhada.

303
00:18:40,290 --> 00:18:43,330
‫E provavelmente há algo errado aqui com o raio,

304
00:18:43,330 --> 00:18:46,810
‫mas na verdade este é um ótimo momento para testar nosso depurador.

305
00:18:46,810 --> 00:18:49,130
‫Então, eu mostrei isso a você há muito

306
00:18:49,130 --> 00:18:51,700
‫tempo, mas este é um bom caso de uso para

307
00:18:51,700 --> 00:18:53,743
‫realmente dar uma olhada no depurador novamente.

308
00:18:54,950 --> 00:18:57,620
‫Então, acho que temos um script NPM para isso,

309
00:18:57,620 --> 00:18:59,140
‫é chamado de depuração.

310
00:18:59,140 --> 00:19:04,140
‫Portanto, precisamos conhecer esse processo e, em seguida, dizer NPM run debug.

311
00:19:07,460 --> 00:19:08,293
‫OK?

312
00:19:09,570 --> 00:19:12,818
‫Isso deve abrir esta bela janela.

313
00:19:12,818 --> 00:19:17,233
‫E vamos fechar todos esses arquivos aqui.

314
00:19:18,560 --> 00:19:21,898
‫Ok, então estamos em nossos controladores.

315
00:19:21,898 --> 00:19:23,673
‫Controlador de tour.

316
00:19:24,680 --> 00:19:29,590
‫E agora, vamos definir um ponto de interrupção bem aqui.

317
00:19:29,590 --> 00:19:31,940
‫Ok, porque neste ponto, teremos todas as

318
00:19:31,940 --> 00:19:33,998
‫nossas variáveis definidas, e então

319
00:19:33,998 --> 00:19:38,480
‫podemos dar uma olhada em seus valores para ver o que está acontecendo.

320
00:19:38,480 --> 00:19:40,877
‫Claro que poderíamos fazer isso com

321
00:19:40,877 --> 00:19:43,343
‫um console simples. log, mas em

322
00:19:43,343 --> 00:19:45,544
‫algumas situações em que há muitas

323
00:19:45,544 --> 00:19:48,399
‫coisas acontecendo e também é bom usar o depurador.

324
00:19:48,399 --> 00:19:50,777
‫Portanto, precisamos enviar nosso pedido.

325
00:19:50,777 --> 00:19:54,750
‫E agora estamos no depurador em nosso ponto de interrupção.

326
00:19:54,750 --> 00:19:56,240
‫E então, neste

327
00:19:56,240 --> 00:19:58,280
‫momento, nosso código realmente parou.

328
00:19:58,280 --> 00:20:00,187
‫E podemos ver aqui que,

329
00:20:00,187 --> 00:20:02,953
‫na verdade, todas as nossas variáveis parecem estar definidas.

330
00:20:04,130 --> 00:20:07,280
‫Vamos dar uma olhada nisso aqui no local.

331
00:20:07,280 --> 00:20:09,153
‫Então temos a distância,

332
00:20:09,153 --> 00:20:13,360
‫temos a latitude, a longitude e também o raio.

333
00:20:13,360 --> 00:20:14,916
‫Então, vamos continuar aqui.

334
00:20:14,916 --> 00:20:16,493
‫Então pulamos para a

335
00:20:16,493 --> 00:20:21,493
‫direita para a próxima linha porque este if aqui não entrava no bloco if.

336
00:20:24,350 --> 00:20:27,400
‫E agora está executando todas essas funções.

337
00:20:27,400 --> 00:20:29,600
‫Mas vamos sair deles

338
00:20:29,600 --> 00:20:32,680
‫na verdade, e agora teremos tours indefinidos.

339
00:20:32,680 --> 00:20:36,010
‫Portanto, se continuarmos com

340
00:20:36,010 --> 00:20:40,690
‫isso, provavelmente obteremos o mesmo erro novamente, certo?

341
00:20:40,690 --> 00:20:43,160
‫E, de fato, nós fazemos.

342
00:20:43,160 --> 00:20:46,043
‫Portanto, deve ser algo aqui

343
00:20:46,043 --> 00:20:50,894
‫nesta linha, digamos, e de fato, acho que encontrei o erro.

344
00:20:50,894 --> 00:20:53,820
‫Então é assim que você escreve esfera.

345
00:20:53,820 --> 00:20:57,096
‫Então a esfera é mais assim, certo?

346
00:20:57,096 --> 00:21:01,963
‫Portanto, espero e acredito que realmente tenha sido esse o erro.

347
00:21:04,100 --> 00:21:07,390
‫Então, vamos realmente fechar o depurador aqui,

348
00:21:07,390 --> 00:21:10,718
‫e vamos aliviar, e realmente isso deve atualizar

349
00:21:10,718 --> 00:21:12,593
‫meu código aqui.

350
00:21:13,690 --> 00:21:15,913
‫Vamos ver, e realmente não aconteceu.

351
00:21:17,180 --> 00:21:21,980
‫Não tenho certeza do porquê, mas tudo bem.

352
00:21:21,980 --> 00:21:23,373
‫Vamos executar isso aqui novamente.

353
00:21:24,230 --> 00:21:27,350
‫Não este comando, ok de

354
00:21:27,350 --> 00:21:30,623
‫qualquer maneira, vamos apenas iniciar o NPM.

355
00:21:34,210 --> 00:21:35,463
‫Feche tudo isso.

356
00:21:36,970 --> 00:21:38,293
‫E agora tente novamente.

357
00:21:40,500 --> 00:21:44,080
‫Ah, e agora temos alguns resultados reais aqui, ótimo.

358
00:21:44,080 --> 00:21:47,800
‫Isso me diz que esses passeios aqui estão

359
00:21:47,800 --> 00:21:51,170
‫naquela distância de 400 milhas especificada.

360
00:21:51,170 --> 00:21:54,550
‫Mas como podemos saber realmente que é verdade?

361
00:21:54,550 --> 00:21:57,827
‫Bem, na verdade podemos usar uma bússola para isso.

362
00:21:57,827 --> 00:22:01,784
‫Então, se abrirmos a bússola aqui, temos algo muito

363
00:22:01,784 --> 00:22:04,090
‫bom que é esse esquema.

364
00:22:04,090 --> 00:22:06,660
‫Então vamos fazer isso aqui nos tours.

365
00:22:06,660 --> 00:22:09,818
‫E agora podemos chegar ao esquema aqui e, em

366
00:22:09,818 --> 00:22:11,773
‫seguida, analisar esse esquema.

367
00:22:12,830 --> 00:22:15,456
‫Portanto, analise o esquema e, agora, temos um

368
00:22:15,456 --> 00:22:17,893
‫bom resumo de todos os nossos campos.

369
00:22:19,648 --> 00:22:20,893
‫Por exemplo,

370
00:22:20,893 --> 00:22:23,477
‫você vê que a dificuldade é

371
00:22:23,477 --> 00:22:28,477
‫fácil em 50% dos documentos, média em 30% e difícil em 20%.

372
00:22:28,480 --> 00:22:29,990
‫Você também vê essas durações.

373
00:22:29,990 --> 00:22:34,880
‫Portanto, em 20% são cinco e nove também é mais popular do

374
00:22:34,880 --> 00:22:36,643
‫que as outras durações.

375
00:22:38,030 --> 00:22:41,491
‫Agora, o que realmente estou interessado aqui são os locais.

376
00:22:41,491 --> 00:22:46,283
‫Ou, na verdade, os locais de início, então isso está aqui.

377
00:22:47,400 --> 00:22:49,801
‫E agora, normalmente, você veria um mapa aqui.

378
00:22:49,801 --> 00:22:53,217
‫Mas agora, não há nenhum mapa porque temos

379
00:22:53,217 --> 00:22:56,816
‫um documento agora que não tem uma localização inicial.

380
00:22:56,816 --> 00:22:58,648
‫Portanto, para que

381
00:22:58,648 --> 00:23:02,616
‫isso funcione corretamente, precisamos nos livrar desse documento.

382
00:23:02,616 --> 00:23:05,046
‫Então, foi um desses documentos

383
00:23:05,046 --> 00:23:08,994
‫de teste que criamos, mas agora não precisamos mais.

384
00:23:08,994 --> 00:23:12,330
‫Deixe-me ver se aparece aqui.

385
00:23:12,330 --> 00:23:14,065
‫Talvez seja no final.

386
00:23:14,065 --> 00:23:16,452
‫Então, sim, é esta nova turnê de teste.

387
00:23:16,452 --> 00:23:19,681
‫Vamos nos livrar disso.

388
00:23:19,681 --> 00:23:23,310
‫De volta ao nosso esquema, vamos analisá-lo novamente.

389
00:23:23,310 --> 00:23:28,310
‫Ok, então aqui temos os aplicativos estrela.

390
00:23:31,650 --> 00:23:35,760
‫E aqui você já vê o mapa, isso é ótimo, certo?

391
00:23:35,760 --> 00:23:38,660
‫Esse é um recurso realmente útil.

392
00:23:38,660 --> 00:23:40,485
‫Portanto, devemos ter nove pontos aqui.

393
00:23:40,485 --> 00:23:44,880
‫Então, um, dois, três, quatro, cinco, seis, sete, oito, um

394
00:23:44,880 --> 00:23:47,240
‫aqui em cima, o nono.

395
00:23:47,240 --> 00:23:50,313
‫Portanto, provavelmente este é para ver a Aurora Boreal.

396
00:23:50,313 --> 00:23:51,940
‫Direito?

397
00:23:51,940 --> 00:23:54,880
‫E agora aqui podemos realmente replicar essa consulta

398
00:23:54,880 --> 00:23:56,583
‫usando esta interface gráfica.

399
00:23:57,780 --> 00:24:00,960
‫Então vamos para Los Angeles e aproximadamente

400
00:24:00,960 --> 00:24:03,210
‫ao ponto onde estávamos.

401
00:24:03,210 --> 00:24:05,920
‫Digamos aqui, estou diminuindo um pouco o

402
00:24:05,920 --> 00:24:07,840
‫zoom para dar mais

403
00:24:07,840 --> 00:24:11,120
‫espaço, mas agora podemos apertar Shift e arrastar.

404
00:24:11,120 --> 00:24:12,783
‫Assim como diz aqui embaixo.

405
00:24:13,810 --> 00:24:16,340
‫Então coloque a mão onde estava nosso ponto, basicamente

406
00:24:16,340 --> 00:24:18,727
‫em algum lugar aqui em Los Angeles.

407
00:24:18,727 --> 00:24:22,750
‫Agora mude e arraste, agora tudo bem.

408
00:24:22,750 --> 00:24:25,410
‫E então você pode ver que conforme

409
00:24:25,410 --> 00:24:28,132
‫começamos a aumentar esta esfera, vamos cada vez

410
00:24:28,132 --> 00:24:32,053
‫mais em direção a mais alguns desses pontos aqui ficando amarelos, certo?

411
00:24:32,053 --> 00:24:37,053
‫E eu acreditava que nosso raio era algo como 0. 1,

412
00:24:37,232 --> 00:24:42,232
‫ou algo assim, digamos.

413
00:24:42,320 --> 00:24:45,540
‫E então você vê que na verdade são

414
00:24:45,540 --> 00:24:48,740
‫três documentos, então três passeios dentro desta esfera

415
00:24:48,740 --> 00:24:51,010
‫que acabamos de criar, certo?

416
00:24:51,010 --> 00:24:54,380
‫Portanto, temos esta esfera com raio 0. 1, como você pode

417
00:24:54,380 --> 00:24:56,060
‫ver aqui.

418
00:24:56,060 --> 00:24:58,583
‫E então, de fato, essa consulta se parece

419
00:24:58,583 --> 00:25:02,260
‫com aquela que acabamos de preencher com o código em nossa função

420
00:25:02,260 --> 00:25:03,218
‫de controlador, certo?

421
00:25:03,218 --> 00:25:07,500
‫Obtemos esses três documentos que estão marcados como

422
00:25:07,500 --> 00:25:12,177
‫laranja, então vamos agora clicar em analisar novamente e

423
00:25:12,177 --> 00:25:15,853
‫agora nossa consulta retornou três documentos.

424
00:25:17,100 --> 00:25:19,920
‫Então, vamos ver os nomes na verdade.

425
00:25:19,920 --> 00:25:21,731
‫Onde fica isso?

426
00:25:21,731 --> 00:25:24,171
‫Para o amante de esportes, o degustador de

427
00:25:24,171 --> 00:25:26,130
‫vinhos e o campista do parque.

428
00:25:26,130 --> 00:25:28,670
‫E os três tours que obtivemos

429
00:25:28,670 --> 00:25:32,440
‫no Postman, como resultado da API, devem ser exatamente esses três.

430
00:25:32,440 --> 00:25:35,743
‫Portanto, o amante de esportes, degustador de vinhos e campista do parque.

431
00:25:39,440 --> 00:25:43,853
‫Então, campista do parque, o amante dos esportes, e o

432
00:25:45,806 --> 00:25:47,643
‫último a se

433
00:25:51,168 --> 00:25:54,420
‫lembrar deveria ser o provador de vinhos,

434
00:25:54,420 --> 00:25:56,450
‫e de fato é.

435
00:25:56,450 --> 00:25:58,467
‫Ótimo, isso é realmente fantástico.

436
00:25:58,467 --> 00:26:02,706
‫Agora vamos diminuir para 200, vamos ver

437
00:26:02,706 --> 00:26:06,214
‫quantos resultados você consegue, e na

438
00:26:06,214 --> 00:26:09,293
‫verdade é apenas um.

439
00:26:10,150 --> 00:26:12,635
‫Então, vamos voltar à bússola aqui.

440
00:26:12,635 --> 00:26:16,510
‫Vamos deletar essa consulta aqui.

441
00:26:16,510 --> 00:26:19,159
‫Portanto, se voltarmos a todos os nossos documentos,

442
00:26:19,159 --> 00:26:21,473
‫dê uma olhada em nosso mapa.

443
00:26:23,200 --> 00:26:28,150
‫E então aqui está LA, certo.

444
00:26:28,150 --> 00:26:30,803
‫É outro raio que deve ser algo como 0. 05

445
00:26:31,861 --> 00:26:34,970
‫Agora, algo assim, digamos, de

446
00:26:34,970 --> 00:26:38,125
‫fato, só temos um tour que acredito

447
00:26:38,125 --> 00:26:42,209
‫ser o degustador de vinhos ou algo assim.

448
00:26:42,209 --> 00:26:44,184
‫Sim, temos que analisar isso.

449
00:26:44,184 --> 00:26:49,184
‫Então, ah, na verdade é o amante dos esportes.

450
00:26:51,650 --> 00:26:54,233
‫E então vamos ver se é isso que temos aqui.

451
00:26:56,210 --> 00:26:57,800
‫E realmente é.

452
00:26:57,800 --> 00:27:00,211
‫Então, é o amante dos esportes,

453
00:27:00,211 --> 00:27:04,910
‫e esse é o único passeio que fica a 200 milhas de Los Angeles.

454
00:27:04,910 --> 00:27:06,000
‫Fantástico.

455
00:27:06,000 --> 00:27:09,883
‫Então isso eu acho muito, muito excitante, muito legal.

456
00:27:11,860 --> 00:27:14,036
‫Deixe-me mostrar outra coisa rapidamente,

457
00:27:14,036 --> 00:27:18,303
‫para que você também possa ver todas as nossas localizações no mapa.

458
00:27:19,200 --> 00:27:20,823
‫Então está aqui.

459
00:27:22,800 --> 00:27:25,818
‫E esses são os locais de

460
00:27:25,818 --> 00:27:30,280
‫todos os passeios, aqueles que estão armazenados no local.

461
00:27:30,280 --> 00:27:32,830
‫Portanto, temos as coordenadas e também os dias,

462
00:27:32,830 --> 00:27:35,293
‫as descrições e a hora, certo?

463
00:27:38,067 --> 00:27:41,266
‫E é claro que nossa consulta não é sobre tudo isso aqui.

464
00:27:41,266 --> 00:27:43,516
‫Para essa consulta, realmente nos preocupamos

465
00:27:43,516 --> 00:27:46,583
‫apenas com a localização das estrelas, mas eu ainda

466
00:27:46,583 --> 00:27:50,890
‫queria mostrar a vocês este mapa onde podemos ver todas as localizações também.

467
00:27:50,890 --> 00:27:54,251
‫Ok, então há realmente um grande potencial para usar

468
00:27:54,251 --> 00:27:56,770
‫dados geoespaciais com o MongoDB.

469
00:27:56,770 --> 00:27:59,870
‫As possibilidades são infinitas para fazer

470
00:27:59,870 --> 00:28:02,010
‫consultas geoespaciais como esta.

471
00:28:02,010 --> 00:28:03,735
‫Na verdade, gostaria de

472
00:28:03,735 --> 00:28:06,637
‫mostrar se temos mais alguns operadores geoespaciais no MongoDB.

473
00:28:06,637 --> 00:28:10,603
‫Então, vamos dar uma olhada na documentação aqui novamente.

474
00:28:11,931 --> 00:28:14,569
‫Então, vamos descer aqui novamente

475
00:28:14,569 --> 00:28:19,569
‫para a referência e os operadores, e os operadores de consulta.

476
00:28:21,970 --> 00:28:25,530
‫E eu acho que está em algum lugar aqui, sim.

477
00:28:25,530 --> 00:28:27,583
‫Então, aqui temos o operador geoespacial.

478
00:28:27,583 --> 00:28:31,020
‫E você vê que este é o que usamos,

479
00:28:31,020 --> 00:28:33,599
‫portanto, aquele que seleciona geometrias

480
00:28:33,599 --> 00:28:36,190
‫dentro de uma geometria adjacente geográfica delimitadora.

481
00:28:36,190 --> 00:28:39,220
‫Isso soa um pouco estranho, mas essa geometria

482
00:28:39,220 --> 00:28:42,546
‫adjacente geográfica delimitadora é aquela esfera que definimos

483
00:28:42,546 --> 00:28:44,570
‫em nosso código, certo?

484
00:28:44,570 --> 00:28:46,820
‫Agora também poderíamos ter usado o snear aqui,

485
00:28:46,820 --> 00:28:48,373
‫vamos dar uma olhada nisso.

486
00:28:49,560 --> 00:28:51,833
‫E então isso pareceria um pouco diferente.

487
00:28:51,833 --> 00:28:54,830
‫Nesse caso, teríamos de definir o ponto usando

488
00:28:54,830 --> 00:28:57,600
‫a longitude e a latitude que obtivemos,

489
00:28:57,600 --> 00:28:59,498
‫e então especificaríamos a distância

490
00:28:59,498 --> 00:29:01,223
‫máxima aqui em metros.

491
00:29:01,223 --> 00:29:03,342
‫E então, neste caso,

492
00:29:03,342 --> 00:29:06,164
‫não precisamos fazer a conversão para radianos.

493
00:29:06,164 --> 00:29:07,890
‫Ok, o que também é bom

494
00:29:07,890 --> 00:29:10,188
‫sobre este é que podemos especificar uma distância mínima.

495
00:29:10,188 --> 00:29:12,782
‫E assim, poderíamos, por exemplo, excluir passeios

496
00:29:12,782 --> 00:29:16,779
‫que estão a apenas 50 milhas de distância do nosso ponto

497
00:29:16,779 --> 00:29:18,040
‫de partida, certo?

498
00:29:18,040 --> 00:29:20,270
‫Portanto, se algum dia você

499
00:29:20,270 --> 00:29:23,993
‫precisar de algo assim, também poderá usar o novo operador aqui.

500
00:29:25,071 --> 00:29:26,503
‫Certo, ótimo.

501
00:29:27,916 --> 00:29:30,468
‫Portanto, com essa consulta geoespacial que

502
00:29:30,468 --> 00:29:33,600
‫acabamos de definir aqui, basicamente encontramos documentos localizados a

503
00:29:33,600 --> 00:29:36,401
‫uma certa distância do nosso ponto de partida.

504
00:29:36,401 --> 00:29:39,500
‫Mas e se realmente quiséssemos saber as

505
00:29:39,500 --> 00:29:43,600
‫distâncias exatas de todos os passeios até aquele ponto de partida?

506
00:29:43,600 --> 00:29:46,300
‫Bem, isso é exatamente o que vamos calcular

507
00:29:46,300 --> 00:29:47,683
‫na próxima aula.

