Usiłuję utworzyć milę kwadratową (lub okrąg) siekiery wokół centralnego punktu, w którym wszystkie boki kwadratu będą znajdować się x mil od centrum. Potrzebuję 4 współrzędnych narożnych.
Przeszywa mnie mózg, próbując ominąć głowę? Mogę obliczyć odległość między dwoma punktami za pomocą formuły haverine, ale matematyka to poważnie nie moja mocna strona i nie rozumiem grzechu, bo itp. .. a próby rozwiązania tego zgubiły mnie!
Czy natrafiłem na Obliczanie szerokości / długości geograficznej X mil od punktu? ale ja tego nie rozumiem!
Czy ktoś byłby na tyle uprzejmy, aby wyjaśnić, jak to robię w kategoriach jabłek i gruszek?
Aby dokładnie wyjaśnić, co próbuję zrobić;
Mam stronę internetową, na której użytkownicy mogą wyszukiwać budynki w określonym obszarze. Wchodzą do miasta lub miejsca (o których wiem, że długo) i szukają w określonym promieniu, powiedzmy 10 mil od tego miejsca.
Muszę znaleźć min / max lat i długości promienia 10 mil, aby móc wykonać zapytanie do mojej bazy danych przy użyciu klauzuli where podobnej do:
Where buildingLat <= maxLat
and buildingLat <= minLat
and buildingLong >= minLong
or buildingLong >= maxLong
Potrzebuję jakiejś formuły!
Moje współrzędne są w stopniach dziesiętnych
Wreszcie moja odpowiedź brzmi: (in c #)
Prawdopodobnie nie potrzebuję 4 współrzędnych, ale myślę, że są dość dokładne.
EDYTOWAĆ
Właśnie się zorientowałem, że jeśli ustawię rogi mojego kwadratu x mile od punktu środkowego, krawędzie mojego kwadratu nie będą takie same x mil. (powiedział, że matematyka nie była moją mocną stroną) Aby więc uzyskać odległość punktów narożnych od punktu środkowego, jeśli chcę, aby krawędzie moich kwadratów były x mil, użyłem Twierdzenia Pitagorasa, aby obliczyć odległość przekątnej. (w trójkącie ustawionym pod kątem prostym kwadrat na przeciwprostokątnej (przekątnej) jest równy kwadratowi pozostałych dwóch boków)
źródło
* cos(lat)
przy przeliczaniu stopni na mile i/ cos(lat)
przy przeliczaniu mil na stopnie.Jeśli korzystasz ze świadomej przestrzennie bazy danych, możesz przekonwertować obszar zainteresowania na ten sam układ współrzędnych, w którym przechowywane są dane, a następnie dokonać porównania jabłek z jabłkami.
Na przykład:
źródło
Użyłem tego, co jest na tej stronie
Dla θ użyłem -45 stopni (w radianach) dla „lewego górnego punktu” i 135 stopni dla „prawego dolnego punktu”
(Ostatnio zadałem to samo pytanie na stronie matematycznej )
źródło