Changes between Version 22 and Version 23 of AdvancedTopics
- Timestamp:
- 05/26/26 22:29:31 (6 hours ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
AdvancedTopics
v22 v23 3 3 За имплементација на напредната тема за нашиот проект избравме PostGIS кој овозможува надградување на базата на податоци да управува со географски информации. Во реалните системи на светските авиокомпании овозможено е следење на летови, нивните рути како и самите авиони употребувајќи GPS технологии и калкулации на рути. Со цел пореалистично моделирање на проектот сметаме дека оваа тема би дала малку поголема прецизност на дел од податоците. 4 4 5 Пред имплемента ицја на оваа тема, во табелата !ScheduledFlight која претставува закажан лет (урнек), колоната Distance беше генерирана на рандомизиран начин односно според времето на полетување и слетување, што не претставува реален податок. Проблем се јавува при употреба на оваа вредност во калкулациите на цена на авионски билети како и додавање на поени за летање на патниците. Со воведување на PostGIS, податоците се реални и употребливи во бизнис логиката на апликацијата. Исто така овозможено е имплементирање на дополнителни функционалности присутни во реални системи.5 Пред имплементација на оваа тема, во табелата !ScheduledFlight која претставува закажан лет (урнек), колоната Distance беше генерирана на случаен начин односно според времето на полетување и слетување, што не претставува реален податок. Проблем се јавува при употреба на оваа вредност во калкулациите на цена на авионски билети како и додавање на поени за летање на патниците. Со воведување на PostGIS, податоците се реални и употребливи во бизнис логиката на апликацијата. Исто така овозможено е имплементирање на дополнителни функционалности присутни во реални системи. 6 6 7 7 Со цел јасно прикажување на резултатите кои ги добивме со имплементација на PostGIS, за визуелизација на податоците ја употребивме алатката QGIS која директно се поврзува со нашата база на податоци во Postgres и во која може да се извршуваат и потребните прашалници. Во документацијата по имплементацијата на секој дел ја имаме прикажано и соодветната визуелизација. … … 30 30 }}} 31 31 32 По додавање на колоните тие беа пополнети со веќе постоечките податоци од OpenFlight CSV датотеката која исто така ја употребивме и за првобитното пополнување на табелата што ни овозможи одржување на конзистентноста во податоците.32 По додавање на колоните тие беа пополнети со веќе постоечките податоци од !OpenFlight CSV датотеката која исто така ја употребивме и за првобитното пополнување на табелата што ни овозможи одржување на конзистентноста во податоците. 33 33 34 34 Како следен чекор потребно беше претставување на координатите во форма на Point. За таа цел додадовме нова колона location од тип geography(Point, 4326). … … 86 86 === Тригер Calculate Distance === 87 87 88 Иако кодот погоре ги коригира веќе постоечките податоци за Distance, при додавање на нов ScheduledFlight или промена на некој од слотовите за полетување и слетување не се врши повторна пресметка. За таа цел имплементиравме тригер кои при изведување на некои од овие активности врши повторна пресметка на растојанието. Вака се озовможува конзистентност на податоците.88 Иако кодот погоре ги коригира веќе постоечките податоци за Distance, при додавање на нов !ScheduledFlight или промена на некој од слотовите за полетување и слетување не се врши повторна пресметка. За таа цел, имплементиравме тригер, кој при изведување на некои од овие активности врши повторна пресметка на растојанието. Вака се овозможува конзистентност на податоците. 89 89 90 90 [attachment:CalculateDistance.sql] … … 92 92 == Поглед Flight Routes == 93 93 94 За излистување на сите рути на веќе постоечки летови потребно беше креирање на поглед - Flight Routes. Во овој поглед се прикажуваат податоците за број на лет, време и аеродром на полетување и слетување, рутата како објект Line во PostGIS и растојанието. За преставување на рутата како Lineја употребивме функцијата ST_MakeLine која како аргументи ги прима координатите на аеродромите.94 За излистување на сите рути на веќе постоечки летови потребно беше креирање на поглед - Flight Routes. Во овој поглед се прикажуваат податоците за број на лет, време и аеродром на полетување и слетување, рутата како објект Line во PostGIS и растојанието. За преставување на рутата, како Line, ја употребивме функцијата ST_MakeLine која како аргументи ги прима координатите на аеродромите. 95 95 96 96 [attachment:FlightRoutes.sql]
