Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Topologia ulic w Psql
Forum PHP.pl > Forum > Bazy danych > PostgreSQL
Nyny
Witam,
zastanawiamsie nad tematem pracy inzynierskiej w ktorym mialbym przedstawic mape(topologie) ulic w moim miescie w modelu relacyjnych baz danych.
Zastanawiam sie czy wogole cos takiego wchodzi w gre. Powiedzmy ze bylby podzial na ulice jedno i dwukierunkowe. Np. z ulicy jasnej bylby przejazd do ulicy ciemnej i to wszystko musialby sie zawierac w bazie danych.
Do tego na koniec bylaby funkcja szukajaca np. najkrotszego przejazdu z x do y uwzgledniajac wszystkie te polaczenia ulic oraz ich kierunki ruchu.

Moj promot powiedzial ze odleglosci tych ulic oraz ich polozenie bylyby zapisane do bazy za pomoca wspolrzednych tongue.gif Troche nie bardzo wiem o co mu chodzilo i jak mialoby to wyglad.
Wiem ze ten projekt nie jest taki prosty i dlatego pytan czy wogle cos takiego jest wykonalne a jesli tak to jakie macie na to pomysly.

Jesli beda jakies fajne propozycje to pewnie sie zdecyduje na ten temat
Z gory dzieki za pomoc
dr_bonzo
Tu masz opisana obsluge wspolrzednych w mysqlu (http://dev.mysql.com/tech-resources/articles/4.1/gis-with-mysql.html ) moze w PG tez sie da.
Jabol
Sam plan ulic zaimplementuj jako graf (taka struktura danych). Jej dokładną implementację w postgresql'u wymyśl sam, gdyż nie ma chyba wbudowanych typów do robienia tego (proponuję np. za pomocą struktury Con-Carowych list z Lispa, lub też jakieś ich rozbudowanej wersji). Współrzędne ulic, ich długość i takie tam wprowadź jako informacje drugorzędną, gdyż nie stanowią one informacji wartościowej logicznie. Jako podstawową jednostkę w Twoim projekcie wprowadź skrzyżowanie, a nie ulicę.

Muszę przyznać, że bardzo interesujący projekt dostałeś do zrobienia. Sam chętnie napisałbym pracę inżynierską na ten temat, gdyż lubię takie algorytmiczne łamigówki.
Nyny
No jabol widze ze troche sie na tym znasz.
Ja wlasnie zastanawim sie nad tym projektem bo niewiem czy temu podolam. Nie mam az takiej wiedzy z postgresa. Mysle ze przy pomocy wielu zrodel napewno bym cos wykombinowal ale zalezy mi na czasie. Musze wiedziec czy sprostam zadaniu i czy mam brac ten temat.
Wiem ze jest ciekawy tylko niewiem czy dam rade.

Moglbys mi jakos po krotce przedtawic ta grafowa strukture danych. Jak to zapisac w postaci bazodanowej? Powiedzmy dla 3 ulic (2 lacza sie ze soba a trzecia jest jakas odrebna)

Co to sa te struktury Con-Carowe?
szumigt
Cytat(Nyny @ 5.03.2007, 17:07:13 ) *
No jabol widze ze troche sie na tym znasz.
Ja wlasnie zastanawim sie nad tym projektem bo niewiem czy temu podolam. Nie mam az takiej wiedzy z postgresa. Mysle ze przy pomocy wielu zrodel napewno bym cos wykombinowal ale zalezy mi na czasie. Musze wiedziec czy sprostam zadaniu i czy mam brac ten temat.
Wiem ze jest ciekawy tylko niewiem czy dam rade.

Moglbys mi jakos po krotce przedtawic ta grafowa strukture danych. Jak to zapisac w postaci bazodanowej? Powiedzmy dla 3 ulic (2 lacza sie ze soba a trzecia jest jakas odrebna)

Co to sa te struktury Con-Carowe?


Możecie rozwinąć ten wątek bo bardzo jestem ciekaw szczegółów gdyż muszę wprowadzić u siebie w projekcie podobne rozwiązanie ... tzn muszę opisać miejsce jakiegoś zdarzenia. Pojawiają się pewne problemy właśnie przy takich elemntach jak wybór między skrzyżowanie/dany punkt adresowy ...
Zbłąkany
IMHO obchodzenie problemu na około. Nie prościej potraktować takową mapę, jako tablicę dwuwymiarową i w rekordzie zapisać, z którego pola, do którego idzie ulica i inne wszystkie dane? Ewentualnie układ równań dla uproszczenia, tylko i wyłącznie I ćwiartka (od punktu 0,0 i dodatnych wartości na osiach rzędnych oraz odciętych) i wtedy opisać wygląd danej ulicy za pomocą funkcji (lub funkcji w danym przedziale) wtedy można to ładnie wykreślić? Na szybko znalazłem coś takiego może się Tobie przyda smile.gif
Sedziwoj
Patrząc na to, to ulice są od węzła do węzła, gdzie węzłem są skrzyżowania. Jak biegnie ulica nas nie obchodzi przy szukaniu możliwych połączeń.
Kierunki można ustalić przez jedno kierunkowość połączeń, czyli jak w normalnym grafie, dwukierunkowe odpowiadają dwa wiersze w jedną i drugą stronę.
A sam opis jak dokładnie ulica przebiega można wykorzystać to co podał Zbłąkany
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.