![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 1.11.2004 Ostrzeżenie: (0%) ![]() ![]() |
witam wszystkich!
Mam nadzieje, ze znajde tu pomoc, mam pewien problem do rozwiazania, otoz mam podane wspolrzedne geograficzne i chcialbym znalezc obiekty w promieniu X km od podanego punktu. Wiem jak oblicza sie odleglosci miedzy wspolrzednymi geograficznymi, ale niestety to mnie nie ratuje, poniewaz chcialbym poznac odwrotna metode - czyli zamienic kilometry na "wspolrzedne", o ile nie komplikuje sobie sprawy, to chcialbym zrobic cos takiego: mam podane punkty x i y (szer. i dlug. geograficzna), zamieniam km na dane geograficzne (zx i zy) i pobieram obiekty o wspolrzednych zawierajacych sie w przedziale od x-z do x+z i y-zy i y+zy bede wdzieczny za pomoc lub naprowadzenie, jak to inaczej obliczyc. Nie chce korzystac z obliczania odleglosci dla kazdych wspolrzednych geograficznych - optymalizacja |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
A o skali też musisz pomyśleć a nawet słowem o tym nie wspomniałeś.
-------------------- Zainteresowania: C#, PHP, JS, SQL, AJAX, XML, C dla AVR
Chętnie pomogę, lecz zanim napiszesz: Wujek Google , Manual PHP |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 812 Pomógł: 117 Dołączył: 2.12.2008 Ostrzeżenie: (10%) ![]() ![]() |
Nie wiem czy dobrze zrozumiałem problem.
Rozumiem że masz już napisany kawałek kodu, który na podstawie dwóch punktów oblicza najmniejszą odległość pomiędzy nimi. A jeżeli chcesz zrobić to w drugą stronę w sensie: function oblicz(1wspolrzedna, odleglosc){ ... return 2wspolrzedna; } To już niestety będzie problem, bo rozwiązaniem takiego równania może być: - $wsp dla $odl = 0 - [zbiór współrzędnych położonych na okręgu] dla $ofl > 0 gdzie: $wsp - to wejsciowa spółrzędna $odl - to wejsciowa odległość -------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 1.11.2004 Ostrzeżenie: (0%) ![]() ![]() |
@fifi209: czy chodzi Ci o skale ala 1:xxx? czy jakas inna skale? bo generalnie 10km to 10km, tylko ta odleglosc we wsporzednych bedzie sie roznic w zaleznosci od rownoleznikow (na rowniku jest najszerzej
![]() @flashdev: generalnie, chce znalezc punkty, ktore beda zawieraly sie w odpowiednim zbiorze od -x do x (tak w uproszczeniu piszac ![]() |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 341 Pomógł: 40 Dołączył: 23.06.2009 Ostrzeżenie: (0%) ![]() ![]() |
odleglosc jest jednakowa czy to na na wysokosci rownika czy tez np.: zwrotnika raka. nalezy jedynie stosowac przelicznik krzywizny ziemi i bedzie git, to ze wizualnie jest roznica - to inna para kaloszy :]
problem jest dosc czesto spotykany, zwlaszcza gdy zaczynamy bawic sie z np.: google maps, rozwiazan znam kilka, i tak naprawde zaleza od tego czego oczekujesz. dosc istotne dla twojego problemu jest ilosc obiektow. jesli mialbys rozbudowana i dynamiczna baze obiektow , przeliczanie odleglosci miedzy nimi bylo bardzo nieefektywne z uwagi na ilosc dokonywanych przeliczen. lepiej juz wstepnie zawezic zakres przeszukiwan, czyli jesli masz oznaczony pkt grograficzny - oznaczasz wartosci brzegowe, (wyznaczasz sobie kwadrat z wpisanym okregiem), pobierasz liste obiektow ktore odpowiadaja naszym warunkom brzegowym, i dopiero obiczasz odleglosci miedzy obiektami (czyli wywalasz to co zbedne)... zreszta, sposobow jest tyle co programistow... :] kiedys popelnilem (z cztery lata temu, kiedy jeszcze tak napprawde sie uczylem fachu... zreszta, na dobra sprawe, nadal sie ucze :] ) projekt ktory robil cos takiego, podesle cie zebrane informacje na ten i podobne tematy( UWAGA aktualne na styczen 2008) linki http://code.google.com/apis/maps/ geokodowanie, geokodowanie a kody pocztowe http://www.geonames.org/export http://nieruchomosci.infor24.pl/lokalizator.php spory zbior linkow na temat geokodowania: http://groups.google.com/group/Google-Maps...oogle-geocoders Reverse Geocoder Concepts dodatkowe API http://nicogoeminne.googlepages.com/documentation.html http://www.geonames.org/maps/reverse-geocoder.html ciekawa stronka o google maps: http://web4you.com.pl/ przyklad strony ktora wyszukuje okreslone lokalizacje w promieniu od zaznaczonego pkt. http://twojafala.pl
Ten post edytował alegorn 17.08.2009, 10:03:33 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 1.11.2004 Ostrzeżenie: (0%) ![]() ![]() |
Dzieki @alegorn za pomoc! Przyjrze sie temu.
W "miedzyczasie" znalazlem ciekawe rozwiazanie: http://postgis.refractions.net/, w sumie to jest to, co potrzebuje, ale z pewnoscia przyjrze sie Twoim linkom. Dzieki Panowie za pomoc! |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 24.07.2025 - 19:55 |