Layer-api-geopositioning-service

De Plataforma COA Crowd
Saltar a: navegación, buscar

Con este API podemos realizar estadísticas geoespaciales que permiten analizar datos geográficos. Los tipos comunes de objetos cuando trabajan con datos geoespaciales incluyen los siguientes:

- Una geometría representa un área de la superficie de la tierra a menudo, se describe mediante puntos, líneas, polígonos, o un conjunto de puntos, líneas y polígonos.
- Una colección de geometría es una geometría que representa la unión espacial de todas las formas de la colección.

Una característica espacial representa un objeto espacial lógico.

Con este API podemos realizar analisis de geometría con atributos adicionales que son específicos de la aplicacion el API trabaja con BigQuery a fin de representar atributos espaciales, crea una tabla con una columna GEOGRAPHY para la geometría y columnas adicionales para los atributos. Cada fila de la tabla es un atributo espacial, y toda la tabla representa una colección de características espaciales.

Dependencias

Este API esta pensado para recibir datos de la aplicacion movil, de igual forma se pueden obtener direcciones de las solicitudes, con un ENDPOINT realizamos GEOCODING y convertimos esas direcciones en latitud y longitud que son almacenadas y procesadas en bigquery

Máquina de estados

Este API se comunica con la maquina de estados para obtener los datos de una solicitud aprovada y despues con JMESPATH obtenemos las direcciones de las VERIDENTI BURO y SOLICITUD para despues realizar GEOCODING y obtener latitud y longitud

Bases de datos

Este API tiene una base de datos en BIGQUERY para una consulta de datos a transmisión en tiempo real y obtener información actualizada gracias al aprendizaje automático integrado, sin necesidad de transferir datos.

geopositioning_gis
Nombre Tipo Requerido
id_persona STRING REQUIRED
date TIMESTAMP REQUIRED
geopositioning GEOGRAPHY REQUIRED
event STRING REQUIRED
direccion STRING NULLABLE
created_at TIMESTAMP REQUIRED

Endpoints

- /api/add_geoposition: este endpoint nos permite agregar los datos de pocisionamiento(latitud, longitud) de un cliente y se manda llamar tal que asi:
{
  "id_persona":String,
  "locations":[
    {
      "date":Date,
      "latitude":double,
      "longitude":double,
      "event":String
    }
  ]
}
La respuesta esperada para este endpoint es un json tal que asi:
{
  "message":"send"
}
- /api/get_geoposition: este endpoint nos permite por medio de parametros de persona y tiempo regresar uno o mas registros previamente almacenados en la base:
{
  "id_persona":String,
  "min_date":Date,
  "max_date":Date
}
La respuesta esperada para este endpoint es un json tal que asi:
{
  "id_persona":String,
  "locations":[
    {
      "date":Date,
      "latitude":double,
      "longitude":double,
      "event":String
    }
  ]
}
- /api/get_geoposition/{id_solicitud}: este endpoint nos permite por medio del id de solicitud obtener los datos de direccion y posicionamiento de una persona:
La respuesta esperada para este endpoint es un json tal que asi:
{
  "id_persona":String,
  "locations":[
    {
      "date":Date,
      "latitude":double,
      "longitude":double,
      "direccion":String,
      "event":String
    }
  ]
}
- /api/add_geoposition/{id_solicitud}: este endpoint nos permite por medio del id de solicitud agregar los datos de direccion y posicionamiento de una persona a la base:
La respuesta esperada para este endpoint es un json tal que asi:
{
  "message":"send"
}

Elementos que lo consumen

- Aplicacion Movil: La aplicacion movil consume este servicio agregando registros de posicionamiento a la base de forma masiva, con el fin de conocer el alcance de la aplicacion, las regiones donde se consumen los productos, regiones de posibles clientes o regiones donde es mas probable un fraude.
- CROWD: En CROWD este microservicio se usa para hacer tareas de geometria espacial con el fin de inferir regiones de posibles clientes o regiones donde es mas probable un fraude.

Swagger

link de swagger de calidad | SWAGGER

Repositorio

link del repositorio | Cloud Source