Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: rubcr en 6 Mayo 2020, 13:48 pm



Título: Select SQL
Publicado por: rubcr en 6 Mayo 2020, 13:48 pm
Buenos días a todos, tengo unas sentencias bastante complicadas para el nivel que tengo y necesito ayuda con ellas. He buscado en diferentes páginas y foros y no encuentro mucho la verdad.
Teniendo la siguiente tabla:

Tabla Antenas Telefónicas: id, provincia, ciudad, latitud, longitud.

1.Devolver la distancia de Manhattan entre dos puntos P1 y P2, siendo P1 el punto compuesto de la mayor latitud y la mayor longitud y el punto P2 compuesto por la menor latitud y la menor longitud. Redondea tu respuesta a 3 decimales. (En esta sé como obtener la mayor latitud y longitud y la menor latitud y longitud pero,  como lo uno para que se corresponda con el P1 y P2)

2.De manera análoga al punto anterior, calcula la distancia Euclídea entre ambos puntos.(Y en esta no se que significa exactamente lo que se pide)

Espero que alguien pueda ayudarme con ello, un saludo.


Título: Re: Select SQL
Publicado por: K-YreX en 8 Mayo 2020, 21:27 pm
1.Devolver la distancia de Manhattan entre dos puntos P1 y P2, siendo P1 el punto compuesto de la mayor latitud y la mayor longitud y el punto P2 compuesto por la menor latitud y la menor longitud. Redondea tu respuesta a 3 decimales. (En esta sé como obtener la mayor latitud y longitud y la menor latitud y longitud pero,  como lo uno para que se corresponda con el P1 y P2)
La distancia Manhattan (https://es.wikipedia.org/wiki/Geometr%C3%ADa_del_taxista) entre dos puntos P1(x1, y1) y P2(x2, y2) se calcula como: dM = |x1 - x2| + |y1 - y2|
Por lo tanto, el tema de los puntos es "simbólico". Tienes que hacer esa operación y redondearla a 3 decimales usando:
Código:
x1 = MAX(latitud)
y1 = MAX(longitud)
x2 = MIN(latitud)
y2 = MIN(longitud)

2.De manera análoga al punto anterior, calcula la distancia Euclídea entre ambos puntos.(Y en esta no se que significa exactamente lo que se pide)

Espero que alguien pueda ayudarme con ello, un saludo.
La distancia Euclídea (https://es.wikipedia.org/wiki/Distancia_euclidiana) entre dos puntos P1 y P2 como antes se calcula como: dE(P1, P2) = SQRT((x2 - x1)2 + (y2 - y1)2)
Igual que antes el tema de los puntos P1 y P2 es para que puedas plantear el ejercicio.

Ambos son ejercicios para que uses un par de funciones matemáticas: raíz cuadrada, potencia, max/min,...
Suerte. ;D