Geolocalização com
Redis
e
Google Maps
Caixa Sobre
– Juntos estamos, finalmente, iniciando a ArrayOf.io –
Sua nova opção em treinamentos e assessoria.
https://ArrayOf.io
Introdução ao assunto
Mario Guedes
Geolocalização, o que é?
Qualquer ponto na superfície terrestre pode ser endereçado através de
uma rede de linhas imaginárias que fatiam o globo.
A geolocalização é composta por duas coordenadas geográficas:
• Latitude
• Longitude
Latitude
A latitude é determinada em graus, de 0º à 90º.
Da Linha do Equador ao norte, os números são positivos.
Da Linha do Equador ao sul, os números são negativos.
Os paralelos determinam as latitudes e os paralelos são círculos
completos em volta da Terra, por isso temos 180º ao todo.
Longitude
A longitude é determinada em graus, de 0º à 180º.
Do Meridiano de Greenwich à leste, os números são positivos
Do Meridiano de Greenwich à oeste, os números são negativos
Os meridianos determinam as longitudes, e os meridianos são semicírculos em
volta da Terra, por isso temos 360º ao todo.
Observe que essas linhas também são utilizadas para determinar os fusos
horários, mas isso é outra história.
Graus?
Graus, minutos e segundos para ser mais exato.
Graus de ângulo mesmo …
Os babilônios achavam que um ano tinha 360 dias, daí decidiram dividir um círculo em
360 partes, sendo cada parte um ângulo.
Cada ângulo equivale à 60 minutos, sendo minuto a subdivisão de um ângulo.
Por fim, cada minuto se subdivide em segundos.
Aqui minutos e segundos são medidas de distância e não de tempo!
Temos um plano cartesiano então?
A Linha do Equador é o Eixo X
O Meridiano de Greenwich é o Eixo Y
A intersecção das duas linhas é o ponto
ZERO
Mas isso não significa que a Terra é plana
hein?
Linha do Equador
Meridiano de
Greenwich
E a altitude?
É uma informação importante também!
Determina-se a altitude de um local em relação ao nível do mar.
Afinal, vivemos em uma enorme rocha imperfeita porém “esférica”.
Altitude Positiva
Altitude Negativa
Profundidade
Geohash
• Geohash é um sistema de geocodificação que utiliza uma sequência
de números e letras para representar coordenadas geográficas.
• Nosso encontro, por exemplo, pode ser representado da seguinte
maneira:
• Latitude : -23.5708384
• Longitude: -46.6576912
• Geohash : 6gycfm0cuvrb

• http://geohash.co
Sobre o GPS
Thiago Filadelfo
GPS - Global Positioning System
Sistema de Posicionamento Global
Foi criado na década de 60 como um projeto militar e atualmente é
administrado pelo Departamento de Defesa dos Estados Unidos
Utilizado em 1990 na Guerra do Golfo para orientar os soldados americanos
no deserto.
Plenamente operacional em 1995 e liberado para uso civil no ano 2000.
São 24 satélites que orbitam a Terra duas vezes por dia
Existem outras tecnologias como Glonass (Rússia), Compass (China) e
Galileo (Europa)
GPS
Para funcionar o receptor tem que receber
o sinal de 3 satélites no mínimo.
Uma maior quantidade aumenta a
precisão.
O receptor faz uns cálculos malucos com
as informações recebidas e com isso
consegue determinar a sua latitude e
longitude
Obtendo coordenadas
Satélite 1
Satélite 3
Satélite 2
Área de leitura do
satélite, triangulação
Coordenada informada
para os aplicativos
Precisão da coordenada
informada
Local do nosso encontro
Alameda Campinas, 1213 - Jardins, São Paulo -
SP, 01404-001
Latitude : -23.5708384
Longitude: -46.6576912
E como funciona tudo isto no seu celular?
O celular tem um bússola interna, certo?
Então ele consegue determinar em que direção fica o norte e com isso determinar
todas as outras.
O celular tem um receptor GPS, certo?
Então ele consegue determinar a sua localização física no planeta Terra
O celular tem acesso à Internet, certo?
Então ele consegue fazer download dos mapas, sincronizar todas as informações e
ser uma das ferramentas mais úteis do dia à dia do cidadão médio.
Backend – Redis e Delphi
Mario Guedes
E como funciona no Redis?
Você já sabe que o Redis é um banco noSQL orientado à chave e valor que
armazena seus dados em memória e que por causa de tudo isso é rápido
pra caramba!
Ele oferece tipos e comando específicos para lidar com geolocalização.
Internamente o Redis utiliza o geohash e o tipo conjunto para lidar com
geolocalização.
Comandos Redis
GEOADD: Adiciona uma informação geolocalizada à um conjunto
GEORADIOS: Recupera itens de um conjunto à partir de coordenadas
GEOPOS: Retorna as coordenadas de um determinado item
GEORADIOSBYMEMBER: Recupera itens de um conjunto à partir de um determinado
item deste conjunto
GEODIST: Recupera a distância entre dois membros de um conjunto
GEOHASH: Recupera o geohash de uma coordenada geográfica
https://redis.io/commands#geo
Código
Mário Guedes
Frontend – Delphi e Google Maps
Thiago Filadelfo
Mobile
Temos que criar uma conta para o nosso projeto no Google Cloud.
https://console.cloud.google.com/google/maps-apis
Google Cloud
Aguarde bem
essa chave
Delphi 10.3
Project
|--> Options
Credencial do
Google Cloud
Delphi 10.3 - PinMap
LocationSensor
Demonstração final
Exemplos desta palestra:
https://github.com/ArrayOf/EventoPassaporte2019
https://ArrayOf.io
Obrigado!
● https://youtu.be/0dvR9I9kK9g
● https://github.com/flrizzato/EmbarcaderoConference/blob/master/2017/
WHATSUP%20-%20Georreferenciamento%20com%20Delphi.pdf
● https://pt.wikipedia.org/wiki/Graus_decimais
● https://www.youtube.com/watch?v=w-fJsKfNsNI
● https://www.youtube.com/watch?v=onC9WxNNG1E
● https://www.infoescola.com/geografia/coordenadas-geograficas/
● http://docwiki.embarcadero.com/RADStudio/Rio/en/
Mobile_Tutorial:_Using_a_Map_Component_to_Work_with_Maps_(iOS_and_Androi
d)
● http://docwiki.embarcadero.com/RADStudio/Rio/en/
Mobile_Tutorial:_Using_Location_Sensors_(iOS_and_Android)#The_Location_Sensor
● http://www.99coders.com.br
Todas essas referências foram acessadas em: 27/09/2019

Geolocalização com Redis e Google Maps

  • 1.
  • 2.
    Caixa Sobre – Juntosestamos, finalmente, iniciando a ArrayOf.io – Sua nova opção em treinamentos e assessoria. https://ArrayOf.io
  • 3.
  • 4.
    Geolocalização, o queé? Qualquer ponto na superfície terrestre pode ser endereçado através de uma rede de linhas imaginárias que fatiam o globo. A geolocalização é composta por duas coordenadas geográficas: • Latitude • Longitude
  • 6.
    Latitude A latitude édeterminada em graus, de 0º à 90º. Da Linha do Equador ao norte, os números são positivos. Da Linha do Equador ao sul, os números são negativos. Os paralelos determinam as latitudes e os paralelos são círculos completos em volta da Terra, por isso temos 180º ao todo.
  • 7.
    Longitude A longitude édeterminada em graus, de 0º à 180º. Do Meridiano de Greenwich à leste, os números são positivos Do Meridiano de Greenwich à oeste, os números são negativos Os meridianos determinam as longitudes, e os meridianos são semicírculos em volta da Terra, por isso temos 360º ao todo. Observe que essas linhas também são utilizadas para determinar os fusos horários, mas isso é outra história.
  • 8.
    Graus? Graus, minutos esegundos para ser mais exato. Graus de ângulo mesmo … Os babilônios achavam que um ano tinha 360 dias, daí decidiram dividir um círculo em 360 partes, sendo cada parte um ângulo. Cada ângulo equivale à 60 minutos, sendo minuto a subdivisão de um ângulo. Por fim, cada minuto se subdivide em segundos. Aqui minutos e segundos são medidas de distância e não de tempo!
  • 9.
    Temos um planocartesiano então? A Linha do Equador é o Eixo X O Meridiano de Greenwich é o Eixo Y A intersecção das duas linhas é o ponto ZERO Mas isso não significa que a Terra é plana hein? Linha do Equador Meridiano de Greenwich
  • 10.
    E a altitude? Éuma informação importante também! Determina-se a altitude de um local em relação ao nível do mar. Afinal, vivemos em uma enorme rocha imperfeita porém “esférica”. Altitude Positiva Altitude Negativa Profundidade
  • 11.
    Geohash • Geohash éum sistema de geocodificação que utiliza uma sequência de números e letras para representar coordenadas geográficas. • Nosso encontro, por exemplo, pode ser representado da seguinte maneira: • Latitude : -23.5708384 • Longitude: -46.6576912 • Geohash : 6gycfm0cuvrb
 • http://geohash.co
  • 12.
  • 13.
    GPS - GlobalPositioning System Sistema de Posicionamento Global Foi criado na década de 60 como um projeto militar e atualmente é administrado pelo Departamento de Defesa dos Estados Unidos Utilizado em 1990 na Guerra do Golfo para orientar os soldados americanos no deserto. Plenamente operacional em 1995 e liberado para uso civil no ano 2000. São 24 satélites que orbitam a Terra duas vezes por dia Existem outras tecnologias como Glonass (Rússia), Compass (China) e Galileo (Europa)
  • 14.
    GPS Para funcionar oreceptor tem que receber o sinal de 3 satélites no mínimo. Uma maior quantidade aumenta a precisão. O receptor faz uns cálculos malucos com as informações recebidas e com isso consegue determinar a sua latitude e longitude
  • 15.
    Obtendo coordenadas Satélite 1 Satélite3 Satélite 2 Área de leitura do satélite, triangulação Coordenada informada para os aplicativos Precisão da coordenada informada
  • 16.
    Local do nossoencontro Alameda Campinas, 1213 - Jardins, São Paulo - SP, 01404-001 Latitude : -23.5708384 Longitude: -46.6576912
  • 17.
    E como funcionatudo isto no seu celular? O celular tem um bússola interna, certo? Então ele consegue determinar em que direção fica o norte e com isso determinar todas as outras. O celular tem um receptor GPS, certo? Então ele consegue determinar a sua localização física no planeta Terra O celular tem acesso à Internet, certo? Então ele consegue fazer download dos mapas, sincronizar todas as informações e ser uma das ferramentas mais úteis do dia à dia do cidadão médio.
  • 18.
    Backend – Redise Delphi Mario Guedes
  • 19.
    E como funcionano Redis? Você já sabe que o Redis é um banco noSQL orientado à chave e valor que armazena seus dados em memória e que por causa de tudo isso é rápido pra caramba! Ele oferece tipos e comando específicos para lidar com geolocalização. Internamente o Redis utiliza o geohash e o tipo conjunto para lidar com geolocalização.
  • 20.
    Comandos Redis GEOADD: Adicionauma informação geolocalizada à um conjunto GEORADIOS: Recupera itens de um conjunto à partir de coordenadas GEOPOS: Retorna as coordenadas de um determinado item GEORADIOSBYMEMBER: Recupera itens de um conjunto à partir de um determinado item deste conjunto GEODIST: Recupera a distância entre dois membros de um conjunto GEOHASH: Recupera o geohash de uma coordenada geográfica https://redis.io/commands#geo
  • 21.
  • 22.
    Frontend – Delphie Google Maps Thiago Filadelfo
  • 23.
    Mobile Temos que criaruma conta para o nosso projeto no Google Cloud. https://console.cloud.google.com/google/maps-apis
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
    Demonstração final Exemplos destapalestra: https://github.com/ArrayOf/EventoPassaporte2019 https://ArrayOf.io
  • 29.
    Obrigado! ● https://youtu.be/0dvR9I9kK9g ● https://github.com/flrizzato/EmbarcaderoConference/blob/master/2017/ WHATSUP%20-%20Georreferenciamento%20com%20Delphi.pdf ●https://pt.wikipedia.org/wiki/Graus_decimais ● https://www.youtube.com/watch?v=w-fJsKfNsNI ● https://www.youtube.com/watch?v=onC9WxNNG1E ● https://www.infoescola.com/geografia/coordenadas-geograficas/ ● http://docwiki.embarcadero.com/RADStudio/Rio/en/ Mobile_Tutorial:_Using_a_Map_Component_to_Work_with_Maps_(iOS_and_Androi d) ● http://docwiki.embarcadero.com/RADStudio/Rio/en/ Mobile_Tutorial:_Using_Location_Sensors_(iOS_and_Android)#The_Location_Sensor ● http://www.99coders.com.br Todas essas referências foram acessadas em: 27/09/2019