![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 0 Pomógł: 0 Dołączył: 9.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
na alegro przy wyszukiwaniu mamy możliwość określenia szukania miejscowosci, ktora leży nie więcej niż x kilometrów od nas. Jako gość podaje wówczas kod pocztowy mojego miasta. Wówczas wyszukiwarka znajduje produkty, które nie leżą w miastach dalej niż zadana odległość. Dziala to szybko Jak oni to robią? Mają bazę, w ktorej trzymają odleglosci między każdym kodem pocztowym czy jakoś inaczej? Skoro dziala to szybko to wydaje mi sie, iz wlasnie mają kazdy kod z kazdym, ale mogę sie mylić. Może ktoś z Was wie cos wiecej? z góry dziękuje |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 177 Pomógł: 6 Dołączył: 14.01.2003 Skąd: Warszawa Ostrzeżenie: (10%) ![]() ![]() |
kod poocztowy to nie przypadkowy numer.
Na allegro dostepne sa mapy kodow pocztowych zobacz ile tego jest. Wcale nie tak duzo jakby sie wydawało Wytłuszczone w tabelce zostały kody wydzielone w całości dla głównych miast. Okręg nr 0 warszawski 00-xxx 01-xxx 02-xxx 03-xxx 04-xxx 05-xxx 06-xxx 07-xxx 08-xxx 09-xxx Okręg nr 1 olsztyński 10-xxx 11-xxx 12-xxx 13-xxx 14-xxx 15-xxx 16-xxx 17-xxx 18-xxx 19-xxx Okręg nr 2 lubelski 20-xxx 21-xxx 22-xxx 23-xxx 24-xxx 25-xxx 26-xxx 27-xxx 28-xxx 29-xxx Okręg nr 3 krakowski 30-xxx 31-xxx 32-xxx 33-xxx 34-xxx 35-xxx 36-xxx 37-xxx 38-xxx 39-xxx Okręg nr 4 katowicki 40-xxx 41-xxx 42-xxx 43-xxx 44-xxx 45-xxx 46-xxx 47-xxx 48-xxx 49-xxx Okręg nr 5 wrocławski 50-xxx 51-xxx 52-xxx 53-xxx 54-xxx 55-xxx 56-xxx 57-xxx 58-xxx 59-xxx Okręg nr 6 poznański 60-xxx 61-xxx 62-xxx 63-xxx 64-xxx 65-xxx 66-xxx 67-xxx 68-xxx 69-xxx Okręg nr 7 szczeciński 70-xxx 71-xxx 72-xxx 73-xxx 74-xxx 75-xxx 76-xxx 77-xxx 78-xxx Okręg nr 8 gdański 80-xxx 81-xxx 82-xxx 83-xxx 84-xxx 85-xxx 86-xxx 87-xxx 88-xxx 89-xxx Okręg nr 9 łódzki 90-xxx 91-xxx 92-xxx 93-xxx 94-xxx 95-xxx 96-xxx 97-xxx 98-xxx 99-xxx znajac kierunek i odleglosc od miasta satelity od miasta glownego w okregu da rade obliczyc odgleglosc. Jak zbudowane sa kody też ci powie: http://pl.wikipedia.org/wiki/Kod_pocztowy Ale można na podstawie kodów pocztowych odczytywać również wspolrzedne geograficzne i obliczac odleglosc. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 0 Pomógł: 0 Dołączył: 9.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za informacje, przejrze sobie te "mapy".
Cytat znajac kierunek i odleglosc od miasta satelity od miasta glownego w okregu da rade obliczyc odgleglosc. hmmm.... zalóżmy ze mamy sytuacje 1 2 3 4 1 - glowne miasto mojego miasta 2 - moje miast 3 - docelowe miast 4 - glowne miasto docelowego miasta No i odleglosc jest taka: 4-1 - odleglosc od glownych miast 2-1 - odleglosc od mojego miasta do glownego 3-4 - odleglosc od docelowego do glownego 4-1 - 2-1 - 3-4 - odleglosc szukana. Na tym schemacie widze ze 2 jest po prawej 1 i ze dwa jest po lewej 3 i 4 i wiem jak odejmowwac. Ale przeciez rozlozenia miast bedą rozne. Skad mam znac te wzajemne kierunki? Mozna je poznac np. poprzez wspolrzedne geograficzne. ok. ale jak robie wyszukiwarke i wale zapytanie ktore wyszukiwac mi bedzie miasta z zadanej odleglosci to chyba nie bede w zapytaniu sie bawil w jakies warunki i kosmiczne wyliczanie tego w locie w zapytaniu. Allegro tak robi czy jest tu moze jakis sprytny haczyk, ktorego nie widze? |
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
A wzor na odleglosc punktow w ukladzie wspolrzednych? To jest to samo. Kodów pocztowych nie jest wcale koszmarnie wielka ilosc wiec odleglosc mozna obliczac bez problemu w locie.
Poza tym bierz uwage ze wyniki takich zapytan moga byc cachowane. Tzn przechowywac w zapytaniu tylko odpowiednie miasta a potem w zapytaniu co do produktow dac "produkty WHERE miasto IN ([tutaj miasta])" Zobacz sobie wzor na odleglosc 2 punktow w ukladzie wspolrzednych. Ten post edytował wookieb 9.10.2008, 09:11:25 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 0 Pomógł: 0 Dołączył: 9.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
ale odleglosc w ukladzie wspolrzednych da nam odleglosc w linii prostej. Oboje wiemy ze w realu linia prosta a faktyczna odleglosc mogą sie "ździebko" różnić. Roznice mogą być dość duze.
Dodatkowo w duzym miescie jedna poczta moze lezec na skraju miasta i nie wiem czy moge zaokrąglac jej wspolrzedne do calego miasta - juz na tym zaokragleniu da nam pare ladnych kilometrow bledu. Chyba ze dramatyzuje i bledy takie mozna przyjac? |
|
|
![]()
Post
#6
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Zacznijmy od tego że na podstawie samych kodów to nic nie osiągniesz.
Nie ma w nich informacji na temat położenia. Musisz zdobyć bazę danych współrzędnych geograficznych dla kodów pocztowych. Jak ostatnio zbierałem bazę kodów to wyszło mi ok. 22 000, liczbę tą możesz ograniczyć trochę bo większość miast ma kilka kodów ale nie zmienia to faktu, że potrzebujesz współrzędnych. Jeśli chodzi o liczenie odległości rzeczywistej po drodze to zapomnij o tym. Dane potrzebne to takiej operacji są bardzo drogie (setki tysięcy złotych) a i tak musiałbyś napisać sobie oprogramowanie, które wyszukuje Ci najkrótszą drogę na tych danych. Pozostaje Ci liczenie w linii prostej. Zobacz sobie wzor na odleglosc 2 punktow w ukladzie wspolrzednych. A wiesz że do tego potrzeba ... współrzędnych (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
|
|
|
![]()
Post
#7
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
|
|
|
![]()
Post
#8
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
No, kupujesz bazę więc dane masz. Później pozostaje jeszcze zainteresowanie się kartografią.
Tępy wzór na odległość dwóch punktów w prostokątym układzie współrzędnych nie jest dobrym wyjściem bo nie bierze pod uwagę krzywizny Ziemi. Należy skorzystać z odworowania kartograficznego, które uwiarygodni wyniki obliczeń. Najczęściej stosowanym odwzorowaniem kartograficznym w nawigacji jest odwzorowanie Merkatora i tym polecam się zainteresować. Jednym słowem: królowa nauk żądzi :-) |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 182 Pomógł: 14 Dołączył: 20.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
A wiesz że do tego potrzeba ... współrzędnych (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Współrzędne byłyby mile widziane. Gdyby mi ktoś mógł jeszcze wytłumaczyć, co chce za pomocą tego osiągnąć. Liczenie odległości między miastami w linii prostej może mieć znaczenie dla transportu lotniczego, ale w transporcie drogowym linie między miastami nie są takie proste. W miarę dokładną odległość między miastami można by było spróbować wyciągnąć z map Google. Tępy wzór na odległość dwóch punktów w prostokątym układzie współrzędnych nie jest dobrym wyjściem bo nie bierze pod uwagę krzywizny Ziemi. Chyba tylko w transporcie lotniczym wykorzystuje się krzywiznę ziemi – w innych wypadkach chyba nie ma tak dużego znaczenia (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#10
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
Chyba tylko w transporcie lotniczym wykorzystuje się krzywiznę ziemi – w innych wypadkach chyba nie ma tak dużego znaczenia (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Przez prawie dwa lata pisałem oprogramowanie dla branzy telematycznej i uwierz mi, że nie masz racji (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Wszędzie w tych zagadnieniach stosuje się odwzorowania kartograficzne i uwzględnia krzywiznę Ziemi. A jeśli chodzi o odległości w linii prostej to oczywiste jest, że nie są one precyzyjne ale przynajmniej dają pewne wyobrażenie. |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 182 Pomógł: 14 Dołączył: 20.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
Przez prawie dwa lata pisałem oprogramowanie dla branzy telematycznej i uwierz mi, że nie masz racji (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) W telemetrii? A jeśli chodzi o odległości w linii prostej to oczywiste jest, że nie są one precyzyjne ale przynajmniej dają pewne wyobrażenie. Wyobrażenie i owszem, ale bardzo często mylne. Już wolałbym mieć długość drogi bez poprawki na krzywiznę ziemi niż odległość z punktu A do B (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
![]()
Post
#12
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
W telemetrii? Telematyka i telemetria to są dwie różne rzeczy.Doświadczenie, które posiadam jest związane z zagadnieniami telematyki w transporcie. Telemetria to inna bajka. Wyobrażenie i owszem, ale bardzo często mylne. Już wolałbym mieć długość drogi bez poprawki na krzywiznę ziemi niż odległość z punktu A do B (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Funkcjonalności typu "znajdź coś w promieniu X" osiągniesz i "niestety" tyle.No chyba, że stać Cię na bardzo drogie dane, na podstawie, których obliczysz sobie "prawdziwą" odległość. Tylko czy warto? (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 182 Pomógł: 14 Dołączył: 20.09.2008 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#14
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
No wiec jeżeli zależy ci na dokładnej odległości to juz ci bedzie potrzebna baza odleglosci pomiedzy niektorymi miastami. A wtedy bedziesz to wyliczac odpowiednim algorytmem. Chyba ze mike podpowie co innego.
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 246 Pomógł: 31 Dołączył: 13.11.2006 Skąd: się znamy? Ostrzeżenie: (0%) ![]() ![]() |
Proponuję odczytać miejscowość z kodu pocztowego i wyliczyć odległość z pomoc Google Maps API.
|
|
|
![]()
Post
#16
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
|
|
|
![]()
Post
#17
|
|
Grupa: Przyjaciele php.pl Postów: 7 494 Pomógł: 302 Dołączył: 31.03.2004 Ostrzeżenie: (0%) ![]() ![]() |
A jak znajdzie wszystkie miejscowości w jakims tam promieniu?? Pomoc Google > Dyskusje > Mapy > Wyszukiwanie miast położonych w promieniu x od miast A, x - zadany promień w km, A - miasto źródłowe
|
|
|
![]()
Post
#18
|
|
Grupa: Zarejestrowani Postów: 0 Pomógł: 0 Dołączył: 9.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
@mike nie moge skorzystac w wyszukiwaniu z google maps, bo by wyszykiwanie trwalo ruski miesiac.
co innego, gdybym juz wszystkie odleglosci miedzy kazdym miastem mial w bazie (wyliczone na boku przy pomocy google maps), wowczas zapytanie to betka. Ale chyba nie moge tak wszystkiego rzucic do bazy bo sie zapcha? Ile tych kodow jest? 10tys? to wtedy max kombinacji to 10tys do kwadratu? |
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 246 Pomógł: 31 Dołączył: 13.11.2006 Skąd: się znamy? Ostrzeżenie: (0%) ![]() ![]() |
Google API nie jest wcale takie wolne.
10 tys rekordów to pykuś dla bazy. Zapisujesz odległości dla każdej miejscowości względem jednego wybranego punktu - odległość i miara kątowa. Z tego możesz wyliczyć odległość pomiędzy dowolnymi dwoma punktami czy wybrać miejscowości spełniające odpowiednie kryterium. |
|
|
![]()
Post
#20
|
|
Grupa: Zarejestrowani Postów: 0 Pomógł: 0 Dołączył: 9.10.2008 Ostrzeżenie: (0%) ![]() ![]() |
10tys to wiem ze pikus.
10tys do kwadratu = 100 mln ... (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) Cytat Zapisujesz odległości dla każdej miejscowości względem jednego wybranego punktu - odległość i miara kątowa. Z tego możesz wyliczyć odległość pomiędzy dowolnymi dwoma punktami czy wybrać miejscowości spełniające odpowiednie kryterium. Nie czaje. w ten sposob wylicze chyba odleglosc miedzy punkem A i B poprzez miasto C. Chyba ze do czegos ma sluzyc ta miara kątowa a ja o czyms nie wiem.
Ten post edytował kacper2003 9.10.2008, 12:13:05 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 01:29 |