![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 530 Pomógł: 0 Dołączył: 15.01.2005 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Mam problem z zaprojektowaniem tabeli sql z miejscowościami i ich współrzędnymi. Mogę je zapisywać do bazy danych w dowolnym formacie, ale nie mam pojęcia jak ułożyć te tabele, żeby nie zabić mysql'a. Problem wygląda tak: posiadam współrzędne punktu (używam Google Maps Api, ale to bez znaczenia) w postaci $x i $y. Teraz chciałbym stworzyć systemik, który podawałby najbliższą miejscowość od tych współrzędnych z tabeli mysql. Powiedzmy szkic tabel wyglądałby tak: id_dzielnicy | id_miasta | nazwa_dzielnicy | współrzędne x | współrzędne y id_miasta | nazwa_miasta | dodatkowe opcje np. co do markera (ta tabela mniej istotna W php mam wartości współrzędnych punktu. ($x i $y) I teraz problem bo nie wiem, czy tak jest dobrze i nie mam pojęcia jak w sql zabrać się za pytanie, żeby znajdował te najbliższe punkty... Proszę o pomoc. Jeśli coś niejasne - wyjaśnię. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 2 Dołączył: 20.02.2007 Skąd: Opole Ostrzeżenie: (0%) ![]() ![]() |
Obliczając odległość pomiędzy dwoma punktami leżącymi na powierzchni Ziemi nie możemy traktować jej jako układu współrzędnych XY, gdyż Ziemia jest kulista. Poczytaj o Ortodromie. Polecam również Calculate distance, bearing and more between two Latitude/Longitude points
Przykładowe zapytanie o znacznie zmniejszonym błędzie pomiaru:
W miejsce znaków zapytania w zapytaniu wstawić należy współrzędne geograficzne punktu wokół którego szukamy punktów odpowiednio: szerokość, szerokość, długość, szerokość, szerokość, długość. Zapytanie wyświetla najbliższy punkt do podanego i odległość między nimi w metrach (6378137 to promień Ziemi w metrach). Obliczanie odległości jako ortodromy w tym przypadku znacznie zmniejszy błąd pomiaru. Są jeszcze dokładniejsze metody, ale ta powinna w zupełności wystarczyć. Błąd w tej metodzie może wynieść max. 30 metrów. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 20:37 |