Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: zapytanie o odległość miedzy punktami
Forum PHP.pl > Forum > Bazy danych > MySQL
pshemek
Witam

Mam pytanie i szukam pomocy. Jestem laikiem który kiedyś liznął bazy danych i potrzebuje pomocy

Mam taką tabelę o nazwie: Dane_lod

Składa się ona z 5 kolumn:
Liczba_porzadkowa, imie, współrzedneX, współrzedneY, przelicznik

W tej tabeli znajdują się dane pewnych punktów na mapie, każdy punkt ma nazwę (imię) współrzędną x oraz y a także dane która określa przyspieszenie przemieszczania się z tego punktu. Tych punktów mam ok. 50 sztuk i teraz potrzebuje sformułować zapytanie lub zmodyfikować tabele tak by móc wyszukać wśród elementów tabelki 10 punktów które Są najbliżej siebie oraz żeby były one wyświetlane w kolejności od tego który znajduje się najbliżej. Odległość między punktami A(x1, y1) oraz B(x2,y2) wyraża się z twierdzenia pitagorasa c2 = a2+b2 tj: odległość= pierwiastek( kwadrat(x1-x2) + kwadrat (y1-y2) )

Tj. chodzi o to ze dla np. konkretnego punktu np. Ada o konkretnych współrzędnych np. (345,435) wyświetli mi sie 10 punktów które są najbliżej tj. ich nazwy oraz odległość do punktu Ada

Czy ktoś mógłby mi pomóc
z góry dziękuje
bpskiba
  1. SELECT Liczba_porzadkowa, imie,współrzedneX-współrzedneY
  2. FROM Dane_lod
  3. ORDER BY 3


od tego zacznij, a następnie zmień różnicę, na długość wektora. Powodzenia
sazian
w sumie nigdy tego nie używałem ale możesz spróbować użyć typu 'point'
  1. SELECT GLength(LineString(point(1,1),point(1,10)))


@bpskiba:
co ma niby dać x-y ? bo chyba nie ogarniam
bpskiba
Cytat(sazian @ 18.01.2014, 20:13:46 ) *
w sumie nigdy tego nie używałem ale możesz spróbować użyć typu 'point'
  1. SELECT GLength(LineString(point(1,1),point(1,10)))


@bpskiba:
co ma niby dać x-y ? bo chyba nie ogarniam


...sugeruje, że w klauzuli select można wykonywać działania matematyczne na danych i sortować tym wynikiem . Podpowiada kierunek, ale nie daje gotowej odpowiedzi. Wystarczy zamienić x-y na cyt.:"...pierwiastek( kwadrat(x1-x2) + kwadrat (y1-y2) )..."
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.