Proiectarea Unei Aplciatii Privind Comunicarea Intre Dispecer Si Componenta Mobila
Cuprins
Abrevieri 3
Lista imaginilor și tabelelor 4
I. Introducere 5
II. Tehnologii folosite 6
II.1 HTML 6
II.2 CSS 7
II.3 JavaScript 10
II.4 PHP 11
II.5 MySql 13
II.6 FileZilla 14
II.7 phpmyadmin 15
III. Teoria Grafurilor 16
IV. Comis-voiajor 18
V. Google Maps si serviciile Google 22
VI. Studiu de caz 27
VII. Concluzii 38
Bibliografie 39
Abrevieri
HTML= HyperText Markup Languager
CSS= Cascading Style Sheets
PHP= Hypertext Preprocessor
W3C= World Wide Web Consortium
HTTP= Hypertext Transfer Protocol
XHTML= eXtensible HyperText Markup Language
MIME= Multipurpose Internet Mail Extensions
XML= Extensible Markup Language
SVG= Scalable Vector Graphics
DOM=Document Object Model
AJAX= Asynchronous JavaScript and XML
SPL= PHP Biblioteca Standard
ASP=Active Server Pages
LAMP= L pentru Linux, A pentru Apache, M pentru MySQL si P pentru PHP
API= Application Programming Interface
SFTP =SSHFile Transfer Protocol
TSP= travelling salesman problem
Lista imaginilor și tabelelor
Introducere
În ultima perioadă aplicațiile mobile au devenit din ce în ce mai răspândite. Există aplicații pentru orice, și continuă să apară altele noi. Unele sunt foarte utile, altele mai puțin, dar tendința de creștere a numărului de aplicații mobile se menține. Între acestea se numără și aplicațiile care utilizează sistemul GPS în diverse scopuri, cum ar fi monitorizarea persoanelor, a animalelor în diverse cercetări științifice, navigație. Plecând de la această realitate m-am întrebat dacă nu ar fi posibil să realizez alături de colegul meu o aplicație care să permită optimizarea rutei mașinii care face intervențiile, în funcție de solicitările apărute după plecarea de la sediu.
Există aplicații, și nu puține, de monitorizare a deplasării vehiculelor, dar eficiența și ușurința în folosire nu poate fi verificată decât după achiziție. Aplicațiile mobile nu au aceeași largă utilizare ca cele de tip desktop, de aceea și informațiile legate de funcționare și gradul de satisfacție al utilizatorilor sunt puține. Unele sunt prea complexe, pentru scopul urmărit, lucru care se reflectă și în preț, altele sunt greoi de utilizat.
În ceea ce privește aplicația pe care am conceput-o, ea urmărește, în principal, să determine ruta optimă (drumul minim) pentru parcurgerea unui traseu când numărul și poziția nodurilor se modifică dinamic, în timpul parcurgerii traseului. Complementar, se poate monitoriza și respectarea traseului de către echipa de intervenție. Concret, la prima oră, autoturismul de intervenție are un traseu stabilit pe baza solicitărilor primite până la momentul plecării. Pe parcurs pot apărea și alte solicitări, care presupun abaterea de la ruta inițială. Aplicația trebuie să determine ordinea de deservire a solicitărilor astfel încât drumul parcurs să fie minim. De aici rezultă economie de combustibil, uzură redusă a mașinii, timp de lucru redus și, în consecință cheltuieli cu salariile mai reduse.
Aplicația este alcătuită din două componente care interacționează pentru atingerea obiectivului: componenta pentru echipamentul mobil (Modulul mobil) și componenta de dispecer, pentru PC (Modulul dispecer).
Astfel, aplicația se bazează pe comunicarea permanentă intre dispecerul care operează componenta pentru PC, introducând comenzile preluate de la clienti si componenta mobilă care rulează pe o tabletă sau telefon mobil de pe mașina de intervenție.
Tehnologii folosite
Tehnologiile utilizate în aplicații reprezintă în general, acele limbaje de programare utilizate la crearea de site-uri complexe, interactive, al căror concept presupune stăpânirea cât mai detaliată a unor limbaje de scripting sau de programare și baze de date.
Acum câțiva ani, tehnologiile Web erau folosite doar de marile companii datorită, în principal, costurilor ridicate ale licențelor programelor de dezvoltare.
În prezent, datorită dezvoltării tot mai accentuate a soluțiilor Open Source, oricine își poate permite realizarea de aplicații.
HTML
HyperText Markup Language, denumit în mod obișnuit HTML este limbajul de marcare standard utilizat pentru a crea pagini web.Este scris în formă de elemente HTML formate din tag-uri închise în paranteze unghiulare . Tag-uri HTML cel mai frecvent vin în perechi. Deși unele reprezintă elemente goale și așa sunt nepereche. Primul tag, astfel pereche este eticheta de start, iar al doilea este tag-ul final (acestea sunt, de asemenea, numite de deschidere tag-uri și tag-uri de închidere).
Browsere Web poate citi fișiere HTML și le face în pagini web vizibile sau sonore. Browsere nu afișează etichetele HTML și script-uri, dar le folosesc pentru a interpreta conținutul paginii. HTML descrie structura unui site web semantic, împreună cu indicii de prezentare, făcându-l un limbaj de marcare, mai degrabă decât un limbaj de programare. Elemente HTML formează elementele constitutive ale tuturor site-uri web. HTML permite imagini și obiecte care trebuie încorporate și pot fi folosite pentru a crea formulare interactive. Acesta oferă un mijloc de a crea documente structurate prin care indică semantică structurale pentru text, cum ar fi titlurile, paragrafe, liste, link-uri, citate și alte elemente. Se poate încorpora scripturi scrise în limbi, cum ar fi JavaScript care afectează comportamentul de pagini web HTML.
Browsere Web poate referi, de asemenea, la Cascading Style Sheets (CSS) pentru a defini aspectul și structura textului și alte materiale. W3C, de întreținere atât HTML și standardele CSS, a încurajat folosirea CSS peste explicit HTML de prezentare din 1999.
Documente HTML implică o structură de elemente HTML imbricate. Acestea sunt indicate în documentul de tag-uri HTML, închise în paranteze unghiulare.
În cazul simplu, general, gradul de un element este indicată de o pereche de tag-uri: un "start eticheta" și "eticheta de final". Conținutul text al elementului, dacă este cazul, este plasat între aceste tag-uri. Tags poate anexa, de asemenea, mai mult de marcare tag între începutul și sfârșitul, inclusiv un amestec de etichete și text. Acest lucru indică în continuare elemente (imbricate), ca și copii ai elementului părinte. Eticheta de start poate include, de asemenea atribute în tag-ul. Aceste indica alte informații, cum ar fi identificatori de secțiuni din documentul de identificare, folosit pentru a lega informațiile de stil la prezentarea documentului, iar pentru unele etichete utilizate pentru a încorpora imagini, trimiterea la resursa de imagine.
Multe etichete, în special eticheta final de închidere pentru elementul punctul foarte frecvent second hand, Sunt opționale. Un browser HTML sau alt agent poate deduce închiderea de la sfârșitul unui element de context și normele structurale definite de standardul HTML. Aceste reguli sunt complexe și nu pe larg înțeles de către majoritatea programatori HTML. Forma generală a unui element HTML este deci:conținut. Unele elemente HTML sunt definite ca elemente goale și ia forma. Elementele goale poate închide fără conținut, de exemplu, eticheta sau inline eticheta. Numele unui element HTML este numele utilizat în etichetele.Rețineți că numele tag-ul final este precedat de un caracter slash, "/", și că, în elementele goale tag-ul final nu este nici necesară și nici permis. Dacă atributele nu sunt menționate, valorile implicite sunt folosite în fiecare caz.
World Wide Web este compus în principal din documente HTML transmise de serverele web pentru a browserelor web folosind HTTP. Cu toate acestea, HTTP este utilizat pentru a servi imagini, sunete, și alte tipuri de conținut, în plus față de HTML.Pentru a permite browser-ul web pentru a ști cum să se ocupe de fiecare document care primește, alte informații sunt transmise împreună cu documentul. Aceste date meta include, de obicei tipul MIME (de exemplu text / html sau aplicație / xhtml + xml) și codarea de caractere. În browserele moderne, de tipul MIME care este trimis împreună cu documentul HTML poate afecta modul în care documentul este interpretat inițial.
Un document trimis cu tipul XHTML MIME este de așteptat să fie XML bine format; erori de sintaxă poate provoca browser-ul pentru a nu-l face. Același document trimis cu tipul MIME HTML ar putea fi afișat cu succes, deoarece unele browsere sunt mai indulgent cu HTML. Recomandările W3C afirmă că XHTML 1.0 documentele care urmează liniile directoare stabilite în recomandarea lui Anexa C poate fi marcat fie cu MIME Type. XHTML 1.1 prevede, de asemenea, că XHTML 1.1 documente ar trebui să să fie etichetate cu oricare tip MIME.
Figură . Linii de cod din fisierul HTML destinat Hartii de localizare a unei adrese
CSS
CSS este un standard pentru formatarea elementelor unui document HTML. Stilurile se pot atașa elementelor HTML prin intermediul unor fișiere externe sau în cadrul documentului, prin elementul <style> și/sau atributul style.
CSS se ocupa in general cu aspectul si controlul grafic al elementelor din pagina, cum ar fi: textul, imaginile, fondul, culorile si asezarea acestora in cadrul ferestrei paginii.CSS foloseste stiluri sub un anumit nume, atribute de formatare care se aplica asupra unui element individual din pagina, asupra unui grup de elemente sau la nivelul intregului document.
CSS functioneaza cu HTML, insa nu este HTML.Prin utilizarea CSS, aspectul documentului poate fi controlat mult mai usor.Stilurile pot fi aplicate asupra unui singur element sau asupra intregului document.
Singurul dezavantaj ar fi acela ca unele navigatoare nu sun compatibile CSS, astfel ca documentele HTML sunt afisate ca si cum CSS nu ar fi existat.Browserele care sunt compatibile CSS sunt:Mozilla Firefox, Internet Explorer, Opere, Google Chrome,etc.
Cascading Style Sheets (CSS) este un limbaj foaie de stil folosită pentru a descrie aspectul și formatarea unui document scris într-un limbaj de marcare. Deși cele mai multe ori folosit pentru a schimba stilul de pagini web si interfete scrise în HTML și XHTML, limba poate fi aplicat la orice tip de document XML, inclusiv XML simplu, SVG și XUL. Împreună cu HTML și JavaScript, CSS este o tehnologie fundamental folosit de cele mai multe site-uri web pentru a crea pagini web vizual angajarea, interfete de utilizator pentru aplicații web, și interfețe de utilizator pentru multe aplicații mobile.
CSS este destinat în primul rând pentru a permite separarea conținutului documentului de prezentare de documente, inclusiv elemente cum ar fi aspectul, culorile, și fonturi. Această separare poate îmbunătăți accesibilitatea conținutului, oferă mai multă flexibilitate și control în specificarea caracteristicilor de prezentare, permite mai multe pagini HTML pentru a partaja formatare prin specificarea CSS relevante un fișier .css separat, și să reducă complexitatea și repetiția în conținutul structural, cum ar fi tabele semantică nesemnificative care au fost folosite pe scară largă pentru pagini format înainte de redare consistent CSS a fost disponibil în toate browserele importante.
CSS face posibilă separarea instrucțiuni de prezentare de conținutul HTML într-un fișier sau stil secțiune separată a fișierului HTML. Pentru fiecare element HTML potrivite, se oferă o listă de instrucțiuni de formatare.
De exemplu, o regulă CSS s-ar putea preciza că "toate 1 elemente rubrica ar trebui să fie îndrăzneț", lăsând pur markup HTML semantic care afirmă "acest text este un titlu de nivel 1" fără formatare cod cum ar fi oar trebui să fie afișate tag indicând modul în care astfel de text. Această separare de formatare și conținut face posibilă prezentarea aceeași pagină marcare in stiluri diferite pentru diferite metode de redare, cum ar fi pe ecran, în print, prin voce (când a citit de un browser sau ecran cititor pe bază de vorbire) și pe bazate pe Braille, dispozitive tactile. Acesta poate fi de asemenea utilizat pentru a afișa pagina web diferit în funcție de dimensiunea ecranului sau dispozitivul pe care este vizualizat.Deși autorul unei pagini web link-uri de obicei, într-un fișier CSS în fișierul markup, cititorii pot specifica o foaie de stil diferit, cum ar fi un fișier CSS stocat pe computerul lor, pentru a trece peste cel autorul a specificat.
În cazul în care autorul sau cititorul nu a lega documentul la o foaie de stil, stilul implicit al browser-ul va fi aplicat. Un alt avantaj al CSS este că modificările estetice aduse proiectului grafic unui document (sau sute de documente) pot fi aplicate rapid și ușor, prin editarea câteva rânduri într-un singur fișier, mai degrabă decât printr-un proces laborios (și, prin urmare, costisitoare) de crawling peste fiecare linie de document de linie, schimbarea marcare. Caietul de sarcini CSS descrie un sistem de prioritate pentru a determina ce stil se aplică reguli, dacă mai mult de o singură regulă meciuri împotriva unui anumit element de. In acest așa-numita cascadă, priorități (sau greutăți) sunt calculate și atribuite regulilor, astfel încât rezultatele sunt previzibile.
Moștenire este un element-cheie în CSS, ea se bazează pe relația strămoș descendent pentru a funcționa. Moștenire este mecanismul prin care proprietățile sunt aplicate nu numai un element specificat, dar și la urmașii săi.
Moștenirea se bazează pe arborele documentului, care este ierarhia elementelor (X) HTML într-o pagină bazată pe cuiburi. Elementele Descendentul poate moșteni valori de proprietate CSS de orice element strămoș anexând ei. În general, elemente descendent moșteni proprietăți legate de text, dar proprietăți legate de box nu sunt moștenite. Proprietăți care pot fi mostenite sunt de culoare, font, scrisoare spațiere, line-height, stil listă, text-align, text-liniuță, text-transforma, vizibilitate, spațiu alb și cuvânt-spațiere.
Proprietăți care nu pot fi mostenite sunt fundal, frontieră, afișare, float și clar, înălțimea, și lățimea, marja, min- și max înălțime și -width, schiță, preaplin, umplutură, poziția, text-decoration, vertical-align și z -index.
Moștenire previne anumite proprietăți de a fi declarată de peste si peste din nou într-o foaie de stil, care permite dezvoltatorilor de software pentru a scrie mai puțin CSS. Ea îmbunătățește rapid-încărcare de pagini web de către utilizatori și permite clienților pentru a economisi bani pe costurile de lățime de bandă și de dezvoltare.
Deoarece nu toate browserele analiza corect codul CSS, dezvoltat tehnici cunoscute ca hacks CSS pot fie filtra browsere specifice sau viza browsere specifice de codificare (în general ambele sunt cunoscute ca filtrele CSS). Dintâi poate fi definită ca hacks filtrare CSS și aceasta din urmă poate fi definită ca CSS direcționare hack. Ambele pot fi utilizate pentru a ascunde sau a afișa părți ale CSS pentru browsere diferite. Acest lucru se realizează fie prin exploatarea quirks CSS-manipulare sau bug-uri în browser-ul, sau profitând de lipsa de sprijin pentru părți din caietul de sarcini CSS.
Utilizarea filtrelor CSS, unii designeri au mers în măsura în care livrarea de diferite CSS pentru anumite browsere pentru a asigura design face cum era de așteptat. Deoarece browserele web foarte timpurii au fost fie complet incapabil de manipulare CSS, sau CSS prestate foarte slab, designerii astăzi de multe ori folosesc in mod curent filtre CSS care impiedica complet aceste browsere de la accesarea oricare dintre CSS.
Suport Internet Explorer pentru CSS început cu IE 3.0 și a crescut progresiv cu fiecare versiune. Până în 2008, prima versiune beta a Internet Explorer 8 a oferit sprijin pentru CSS 2.1 în cele mai bune modul de standardele web. Un exemplu de istoric bine-cunoscut bug browser CSS a fost modelul caseta Internet Explorer bug, unde latime cutie sunt interpretate incorect în mai multe versiuni ale browser-ului, care rezultă în blocuri, care sunt prea înguste, atunci când vizualizate în Internet Explorer, dar corectă în pe standarde browsere conforme. Bug-ul poate fi evitată în Internet Explorer 6, utilizând doctype corect (X) documentele HTML. Hacks CSS si filtrele CSS sunt utilizate pentru a compensa bug-uri, cum ar fi aceasta, doar unul dintre sutele de bug-uri CSS, care au fost documentate in diferite versiuni de Netscape, Mozilla Firefox, Opera, și Internet Explorer (inclusiv Internet Explorer 7).
Chiar și atunci când disponibilitatea de browsere-CSS capabil făcut CSS o tehnologie viabilă, adoptarea de CSS a fost încă reținut de "luptele cu browsere" designeri de implementare CSS incorectă și sprijin CSS neuniform. Chiar și astăzi, aceste probleme continua sa faca afaceri de proiectare CSS mai complexe și costisitoare decât a fost destinat să fie, și de testare cross-browser rămâne o necesitate. Alte motive pentru a continua neadoptarea CSS sunt:. Sale complexitatea percepută, lipsa autorilor de familiarizare cu sintaxa CSS și tehnici necesare, sprijin saraci din instrumente de authoring, a riscurilor prezentate de neconcordanțe între browsere și creșterea costurilor de testare .
În prezent, există o concurență puternică între motor aspect WebKit utilizat în Apple Safari și Google Chrome, motorul KHTML similare pentru Konqueror browser KDE și motor aspectul Gecko Mozilla a folosit în Firefox -. Fiecare dintre ele este lider in diferite aspecte ale CSS. Începând cu luna august 2009, în Internet Explorer 8, Firefox 2 și 3 au niveluri complet rezonabil de punere în aplicare a CSS 2.1.
Cadre CSS biblioteci pre-preparate care sunt destinate pentru a permite mai ușor, mai respectă standardele de styling de pagini web folosind Cascading Style Sheets limba. Cadre CSS includ Foundation, Blueprint, Bootstrap, cadru Cascade și materializa. Ca biblioteci de programare și limbaj de scripting, cadrele CSS sunt de obicei incluse ca foi .css externe referire în HTML. Ele oferă un număr de opțiuni de-a gata pentru proiectarea și de stabilire afară pe pagina web.
Deși multe dintre aceste cadre au fost publicate, unii autori le folosesc mai ales pentru prototipuri rapide, sau pentru a învăța de la, și preferă să CSS "artizanat", care este adaptat fiecărui loc publicate fără proiectarea, întreținerea și descărca aeriene de a avea multe caracteristici neutilizate în stil site-ului.
Figură . Linii de cod CSS din fisierul HTML destinat Hartii de vizualizare a traseului
JavaScript
Schimbarea numelui din LiveScript în JavaScript s-a făcut cam în același timp în care Netscape încorpora suport pentru tehnologia Java în browserul web Netscape Navigator.
Microsoft a implementat limbajul JavaScript sub numele de JScript, cu o serie de modificări și extensii față de implementarea Netscape. Pe platforma Windows, JScript este unul din limbajele executabile de către Windows Script și, deci, poate fi folosit pentru scriptarea aplicațiilor ce suportă Windows Script, de exemplu Internet Explorer, sau chiar sistemul de operare Windows.Cea mai des întâlnită utilizare a JavaScript este în scriptarea paginilor web. Programatorii web pot îngloba în paginile HTML script-uri pentru diverse activități cum ar fi verificarea datelor introduse de utilizatori sau crearea de meniuri și alte efecte animate.
JavaScript este un limbaj de programare orientat obiect bazat pe conceptul prototipurilor. Este folosit mai ales pentru introducerea unor funcționalități în paginile web, codul Javascript din aceste pagini fiind rulat de către browser. Limbajul este binecunoscut pentru folosirea sa în construirea siturilor web, dar este folosit și pentru acesul la obiecte încastrate (embedded objects) în alte aplicații.
A fost dezvoltat inițial de către Brendan Eich de la Netscape Communications Corporation sub numele de Mocha, apoi LiveScript, și denumit în final JavaScript.În ciuda numelui și a unor similarități în sintaxă, între JavaScript și limbajul Java nu există nicio legătură. Ca și Java, JavaScript are o sintaxă apropiată de cea a limbajului C, dar are mai multe în comun cu limbajul Self decât cu Java.
JavaScript utilizează prototipuri unde multe alte limbi orientate obiect utilizează clase pentru moștenire. Este posibil pentru a simula multe caracteristici bazate pe clasă cu prototipuri în JavaScript. Funcții fi constructori obiect Funcții duble ca constructori obiect, împreună cu tipic lor rol.
Prefixarea un apel de funcție cu noua va crea o instanță a unui prototip, moștenind proprietăți și metode de constructor (inclusiv proprietățile din prototipul Object). ECMAScript 5 oferă metoda Object.create, permițând crearea explicită a unei instanțe, fără automat moștenind de la prototipul Object (medii mai mari pot atribui prototipul de nul). prototip proprietatea constructorului determină obiectul folosit pentru prototip internă a noului obiectului. Metodele noi pot fi adăugate prin modificarea prototipul funcției folosit ca constructor. Built-in constructori JavaScript, cum ar fi Array sau obiect, de asemenea, au prototipuri care pot fi modificate.
Deși este posibil să se modifice prototipul obiect, acesta este în general considerat practică proastă pentru că cele mai multe obiecte din JavaScript va moșteni metode și proprietăți din prototipul Object și nu pot aștepta prototipul să fie modificate. Funcțiile și metodele spre deosebire de multe obiect limbi orientate spre, nu există nicio diferență între definiția unei funcții și o definiție metodă. Mai degrabă, distincția se produce în timpul funcției de asteptare; atunci când o funcție este numit ca o metodă a unui obiect, locală acest cuvânt cheie funcția este obligat să acel obiect pentru invocarea.
Cea mai comună utilizare a JavaScript este de a adăuga un comportament client-side pentru pagini HTML, HTML aka dinamic (DHTML). Scripturile sunt încorporate în sau incluse la pagini HTML și de a interacționa cu DOM a paginii. Unele exemple simple ale acestui utilizare sunt: Încărcarea nou conținutul paginii sau transmiterea de date la server prin intermediul AJAX fără a reîncărca pagina (de exemplu, o rețea socială ar putea permite utilizatorului pentru a posta actualizări de stare, fără a părăsi pagina) Animație de elemente de pagină, decolorare și în afară, redimensionarea lor, mutându-le, etc. conținut interactiv, de exemplu, jocuri, și joc audio și validarea valorile de intrare ale unui formular Web video pentru a vă asigura că acestea sunt acceptabile înainte de a fi depus la server.
Paginile web fac frecvent acest lucru pentru web analytics, de urmărire anunț, personalizare sau în alte scopuri. Deoarece codul JavaScript poate rula la nivel local în browser-ul unui utilizator (mai degrabă decât pe un server de la distanță), browser-ul poate răspunde la acțiunile utilizatorului rapid, făcând o aplicarea mai receptiv. În plus, codul JavaScript poate detecta acțiunile utilizatorului care HTML singur nu pot, cum ar fi tastatura individuale.
Aplicații, cum ar fi Gmail profita de acest lucru: o mare parte din logica interfață utilizator este scris în JavaScript, și JavaScript expedieri cereri de informații (cum ar fi conținutul unui mesaj e-mail) la server. Tendința largă de programare Ajax exploatează în mod similar aceasta putere. Un motor JavaScript (de asemenea, cunoscut sub numele de JavaScript interpret sau JavaScript punerea în aplicare) este un interpret care interpretează codul sursă JavaScript și execută scriptul corespunzător. Primul motor JavaScript a fost creat de către Brendan Eich de la Netscape Communications Corporation, pentru browser-ul web Netscape Navigator. Motorul, cu numele de cod SpiderMonkey, este implementat în C. Acesta a fost de atunci actualizat (în JavaScript 1.5) să se conformeze ECMA-262 Edition 3 Motorul Rhino, creat în primul rând prin Norris Boyd (fosta de Netscape, acum la Google) este o implementare JavaScript în Java. Rhino, ca SpiderMonkey, este ECMA-262 Edition 3 conforme.
Un browser web este de departe mediul gazdă cele mai comune pentru JavaScript. Browsere web a crea în mod obișnuit "obiecte gazdă" pentru a reprezenta DOM în JavaScript. Serverul web este un alt mediu gazdă comun. Un server web JavaScript va expune de obicei obiecte gazdă reprezentând cerere HTTP și obiecte de răspuns, ceea ce un program de activarea JavaScript-ar putea interoga apoi și manipula pentru a genera dinamic pagini web.
Deoarece JavaScript este singura limbă pe care cele mai populare browsere împărtășesc sprijin pentru, a devenit o limbă țintă pentru multe cadre în alte limbi, chiar dacă JavaScript nu a fost niciodata destinat să fie o astfel de limbă. În ciuda performanțelor limitări inerente sale natura dinamică, viteza tot mai mare de motoare JavaScript a făcut limba o țintă compilație surprinzător fezabilă.
PHP
PHP-ul este unul din cele mai folosite limbaje de programare server-side, conform unui studiu efectuat de Netcraft în aprilie 2002, apărând pe 9 din cele 37 milioane de domenii cercetate în studiu. De asemenea, există un grafic al creșterii folosirii PHP-ului pe site-ul oficial. Popularitatea de care se bucură acest limbaj de programare se datorează următoarelor caracteristici :
Familiaritatea : sintaxa limbajului este foarte ușoară combinând sintaxele unora din cele mai populare limbaje Perl sau C;
Simplitatea : sintaxa limbajului este destul de liberă. Nu este nevoie de includere de biblioteci sau de directive de compilare, codul PHP inclus într-un document executându-se între marcajele speciale;
Eficiența : PHP-ul se folosește de mecanisme de alocare a resurselor, foarte necesare unui mediu multiutilizator, așa cum este web-ul;
Securitate : PHP-ul pune la dispoziția programatorului un set flexibil și eficient de măsuri de siguranță;
Flexibilitate : fiind apărut din necesitatea dezvoltării web-ului, PHP a fost modularizat pentru a ține pasul cu dezvoltarea diferitelor tehnologii. Nefiind legat de un anumit server web, PHP-ul a fost integrat pentru numeroasele servere web existente: Apache, IIS, Zeus, server, etc.;
Gratuitate : este probabil cea mai importantă caracteristică a PHP-ului. Dezvoltarea PHP-ului sub licența open-source a determinat adaptarea rapidă a PHP-ului la nevoile web-ului, eficientizarea și securizarea codului.
PHP este simplu de utilizat, fiind un limbaj de programare structurat, ca și C-ul, Perl-ul sau începând de la versiunea 5 chiar Java, sintaxa limbajului fiind o combinație a celor trei. Datorită modularității sale poate fi folosit și pentru a dezvolta aplicații de sine stătătorare, de exemplu în combinație cu PHP-GTK sau poate fi folosit ca Perl sau Python în linia de comandă. Probabil una din cele mai importante facilități ale limbajului este conlucrarea cu majoritatea bazelor de date relaționale, de la MySQL și până la Oracle, trecând prin MS Sql Server, PostgreSQL, sau DB2.
Magazine PHP numere întregi într-o gamă dependentă de platformă, fie un 64-bit sau 32-bit semnat întreg echivalente cu tipul lung C-language. Întregi fără semn sunt convertite la valorile semnate în anumite situații; acest comportament este diferit de alte limbaje de programare. Variabile întregi pot fi atribuite folosind zecimal (pozitive și negative), octal, hexazecimal, și notații binare.
Numerele în virgulă mobilă sunt, de asemenea, stocate într-o gamă platforma specifice. Ele pot fi specificate folosind virgulă mobilă notație, sau două forme de notația științifică. [93] PHP are un tip Boolean nativ, care este similar cu Boolean tipurile native în Java și C ++. Folosind regulile booleene de conversie de tip, valorile de zero sunt interpretate ca adevărat și zero false, la fel ca în Perl și C ++ Tipul de date nul reprezintă o variabilă care nu are nici o valoare.; NULL este valoarea singurul permis pentru acest tip de date.
Variabilele de tip "resurse" reprezintă referiri la resursele din surse externe. Acestea sunt, de obicei create de funcții de la o anumită extensie, și pot fi prelucrate doar de către funcțiile de aceeași extensie; exemplele includ fișier, imagine, și resursele de baze de date.
Arrays pot conține elemente de orice tip care PHP se pot ocupa, inclusiv a resurselor, obiecte, și chiar alte matrice. Pentru este păstrat în listele de valori și hash cu ambele chei și valori, precum și cele două pot fi amestecate.
PHP susține, de asemenea, siruri de caractere care pot fi utilizate cu ghilimele simple, ghilimele duble, nowdoc sau sintaxă heredoc. SPL încearcă să rezolve problemele standard și implementează interfețele eficiente de acces la date și clase.
Figură . Linii de cod dintr-un fisier PHP destinat extragerii din baza de date a comenzilor
Mascota proiectului PHP este elePHPant, un elefant albastru cu logo-ul PHP pe o parte, proiectat de Vincent Pontier
Figură .Mascota PHP.
Sursa: https://en.wikipedia.org/wiki/PHP#/media/File:ElePHPant_studying_notes_from_SugarCon_2007.jpg
MySql
MySQL este un sistem de gestiune a bazelor de date relaționale, produs de compania suedeza MySQL AB și distribuit sub Licenta Publica Generala GNU. Este cel mai popular SGBD open-source la ora actuală, fiind o componentă cheie a stiveiLAMP (Linux, Apache, MySQL, PHP).
Deși este folosit foarte des împreună cu limbaj de programare PHP, cu MySQL se pot construi aplicații în orice limbaj major. Există multe scheme API disponibile pentru MySQL ce permit scrierea aplicațiilor în numeroase limbaje de programare pentru accesarea bazelor de date MySQL, cum are fi: C, C++, C#, Java, Perl, PHP, Python, FreeBasic, etc., fiecare dintre acestea folosind un tip specific API. O interfață de tip ODBC denumită MyODBC permite altor limbaje de programare ce folosesc această interfață, să interacționeze cu bazele de date MySQL cum ar fi ASP sau Visual Basic. În sprijinul acestor limbaje de programare, unele companii produc componente de tip COM/COM+ sau .NET (pentru Windows) prin intermediul cărora respectivele limbaje să poată folosi acest SGBD mult mai ușor decât prin intermediul sistemului ODBC. Aceste componente pot fi gratuite (ca de exemplu MyVBQL) sau comerciale.
MySQL poate fi construit și instalat manual din codul sursă, dar acest lucru poate fi plictisitor, deci este mai frecvent instalată de un pachet binar, cu excepția cazului sunt necesare particularizări speciale. Pe cele mai multe distribuții Linux sistemul de administrare a pachetelor se poate descărca și instala MySQL cu un efort minim, deși configurarea suplimentară este adesea necesară pentru a regla setările de securitate și optimizare.
Deși MySQL a început ca o alternativă low-end la bazele de date proprietare mai puternice, acesta a evoluat treptat pentru a sprijini pe scară mai mare nevoie, de asemenea. Acesta este încă cel mai frecvent utilizat în mici la scară mijlocii implementările singur server, fie ca o componentă într-o aplicație web-based sau LAMP ca un server de baze de date independent. O mare parte din recurs MySQL originea în simplitatea sa relativă și ușurința de utilizare, care este activat de un ecosistem de instrumente open source, cum ar fi phpMyAdmin.
In intervalul mediu, MySQL poate fi scalat prin implementarea l pe hardware mai puternic, cum ar fi un server de multi-procesor cu GB de memorie. Există însă limite pentru cât de performanță de departe se poate scala pe un singur server ("extinderea"), etc. scări mai mari, multi-server MySQL ("scalarea out") implementari sunt necesare pentru a oferi performanță și fiabilitate îmbunătățite. O configurație tipică high-end poate include o bază de date maestru puternic, care se ocupă de operațiuni de date de scriere și este replicat la mai multe sclavi care se ocupa de tot citit operațiuni.Serverul master împinge continuu evenimente binlog la sclavi conectate astfel încât în caz de eșec unui sclav poate fi promovat pentru a deveni noul maestru, minimizand nefuncționare.
Îmbunătățiri în performanța poate fi atins prin cache rezultatele interogărilor bazei de date în memorie, folosind memcached, sau de rupere jos o bază de date în bucăți mai mici, numite cioburi care pot fi repartizate pe o serie de clustere de servere distribuite.
Figură . Legatura dintre PHP si MySql
FileZilla
FileZilla este o aplicație software FTP liberă, multiplatformă, ce constă din FileZilla Client și FileZilla Server. Aplicația este disponibilă pe Windows, Linux și Mac OS X. FileZilla suportă FTP, SFTP și FTPS (FTP prin SSL/TLS). În data de 18 aprilie 2011, Clientul FileZilla era al 9-lea cel mai popular download din toate timpurile de pe SourceForge.net.Suportul SFTP nu este implementat în FileZilla Server.
Codul sursă al FileZilla este găzduit la SourceForge, iar în noiembrie 2003 proiectul aplicației a fost declarat Proiectul Lunii.
Începând versiunea 3, magazine FileZilla nume de utilizator și parole ca fișiere text simplu salvate toate. Acest lucru permite orice malware care a câștigat chiar un acces limitat la sistemul utilizatorului pentru a citi pur și simplu datele stocate în aceste fișiere și pentru a transfera de la distanță aceste date atacator. Potențial predarea controlul site-uri și servere folosite pentru răspândirea în continuare malware și crearea botnet puternice. Autorul FileZilla de răspuns la o astfel de critici spunând că "Dacă sistemul dumneavoastră este sigur, puteți folosi coduri de lansare a rachetelor nucleare ca fundal desktop." Cu toate acestea, criptarea Master Password propusă ar fi singura soluție în anumite cazuri de utilizare.
Pe Windows 7 și 8, utilizatorii ar avea nevoie de o licență profesională sau mai mare pentru NTFS Encrypting File System, sau Enterprise pentru criptare unitate Bitlocker în scopul de a face sistemul suficient de sigur pentru parole plaintext, făcând în mod eficient ediția de Windows nesigur pentru utilizarea cu FileZilla.
În plus, FileZilla nu comunică utilizatorului faptul că parolele sunt stocate în text simplu. [Stocarea fișierelor cheie privată criptate nu este încă acceptată în versiunile curente, precum și utilizarea ssh-agent, în același mod ca versiunile anterioare ale FileZilla.
Autentificarea cheie privată este, de obicei recomandata peste autentificarea pe bază de parolă.
Figură . FileZilla
PhpMyAdmin
PhpMyAdmin este un instrument gratuit și open source scris în PHP destinat să se ocupe de administrarea MySQL cu utilizarea de un browser web. Se pot efectua diferite sarcini, cum ar fi crearea, modificarea sau ștergerea baze de date, tabele, câmpuri sau rânduri; executarea instructiunilor SQL; sau utilizatori și permisiuni de gestionare.
Caracteristici oferite de program sunt: Date interfata Web MySQL gestionarea bazelor de date de import din CSV și SQL de export de date în diferite formate: CSV, SQL, XML, PDF (prin biblioteca TCPDF), ISO / IEC 26300 – Text OpenDocument și foi de calcul , Word, Excel, LaTeX și altele Administrarea mai multor servere Crearea grafice PDF din structura bazei de date Crearea interogări complexe folosind Query-de-Exemplul (QBE) Căutarea nivel global într-o bază de date sau un subset de ea transformarea datelor stocate în orice format, folosind un set de funcții predefinite, cum ar fi afișarea BLOB-date ca imagine sau descărcare-link grafice vii pentru a monitoriza activitatea de server MySQL ca conexiuni, procese, CPU / utilizare memorie, etc. Lucrul cu diferite sisteme de operare.
PhpMyAdmin vine cu o gamă largă de documente și utilizatorii sunt invitați să actualizeze paginile noastre wiki a împărtăși idei și unele tutoriale pentru diverse operatiuni.
Echipa phpMyAdmin va încerca să vă ajute dacă vă confruntați cu orice problemă; aveți posibilitatea să utilizați o varietate de canale de sprijin pentru a obține ajutor. phpMyAdmin este, de asemenea, foarte profund documentate într-o carte scrisă de unul dintre dezvoltatorii – Mastering phpMyAdmin pentru MySQL management eficient, care este disponibil in engleza si spaniola.
Pentru a facilita utilizarea unei game largi de persoane, phpMyAdmin este tradus în 72 de limbi și sprijină atât LTR și RTL limbi. phpMyAdmin a câștigat mai multe premii. Printre altele, a fost ales ca cel mai bun aplicarea PHP în diverse premii și a câștigat în fiecare an premii SourceForge.net comunitare Choice "Cel mai bun instrument sau de utilitate pentru administratori de sistem". phpMyAdmin este un proiect de șaisprezece ani, cu o bază de cod stabil și flexibil; puteți afla mai multe despre proiect și istoria ei. În cazul în care proiectul sa transformat 15, am publicat o pagină sărbătoare.
Teoria Grafurilor
În matematică și informatică, teoria grafurilor studiază proprietățile grafurilor. Un graf este o mulțime de obiecte (numite noduri) legate între ele printr-o mulțime de muchii cărora le pot fi atribuite direcții (în acest caz, se spune că graful este orientat). Un graf poate fi reprezentat geometric ca o mulțime de puncte legate între ele prin linii (de obicei curbe).
Grafurile au o importanță imensă în informatică, de exemplu:
în unele problemele de sortare și căutare – elementele mulțimii pe care se face sortarea sau căutarea se pot reprezenta prin noduri într-un graf;
schema logică a unui program se poate reprezenta printr-un graf orientat în care o instrucțiune sau un bloc de instrucțiuni este reprezentat printr-un nod, iar muchiile direcționate reprezintă calea de execuție;
în programarea orientată pe obiecte, ierarhia obiectelor (claselor) unui program poate fi reprezentată printr-un graf în care fiecare nod reprezintă o clasă, iar muchiile reprezintă relații între acestea (derivări, agregări).
În matematică, și mai ales în teoria grafurilor, un grafic este o reprezentare a unui set de obiecte în care unele perechi de obiecte sunt conectate prin link-uri. Cele interconectate Obiectele sunt reprezentate de abstracțiuni matematice numite noduri, și link-urile care se conectează unele perechi de noduri se numesc muchii. De obicei, un grafic este prezentată în formă schematică ca un set de puncte pentru nodurile, alături de linii sau curbe pentru margini. Graficele sunt unul dintre obiectele de studiu la matematică discrete. Marginile pot fi îndreptate sau nedirijate.
De exemplu, în cazul în care nodurile reprezintă oameni la o petrecere, și există o margine între două persoane în cazul în care dau mâna, atunci acest lucru este un graf neorientat, pentru că dacă persoana A mâinile zguduit cu persoana B, apoi persoana B zguduit, de asemenea, mâna cu persoana A. În schimb, dacă există o margine de la persoana la persoana A B când persoana A cunoaște de persoane B, atunci acest grafic este îndreptată, deoarece cunoașterea cuiva nu este neapărat o relație simetrică (adică, o persoană știe o altă persoană nu nu implică în mod necesar invers, de exemplu, multi fani să cunoască o celebritate, dar celebritate este puțin probabil să cunoască toți fanii lor). Acest ultim tip de grafic se numește graf orientat iar marginile sunt numite muchii sau arce direcționate. Nodurile sunt numite noduri sau puncte, iar marginile sunt de asemenea, numit arcuri sau linii.
Graficele sunt subiectul de bază studiate de teoria grafurilor. Cuvântul "Graficul" a fost folosit pentru prima dată în acest sens de către JJ Sylvester în 1878.
În cele mai frecvente sens al termenului, un grafic este o pereche ordonat G = (V, E) care cuprinde un set de noduri V sau noduri, împreună cu un set E de margini sau link-uri, care sunt subseturi 2-element de V (adică, o margine este legat cu două vârfuri, iar relația este reprezentată ca o pereche neordonată a nodurilor în raport cu muchia particular). Pentru a evita ambiguitatea, acest tip de grafic pot fi descrise mai precis nedirectionate și simplu. Într-o mai notiune generalizate, E este un set împreună cu un raport de incidență care se asociază cu fiecare margine două vârfuri. Într-un alt noțiune generalizată, E este un multiset de perechi neordonate de noduri (nu neapărat distincte).
Mulți autori numesc acest tip de obiect un multigraf sau pseudograph. Toate aceste variante și altele sunt descrise mai pe larg mai jos.Nodurile aparținând la o margine sunt numite capete, obiective, sau nodurile finale ale marginii. Un nod poate exista într-un grafic și nu aparțin unui avantaj. V și E sunt de obicei luate pentru a fi finit, iar multe dintre bine-cunoscute rezultatele nu sunt adevărate (sau sunt destul de diferite) pentru graficele infinite, deoarece multe dintre argumentele eșua în cazul infinit. Mai mult, V este adesea considerat a fi non-gol, dar E este permis să fie setul gol.Ordinea de un grafic este | V | (numărul de noduri). Mărimea unui grafic este | E |, numărul de muchii. Gradul de un vârf este numărul de muchii care se conectează la acesta, în cazul în care o margine care se conectează la vârful la ambele capete (o buclă) se calculează de două ori.Pentru o margine {u, v}, grafic teoreticienii folosesc de obicei notația UV oarecum mai scurt.
Numim graf o pereche ordonată de mulțimi, notată G=(X,U), unde X este o mulțime finită și nevidă de elemente numite noduri sau vârfuri, iar U este o mulțime de perechi (ordonate sau neordonate) de elemente din X numite muchii (dacă sunt perechi neordonate) sau arce (dacă sunt perechi ordonate). În primul caz, graful se numește neorientat, altfel acesta este orientat.
Așadar un graf poate fi reprezentat sub forma unei figuri geometrice alcătuite din puncte (care corespund vârfurilor) și din linii drepte sau curbe care unesc aceste puncte (care corespund muchiilor sau arcelor).
Numim drum într-un graf o succesiune de muchii adiacente și distincte care conectează două vârfuri din graf (numite capetele drumului). Un drum se numește simplu dacă muchiile care îl compun sunt distincte. Numim ciclu un drum care are drept capete un același vârf.
Dacă P = x0, …, xk-1 este un drum în graful G și xk-1×0 este o muchie în acest graf, atunci P + xk-1×0 este un ciclu din graful G.
Un ciclu se numește hamiltonian dacă este simplu și trece prin toate nodurile grafului G, exact o dată, și se numește eulerian dacă trece prin toate muchiile grafului G, exact o dată. Nu orice graf conține un ciclu hamiltonian.
Spunem că S este un subgraf al lui G, dacă acesta conține o parte din vârfurile lui G și numai acele muchii care le conectează.
Figură . Exemplu de graf.Sursa:https ://ro.wikipedia.org/wiki/Graf#/media/File:Graf_complex.png
Comis-voiajor
Problema comis-voiajorului (TSP) cere următoarea întrebare: Având în vedere o listă a orașelor și distanțele între fiecare pereche de orașe, ceea ce este cel mai scurt traseu posibil ca viziteaza fiecare oras exact o dată și se întoarce în oraș de origine? Este o problemă NP-hard în optimizarea combinatorie, important în operațiunile de cercetare și informatică teoretică.
TSP este un caz special al problemei cumpărătorului călătorie și problema de rutare a vehiculelor. În teoria complexității computaționale, versiunea decizie a TSP (în cazul în care, având în vedere o lungime L, sarcina este de a decide dacă Graficul are vreun turneu mai scurt decât L) aparține clasei de probleme NP-complete. Astfel, este posibil ca cel mai rău caz timp de rulare pentru orice algoritm pentru creșterile TSP superpolynomially (probabil, în special, exponențial), cu numărul de orașe.
Problema a fost formulată pentru prima dată în 1930 și este una dintre problemele studiate mai intens in optimizare. Este folosit ca un punct de referință pentru multe metode de optimizare. Chiar dacă problema este dificil de calcul, un număr mare de euristice și metode exacte sunt cunoscute, astfel încât unele cazuri cu zeci de mii de orașe pot fi rezolvate complet și chiar probleme cu milioane de orașe pot fi aproximate în o mică parte din 1% .
TSP are mai multe aplicatii, chiar și în formularea sa cea mai pură, cum ar fi planificarea, logistică, și fabricarea de microcipuri. Modificat ușor, se pare ca o sub-problemă în multe domenii, cum ar fi secvențierea ADN-ului. În aceste aplicații, orașul conceptul reprezintă, de exemplu, clienții, puncte de lipire, sau fragmente de ADN, iar distanța conceptul reprezinta ori călătoresc sau a costurilor, sau o măsură de similitudine între fragmente de ADN.
TSP apare și în astronomie, ca astronomii observând multe surse vor dori să reducă la minimum timpul petrecut de rotire a telescopului dintre sursele. În multe aplicații, se pot impune restricții suplimentare, cum ar fi resurse limitate sau ferestre de timp.
TSP poate fi modelat ca un graf neorientat ponderat, astfel că orașele sunt nodurile graficului, căile sunt marginile graficului, iar distanta de o cale este lungimea marginea de. Este o problemă de minimizare pornire și de finisare la un anumit nod, după ce a vizitat reciproc nod exact o dată. Adesea, modelul este un grafic complet (adică fiecare pereche de vârfuri este conectat printr-o margine). Dacă nu există nici o cale între două orașe, adăugând o margine arbitrar timp va finaliza Graficul fără a afecta tur optimă.
O formulare echivalentă din punct de vedere teoria grafurilor este: Având în vedere un grafic ponderat complet (în cazul în care nodurile ar reprezenta orașe, marginile ar reprezenta drumuri, iar ponderile ar fi costul sau distanța care rutier), a găsi un ciclu hamiltonian cu puțin greutatea.
Problema comis-voiajor este aceea ca avem un graf neorientat în care oricare două vârfuri diferite ale grafului sunt unite printr-o latură căreia ii este asociat un cost strict pozitiv. Cerința este de a determina un ciclu care începe de la un nod aleatorie a grafului, care trece exact o dată prin toate celelalte noduri și care se întoarce la nodul inițial, cu condiția ca ciclul sa aiba un cost minim. Costul unui ciclu este definit ca suma tuturor costurilor atașate laturilor ciclului.
Metoda backtracking urmareste sa evite generarea tuturor solutiilor posibile, scurtandu-se astfel timpul de calcul. Prin metoda backtracking, orice vector solutie este construit progresiv, incepand cu prima componenta si mergand catre ultima, cu eventuale reveniri asupra valorilor atribuite anterior. Reamintim ca x1,x2,…,xn primesc valori in multimile v1,….,vn .
Pseudocod
Semnificatia variabilelor:
x[10]=vectorul care se prelucreaza pentru a obtine solutia
a[10][10]=matricea de adiacenta a grafului
n=numarul de noduri
m=nr de muchii
i,j=variabile contor
k=da numarul nodului curent
ok=variabila din fct cond, ia doar valorile 0 sau 1 si are rol de adevar
b,y=varibile cu care stabilim unde se pune in matrice.
Figură . Pseudocod algoritm backtracking. Sursa:http://software.ucv.ro/~cmihaescu/ro/teaching/ACA / docs/PCV.pdf
Figură . Pseudocod algoritm backtracking. Sursa:http://software.ucv.ro/~cmihaescu/ro/teaching/ACA / docs/PCV.pdf
Algoritmul greedy construiește o singură cale incepand de la un nod dat. În ambele abordarea lacomi și euristică noi trebuie să utilizeze oprocedură esențial care alege ceea ce margine pentru a adăuga lacalea.
Este nevoie de trei parametri:
• ultima – întreg, care ne informează în cazul în care începe de la marginea
• min- pointer întreg – puncte de la costul de marginea adăugate prin procedura
• j_min – pointer întreg – puncte la indicele de nod sfârșitul marginea adăugate
Figură . Pseudocod algoritm greedy.
Sursa:http://software.ucv.ro/~cmihaescu/ro/teaching/ACA / docs/PCV.pdf
Aplicația trebuie să determine ordinea de deservire a solicitărilor astfel încât drumul parcurs să fie minim, de aici aparand si legatura intre problema comis-voiajor si aplicatia mea.
Google Maps si serviciile Google
Google Maps este un desktop și un serviciu de telefonie mobilă de publicitate de cartografiere web dezvoltat de Google. Acesta oferă imagini din satelit, hărți stradale, 360 ° vederi panoramice de străzi (Street View), condițiile de trafic în timp real (Google Trafic), și planificarea rutelor de călătorie pe jos, autoturism, bicicleta (în versiune beta), sau transportul public.
Google Maps oferă un API care permite hărți să fie incluse pe site-uri terțe, și oferă o localizare pentru întreprinderi urbane și alte organizații în numeroase țări din întreaga lume. Google Maps imagini din satelit nu sunt actualizate în timp real; Cu toate acestea, Google adaugă date la baza de date de primar în mod regulat. Site-ul de asistență Google afirmă că cele mai multe dintre imaginile nu sunt mai mult de trei ani. Google Maps a început ca un program de C ++ desktop proiectat de Lars și Jens Eilstrup Rasmussen la Unde 2 Technologies. În octombrie 2004, compania a fost achiziționată de către Google, care a transformat într-o aplicație web. În aceeași lună, Google a achizitionat Keyhole, o companie de vizualizare a datelor geospațiale cărui cerere cort suite, Pământ Viewer, a apărut ca mare succes aplicația Google Earth în 2005 în timp ce alte aspecte ale tehnologiei sale de bază au fost integrate în Google Maps. În septembrie 2004, Google a achizitionat ZipDash, o companie care a furnizat o analiză a traficului in timp real.
Google Maps a fost lansat la scurt timp după aceea, în februarie 2005. Google Maps utilizează o variantă apropiată a proiecției Mercator, și, prin urmare, nu pot demonstra cu exactitate zonele din jurul polilor. Versiunea actuală reproiectat a cererii desktop a fost pus la dispoziție în 2013, alături de (pre-2013) versiunea "clasica". Hărți Google pentru mobil, în luna august 2013 a fost app din lume cele mai populare smartphone-uri pentru, cu peste 54% din proprietarii de smartphone-uri la nivel mondial, folosind cel puțin o dată.
Este o vedere de sus în jos, folosind în principal fotografii aeriene. O mare parte din imagini prin satelit disponibile din lume nu este mai mare de 3 ani și actualizate în mod regulat. Google Maps oferă de înaltă rezoluție imagini aeriene sau din satelit pentru majoritatea zonelor urbane ale lumii.
Imagini din satelit nu apare neapărat în aceeași resolution- de exemplu zonele mai puțin populate apar de multe ori cu mai puține detalii. motorului de cartografiere Google a determinat un val de interes în imagini prin satelit, din cauza cartografiere și prin satelit de ușor pan-capabil și căutare instrument imagini.site-uri au fost create pentru a facilitate imagini din satelit cu repere naturale și umane-a făcut interesante, inclusiv noutati, cum ar fi scris mare vizibile în imaginile, stadioane celebre, și formațiuni geologice unice.
Deși Google folosește cuvântul satelit, de cele mai multe imagini de înaltă rezoluție de orașe este fotografiilor aeriene luate de aeronave care zboară la 800 de picioare (240 m) la 1.500 de picioare (460 m); cu toate acestea, de cele mai multe alte imagini este de la sateliți. Google Aerial View este oferit în unele zone urbane.
Google Maps ofera o planificare a traseului în "Get Directions" . Până la patru moduri de transport sunt disponibile în funcție de zona:. Conducere, transport public (a se vedea secțiunea de Google Transit de mai jos), mersul pe jos, cu bicicleta și. Trolly auto a fost luată în considerare în Nepal.
În combinație cu Google Street View, probleme cum ar fi parcare, benzi de cotitură, și străzile cu sens unic poate fi vizualizat înainte de călătorie. Direcții de conducere sunt acoperite după cum urmează: Cele mai multe țări din Eurasia continentală și Africa sunt acoperite adiacent, inclusiv Nepal, Regatul Unit, Irlanda, Insulele Canare, Cipru, Malta, Sri Lanka, de cele mai multe Indonezia și Timorul de Est. China continentală, Hong Kong, Macao, Iordania, Liban și Coreea de Nord au de ghidare disponibile fără conexiune cu alte state. Doar indicații de tranzit publice sunt prevăzute pentru Coreea de Sud. Toate țările de Nord continentală și America Centrală sunt acoperite adiacent. Toate țările din America de Sud continent sunt acoperite. Toate tarile excluzând Columbia, dar inclusiv Trinidad și Tobago sunt tratate adiacent. Columbia a orienta disponibile fără conexiune cu alte state. Toate țările și teritoriile locuite din Caraibe sunt acoperite, deși, în general, nu există legături între insule. În plus, Samoa Americană, Australia, Azore, Capul Verde, Comore, Insulele Cook, Insulele Feroe, Statele Federate ale Microneziei, Fiji, Polinezia Franceză, Guam, Hawaii, Islanda, Japonia, Madagascar, Maldive, Mauritius, Mayotte, Noua Caledonie, Noua Zeelandă, Niue, Insulele Mariane de Nord, Palau, Filipine, Réunion, São Tomé și Príncipe, Seychelles, Samoa, Taiwan, Tonga, Vanuatu, Wallis și Futuna sunt acoperite ca regiuni de sine stătătoare, cum sunt Nuuk în Groenlanda, Sabah în Malaezia, părți din Papua Noua Guinee, Insulele Solomon părți și Socotra din Yemen.
După succesul de mashup-inginerie inversa, cum ar fi chicagocrime.org și housingmaps.com, Google a lansat Google Maps API în iunie 2005 ,pentru a permite dezvoltatorilor să integreze Hărți Google în site-urile lor. Este un serviciu gratuit, iar în prezent nu conține anunțuri, dar Google afirmă în termenii lor de utilizare pe care le rezervă dreptul de a afișa anunțuri pe viitor. Prin utilizarea API-ul Google Maps, este posibil pentru a încorpora Google Maps Site într-un site web extern, pe care site-ul de date specifice pot fi suprapuse.
Deși inițial doar un API JavaScript, API Hărți fost extins pentru a include un API pentru aplicații Adobe Flash (dar acest lucru a fost depreciat), un serviciu de preluarea imagini Harta statice, și servicii web pentru efectuarea geocodare, generând indicații rutiere, precum și obținerea de profile de elevatie. Peste 1.000.000 site-uri web folosesc API-ul Google Maps, ceea ce face mai greu de utilizat API dezvoltarea de aplicatii web.
Google Maps API este gratuit pentru uz comercial, cu condiția ca site-ul pe care este utilizat este accesibil publicului și nu percepe taxe pentru accesul și nu generează mai mult de 25 000 de hartă accesează o zi. Site-urile care nu îndeplinesc aceste cerințe pot achiziționa Google Maps API pentru mediul de afaceri. Succesul Google Hărți API a dus o serie de alternative concurente, inclusiv API Yahoo! Maps, Bing Maps Platform, platforma de dezvoltare MapQuest sau Prospectul și OpenLayers prin auto-hosting. În septembrie 2011, Google a anuntat ca va intrerupe un număr de sale produse, inclusiv Google Maps API pentru Flash.
În octombrie 2005, Google a introdus o aplicație Java numit Google Maps pentru mobil, destinate pentru a rula pe orice telefon bazate pe Java sau dispozitiv mobil. Multe din caracteristicile site-web-based sunt furnizate în cerere. La 04 noiembrie 2009, Google Maps Navigation a fost lansat in colaborare cu Google Android OS 2.0 Eclair pe Motorola Droid, adaugand comenzi vocale, rapoarte de trafic, și de stradă vedere sprijin. eliberarea inițială a fost limitat la Statele Unite ale Americii. Serviciul a fost lansat în Marea Britanie, la 20 aprilie 2010 și în mare parte a continental Europa de Vest, la 9 iunie 2010. În martie 2011 Google vicepreședinte al Locatie Service, Marissa Mayer a declarat că Google a oferit servicii harta la 150 de milioane de utilizatori. În iunie 2012, Apple a anunțat că va înlocui Google Maps cu propria serviciu hărți de iOS 6. Cu toate acestea, la 13 decembrie, 2012, Google a anunțat disponibilitatea de Google Maps în Apple App Store, începând cu versiunea pentru iPhone. Doar ore după aplicația Google Maps iOS a fost lansat, a devenit aplicația top gratuit în App Store. A fost anunțat la 06 decembrie 2012, care Google Maps va face drumul său spre Wii U, a opta generație consolă de jocuri video acasă Nintendo.
Accesul la o variantă de Google Street View pe Wii U a fost lansat în 14 februarie 2013 ca o aplicatie descărcabil inițial gratuit disponibil prin intermediul Nintendo eShop. Ca de 31 octombrie 2013, aplicația nu mai este disponibil gratuit.
În Google Maps, parametrii URL sunt uneori date condus în limitele și interfața cu utilizatorul prezentate de web sau nu reflecta aceste limite. În particular, nivelul de zoom (notată cu parametrul z) sprijinit variază. În regiunile mai puțin populate, nivelurile de zoom acceptate ar putea opri la aproximativ 18.
În versiunile anterioare ale API, precizând aceste valori mai mari ar putea duce la afișarea nici o imagine. În orașele occidentale, nivelul de zoom sprijinit în general se oprește la aproximativ 20. În unele cazuri izolate, datele suporta pana la 23 sau mai mare, la fel ca în aceste elefanți sau acest punct de vedere a persoanelor bine în Ciad, Africa.Versiuni diferite ale interfețelor API și web sau nu sprijine pe deplin aceste niveluri mai ridicate. Începând din octombrie 2010, harta privitorul Google actualizează bara de zoom pentru a permite utilizatorului pentru a mări tot drumul când centrat pe arii care susțin un nivel de zoom mai mare. În versiunea clasica, personalizate (split) si harta Street View vederi pot fi salvate ca link-uri URL parametrizat și împărtășite de către utilizatori. În 2013 versiunea reproiectat, o fereastră de ansamblu mult mai mic devine interactiv pe situându-se și permite unui utilizator pentru a schimba locația și rotiți Street View și a salva o vedere parametrizat, de asemenea.
Google Maps început ca un program C ++ proiectat de doi frați danez Lars și Jens Eilstrup Rasmussen de la compania Sydney pe baza de 2 Unde Technologies. Acesta a fost conceput în primul rând pentru a fi descărcate separat de către utilizatori, dar compania mai târziu tăbărât ideea pentru un produs pur web-based de gestionare a Google, schimbarea metodei de distribuire. În octombrie 2004, compania a fost achiziționată de Google Inc în cazul în care se transformă în aplicația web Google Maps. În aceeași lună, Google a achizitionat Keyhole, o companie geospațiale vizualizare a datelor, (cu investiții controversate din CIA), a căror aplicare cort suite, Pământ Viewer, a apărut ca mare succes aplicația Google Earth în 2005 în timp ce alte aspecte ale tehnologiei sale de bază au fost integrate în Google Maps. In septembrie 2004 Google a achizitionat ZipDash, o companie care a furnizat o analiză a traficului in timp real.
2005 Cererea a fost anunțată pentru prima dată pe blog-ul Google de pe 08 februarie 2005, și a fost situat la Google. A sprijinit inițial numai utilizatorii de Internet Explorer și browsere web Mozilla, dar a fost adăugat suport pentru Opera și Safari pe 25 februarie 2005, dar în prezent . Opera este eliminat din lista cerințelor de sistem. Acesta a fost in beta timp de șase luni înainte de a deveni parte a Google Local pe 6 octombrie, 2005. În aprilie 2005, Google a creat Google Ride Finder folosind Google Maps. În iunie 2005, Google a lansat Google Maps API. În iulie 2005, Google a început Google Maps și Google servicii locale pentru Japonia, inclusiv hărți rutiere. Pe 22 iulie 2005, Google a lansat "Hybrid View". Împreună cu această modificare, datele de imagine din satelit a fost transformat de la placa carrée la proiecție Mercator, ceea ce face pentru o imagine mai puțin distorsionată în temperate climat latitudini. În iulie 2005, în onoarea de treizeci și șaselea de ani de la debarcarea Apollo Moon, Google Moon a fost lansat. În septembrie 2005, în urma uraganului Katrina, Google Maps actualizat rapid imagini sau de New Orleans satelit pentru a permite utilizatorilor pentru a vedea gradul de inundații în diferite părți ale orașului. (Ciudat, în martie 2007, imagini care arată daune uragan a fost înlocuit cu imagini din fața furtunii, această înlocuire nu a fost făcută pe Google Earth, care utilizează încă imagini post-Katrina.)
2006 Din ianuarie 2006, Google Maps prezentate hărți rutiere pentru Statele Unite, Puerto Rico, Canada, Marea Britanie, Japonia, precum și anumite orașe din Republica Irlanda. Acoperire a zonei din jurul Torino a fost adăugată la timp pentru Jocurile Olimpice de iarnă din 2006. La 23 ianuarie 2006, Google Maps a fost actualizat pentru a utiliza aceeași bază de date de imagine din satelit ca Google Earth. La 12 martie 2006, Google Mars a fost lansat, care oferă o hartă și satelit imagini draggable a planetei Marte. În aprilie 2006, Google Local a fost fuzionat în principal site-ul Google Maps. La 3 aprilie 2006, versiunea 2 a API Maps a fost lansat. La 11 iunie 2006, Google a adăugat capabilități geocodare la API, satisface cele mai caracteristica-a cerut dezvoltator pentru acest serviciu. La 14 iunie, 2006, Google Maps pentru Enterprise a fost lansat oficial. Ca un serviciu comercial, acesta are intranet și implementări-publicitate gratuit. De asemenea, în luna iunie, texturate de modele de construcții 3D au fost adăugate în Google Earth. În iulie 2006 Google a început, inclusiv Hărți Google listări de afaceri sub formă de OneBoxes locale din principalele rezultate de căutare Google. În decembrie 2006, Google a integrat o funcție chemat Plus Box în principalele rezultatele căutării. La 19 decembrie Google a adăugat o funcție care permite o adăuga destinații multiple pentru a orienta lor de conducere. Începând din februarie 2007, clădirile și stații de metrou sunt afișate în Google Maps "harta vedere "pentru piese de New York City, Washington, DC, Londra, San Francisco, și alte orașe.
2007 Pe 29 ianuarie 2007 rezultatele universale locale au fost modernizate și mai multe date incluse în pagina principală Google rezultate. La 28 februarie 2007, Google a traficului de informatii a fost lansat oficial pentru a include în mod automat în timp real condițiile fluxului de trafic la hărțile 30 mari orase din Statele Unite. La 08 martie 2007, Centrul de afaceri locale a fost modernizate. La 16 mai 2007 Google lansat rezultatele căutării universale, inclusiv mai multe informații Hartă pe pagina principală Google rezultate. La 18 mai 2007 Google a adăugat capabilități de căutare de cartier.La 29 mai 2007 , Google suport direcții de conducere a fost adăugată la Google Maps API. La 29 mai 2007, Street View a fost adăugat, oferind o vedere de 360 de grade la nivelul solului de străzi, în unele orașe mari din Statele Unite. Pe 19 iunie 2007, comentarii au fost lăsate să se adauge direct întreprinderilor pe Google Maps. La 28 iunie 2007, au fost introduse indicații rutiere draggable.La 31 iulie 2007, a fost anunțat sprijinul pentru microformatul hCard. pe 21 august 2007, Google a anunțat un mod simplu de a încorpora Google Maps în alte site-uri. La 13 septembrie 2007, 54 de țări noi au fost adăugate la Google Maps din America Latină și Asia. La data de 3, 2007, Google Transit a fost integrat în Google Maps face transportul public de rutare posibilă Google Maps. La 27 octombrie 2007, Google Maps a început cartografierea geoweb și arată rezultatele în Hărți Google. La 27 octombrie, 2007 Google Maps a adăugat o interfață căutare pentru cupoane în lista de afaceri. La 27 noiembrie 2007, s-au adăugat "Terrain" vedere prezentând caracteristicile topografice de bază. Butonul de vizualizare "Hybrid" a fost eliminat, și înlocuit cu un "Arată etichete" caseta de sub butonul "Satelit" pentru a comuta între "hibrid" și opinii "satelit".
2008 Pe 22 ianuarie 2008 , Google a extins OneBox Locale din trei listări de afaceri pentru zece.La 20 februarie 2008, Google Maps permis căutări să fie rafinat de Evaluare utilizator și cartiere. La 18 martie 2008, Google a permis utilizatorilor finali de a edita listări de afaceri și se adaugă noi locuri. La 19 martie 2008, Google a adăugat opțiuni categoria nelimitate în Centrul de afaceri locale. La 02 aprilie 2008, Google a adăugat linii de contur la vizualizarea teren.În aprilie 2008, un buton pentru a vizualiza ultimele Locații salvate a fost adăugată la dreapta câmpului de căutare. În mai 2008, un buton "More" a fost adăugat alături de "Harta", "Satellite", iar butoanele "teren", permite accesul la fotografii legate geografic pe Panoramio și articole despre Wikipedia. La 15 mai 2008, Google Maps a fost portat la Flash și ActionScript 3 ca fundament pentru aplicatii internet bogate. La 22 iulie 2008, S-au adăugat direcții de mers pe jos. La 04 august 2008, Street View a lansat în Japonia și Australia. Pe 05 august 2008, interfața cu utilizatorul a fost reproiectat. La 29 august 2008, Google a semnat un acord în care GeoEye le-ar furniza imagini de la un satelit, și a introdus instrumentul Map Maker, care permite oricărui utilizator să îmbunătățească datele harta văzute de toți. La 19 septembrie 2008, o caracteristică de căutare inversă de afaceri a fost adăugat. La 26 septembrie 2008, s-au adăugat informații pentru Autoritatea New York Metropolitan Transit. Pe 07 octombrie 2008, GeoEye-1 a avut prima sa imagine, o vedere panoramică de la Universitatea din Pennsylvania Kutztown . Pe 26 octombrie 2008, inversa geocodare a fost adaugat API Maps. La 11 noiembrie 2008, Street View in Spania, Italia, și Franța a fost introdus. La 23 noiembrie 2008, AIR suport pentru API Hărți pentru Flash a fost adaugat. La 14 noiembrie 2008, a fost introdus o noua interfata de utilizator pentru Street View. La 28 noiembrie 2008, hărți, informații de afaceri locale, și tendințele locale pentru China au fost introdus. La 09 decembrie 2008, a fost introdus 2x Street View acoperire.
2009 Pe 19 martie 2009 Street View a fost lansat în Marea Britanie și Olanda. În mai 2009, un nou Google Maps logo a fost introdus. La începutul lunii octombrie 2009, în Google înlocuit Tele Atlas ca furnizor lor principal de date geospațiale în versiunea SUA Maps și utilizeze propriile date. În octombrie 2009, căile ferate au fost refăcute , oferind un aspect ușor nou și actualizate, eliminarea linii în vârstă. De asemenea, în aceeași lună, hărți în mai multe domenii au fost schimbate pentru a include străzi de hârtie și alte drumuri ciudate care nu există, precum și linii de lot prezintă până pe interfata hartă.
2010 Pe 11 februarie 2010, Google Maps Labs a fost adăugată. Pe 11 martie 2010, Street View în Hong Kong și Macao au fost lansate. La 25 mai 2010, transportul public de rutare pentru Danemarca s-au adăugat prin integrarea cu Rejseplanen.dk. În decembrie 2010 Internet Explorer 7.0+ , Firefox 3.6+, Safari 3.1+ și Google Chrome sunt acceptate.
2011 Pe 08 aprilie 2011 Google a anunțat că va începe încărcarea pentru utilizarea API de către site-uri comerciale pe o limită. De asemenea, a introdus un serviciu premium licențiat. Pe 19 aprilie 2011, Cartograf fost adăugată la versiunea americană a Google Maps, ce permite orice viewer pentru a edita și adăuga modificări Google Maps. Acest lucru oferă Google cu actualizări locale hartă aproape în timp real în loc de așteptare pentru companiile hartă de date digitale pentru a lansa actualizări mai rare.
2012 La 31 ianuarie 2012, Google, datorită oferind Maps sale gratuit, a fost găsit vinovat de abuz de poziție dominantă de aplicare a acesteia Google Maps și dispusă de o instanță la plata unei amenzi și despăgubiri Bottin Cartographes, un francez firma de cartografiere. La 30 mai 2012, Google Locații a fost înlocuit de Google+ Local, care acum se integrează direct cu serviciul Google+ pentru a permite utilizatorilor pentru a posta fotografii și recenzii de locații direct la pagina de pe serviciul. În plus, Google+ Local și Hărți de asemenea, acum dispun de comentarii detaliate și evaluări de Zagat, care a fost achiziționată de Google în septembrie 2011. În iunie 2012, Google a început râuri și canale de cartografiere Marea Britanie în parteneriat cu canalul și râul Trust. Compania a declarat că va actualiza programul în cursul anului, pentru a permite utilizatorilor să-și planifice călătoriile care includ încuietori, poduri și towpaths lungul 2000 mile de trasee de râu din Marea Britanie. A fost anunțat pe 11 octombrie că Google actualizat 250.000 mile de drumuri din SUA. În decembrie 2012, cererea Google Maps a fost separat disponibil în App Store, dupa ce Apple a scos din instalarea implicită a versiunii sistemului de operare mobil iOS 6. În fața a numeroase plângeri despre recent lansat aplicația Hărți Apple, CEO-ul Apple Tim Cook a fost nevoit să facă o scuze și recomandă alte aplicații similare.
2013 Pe 29 ianuarie 2013, Google Maps a fost actualizat pentru a include o hartă de Coreea de Nord. La 27 martie 2013, Google a lansat Google Maps Engine Lite, o versiune simplificată a Maps comerciale produsului său motor, care este menit să înlocuiască în cele din urmă funcția Hărțile mele. La 23 aprilie 2013, Street View a fost lansat în Ungaria și Lesotho, extinderea acoperirii de 360 de grade imagini de cartografiere Google Maps de a cincizeci de țări. În aceeași perioadă de timp, Google a finalizat, de asemenea, "cel mai mare update unic de Street View" vreodată, cu fotografii de peste 350.000 de mile (560000 km) de drum peste paisprezece tari. Ca de 03 mai 2013, Google Maps recunoaște Palestina ca țară, în loc de redirecționarea în teritoriile palestiniene. Google a anunțat pe blog-ul său Google Maps la 15 mai 2013 ca o versiune noua imbunatatita a Google Maps este disponibil pentru utilizare de către utilizatorii înregistrați Google care solicita o invitație. Noua versiune Google Maps poate crea o hartă personalizată, specifică comportamentului fiecărui utilizator, dezvăluind subliniază că se bazează pe informațiile care sunt introduse, și furnizarea de informații locale utile, cum ar fi restaurante. O caracteristică nouă este un carusel care adună toate imaginile Google Maps într-o locație și conține o vedere Pământ care integrează direct experiența 3D de la Google Earth în noile hărți. Noua versiune este, de asemenea, legături mai strânse la Google+ și afacerile locale, care sunt afișate sunt bazate pe rețea Google+ fiecărui utilizator. Anunțuri în noua versiune Google Maps au fost reproiectate și secțiuni scurte de publicitate sunt plasate direct pe hartă în sine, pe lângă denumirea comercială. În august 2013 Google Maps îndepărtat stratul Wikipedia, care a oferit link-uri la conținut Wikipedia despre locațiile indicate în Hărți Google utilizând geocoduri Wikipedia.
2014 Pe 21 martie 2014, Google a lansat o noua interfata Google Maps, deși nu este interfața implicită din decembrie 2014. La 12 aprilie 2014, Google Maps a fost actualizat pentru a reflecta 2014 criza Crimeea.Crimeea este prezentat ca Republica Crimeea în Rusia și ca Republica Autonomă Crimeea din Ucraina. Toate celelalte versiuni arată o graniță disputată punctată.
2015 În luna aprilie 2015, pe o hartă în apropiere de orașul pakistanez de Rawalpindi, imagini siglei Android urinat pe logo-ul Apple a fost adăugată prin Cartograf și a apărut pe Google Maps . Vandalism a fost eliminat curând și Google a cerut scuze în mod public. Cu toate acestea, ca urmare, Google moderare utilizator dezactivat în Cartograf, precum și pe 12 mai, editare handicap la nivel mondial până când poate concepe o nouă politică pentru aprobarea modificări și evitarea vandalism. La 29 aprilie 2015, utilizatorii Google Maps clasice au fost transmise la noile Google Maps cu optiunea de a reveni eliminat din interfața. Schemele de url vechi, de asemenea, transmis noua versiune Google Maps ceea ce face imposibil pentru utilizatorii de a utiliza versiunea clasica. Cu toate acestea, pe diferite bloguri utilizatorii au găsit ULUI de lucru pentru a continua să utilizați Google Maps clasice. Un blogger a lansat, de asemenea, o petiție îndreptată spre CEO-ul Google Larry Page, cerându-i să dea înapoi opțiunea de a utiliza Maps clasice.
Google Latitude a fost o caracteristică de Google, care permite utilizatorilor să împărtășească locațiile fizice cu alte persoane. Acest serviciu a fost bazat pe Google Maps, în special pe dispozitive mobile. Nu a fost un widget iGoogle pentru desktop-uri și laptop-uri, de asemenea. Unii au exprimat îngrijorarea cu privire la problemele de confidențialitate ridicate de utilizarea serviciului. Pe 09 august 2013, acest serviciu a fost întrerupt.
Studiu de caz
Aplicația realizată este formată din două module:
Modulul dispecer – este destinat personalului care poate prelua comenzi telefonice. Pentru accesul la acest modul avem nevoie de un sistem de calcul conectat la internet (se poate utiliza atât un sistem PC, dar nu excludem utilizarea chiar a unei tablete). Rolul utilizatorului este să salveze, folosind o interfață grafică ușor de utilizat, toate comenzile telefonice primite. Se preferă utilizarea telefonului ca mijloc de comunicație între client și utilizator, deoarece prin intermediul acestuia pot fi transmise informații detaliate despre eventualele probleme ce se doresc a fi rezolvate. Acest lucru permite înștiințarea, în timp util, a conducătorului auto ce va deservi respectivul client, cu privire la necesarul de materiale, de timp, etc. pentru înlăturarea defecțiunilor.
Modulul mobil – este folosit de către cei care realizează, efectiv, intervențiile la sediile clienților. Acest modul este accesat doar de pe dispozitive mobile, echipamente ce pot fi ușor manevrate de către un operator (conducătorul auto) fără pregătire specială în domeniul IT. Modulul mobil reprezintă, de fapt, o aplicație destinată sistemului de operare Android, sistem de operare larg utilizat de multe dispozitive mobile, inclusiv de smartphone.
După cum am precizat mai sus, modulul dispecer este utilizat de către o persoană ce poate prelua, telefonic, prin email sau chat, solicitările clienților și informațiile despre natura defecțiunilor apărute. În cazul de față, arealul de intervenție cuprinde o mare parte din județul Suceava, dar și localități din județele învecinate, dar aflate la distanțe mici față de municipiul Suceava. Precizăm că sediul firmei este în municipiul Suceava. În stabilirea numărului de puncte de intervenție am ținut cont de următoarele restricții (limitări):
– încadrarea, pe cât posibil, în programul normal de 8 ore, dar nu mai mult de 12 ore;
– respectarea vitezei maxime de circulație pe toate sectoarele de drum;
– orice intervenție presupune un consum de timp (am considerat, în medie, jumătate de oră pentru fiecare intervenție).
După preluarea solicitării, dispecerul trece la localizarea pe hartă a poziției punctului de intervenție, pe baza adresei clientului. Pentru acest lucru folosește un calculator, de preferat desktop, ce permite afișarea unei hărți (creată folosind servicii Google). O astfel de hartă poate fi observată în imaginea urmatoare.
Figură . Harta vizibila in modulul dispecer de cautare si salvare in DB a noii comenzii
Dupa cum se poate observa avem 4 textbox-uri(primul pentru a introduce adresa cautata , in al doilea si al treilea ne sunt generate automat coordonatelei adresei la momentul in care vom da click pe butonul „Geocode”, iar in al patrulea textbox vom introduce natura defectiunii sau alte detalii), 2 butoane („Geocode”-genereaza coordonatele adresei si „Salveaza”-salveaza toate datele in baza de date) si suntem contectati la baza de date.Initial cadrul hartii este asupra judetului Suceava, unde de altfel se afla si sediul firmei. Folosind această interfață, dispecerul, introduce adresa într-un câmp de căutare și apăsând butonului Geocode obține coordonatele (latitudine și longitudine) și localizarea acestor coordonate pe hartă. Acest lucru poate este ilustrat în imagine.Se observă că, în cazul de față, se caută Gura Humorului, din județul Suceava.
Figură . Localizarea noii comenzi pe aceeasi interfata
Pentru afisarea markerelor pe harta am folosita urmatoarea functie in cadrul functiei de initializare a hartii:
Figură .Functia care ne afiseaza markerele pe harta
Pe lângă afișarea coordonatelor punctului căutat, se realizează și o localizare pe hartă a acestui punct. Poziționarea unui marker pe hartă ne ajută foarte mult în procesul de identificare a unei locații corecte, ceea ce nu ar compromite activitatea firmei într-o anumită zi.
În decursul unei zile, dispecer se ocupă cu căutarea și salvarea comenzilor primite. Salvarea propriu-zisă a acestor date se face în momentul în care dispecerul dă click pe „salveaza”.
Coordonate comenzilor primite sunt salvate pe un server MySQL, care este sursa de date atât pentru activitatea de dispecerat, cât și pentru aplicația mobilă. Pe lângă coordonate, aplicația dispecer permite și salvarea unor informații suplimentare despre natura serviciului solicitat, descrierea defecțiunii etc.
Pentru conectarea la baza de date avem urmatorul fisier de tip php:
Figură .Fisierul PHP pentru conectarea la baza de date
Observam ca lucram pe baza de date „test”, cu numele de utilizator „my_stud_usr” pe server-ul universitatii „stud.usv.ro”.
O altă componentă a aplicației destinată dispecerului afișează traseele autoturismelor firmei care se află pe teren cât și unde se află mașina într-un moment dat. Traseul pentru autoturism, într-o anumită zi, poate fi vizualizat în imagine.
Figură . Traseul masinii ce realizeaza service-ul
Bucata de linii de cod care ne ajuta sa afisam markerele(comenzile) o putem vizualizare in imaginea urmatoare:
Figură .Afisarea comenzilor pe harta
Iar pentru afisarea traseului ce va fi urmat de catre autoturism am folosit urmatoarele referinte si functia aceasta:
Figură .Afisarea traseului pe harta
Observam faptul ca masina pleaca dintr-un punct si se intoarce in acelasi punct si anume sediul firmei.Pana la urma masian trebuie sa efectueze acest ciclu. Acest lucru l-am realizat dupa cum se vede si in imaginile urmatoare:
Figură .Initializare punctului de plecare si de sosire cu variabila „start”
Figură .Initializarea variabilei „start” cu variabila „center”
Figură .Initializarea variabilei „center”cu coordonatelei firmei
Pentru a vedea in orice moment unde se afla masina, mobilul transmite care aceeasi baza de date , dar tabel diferit(„localizare”), coordonatele lui iar eu prin urmatorul fisier PHP le preiau si afisez pe harta unde se afla masina.
Figură .Fisierul PHP prin care preiau coordonatele mobilului in orice moment
Distantele ce trebuie parcurse,dar si timpii de mers si de rezolvare a defectiunii sunt generatati automat sub harta de mai sus in urmatorul tabel:
Tabel . Tabel centralizator cu locatia,latitudinea,longitudinea,distanta si timpul privind traseul ce va fi urmat de care masina
Observam ca la sfarsitul tabelului avem un total de minute.Acest total include atat deplasarea pana la locul defectiunii cat si manopera(am ajuns la concluzia ca la fiecare punct de lucru vom pierde in medie 30 minute).
Figură . Linii de cod privind calculul deplasarii si manoperei in minute
Dupa cum se poate observa,adresa cautata anterior(Gura Humorului) nu exista in traseu. Acest lucru se datoreaza faptului ca se executa comenzile care sunt la data curenta,
Figură .Linie de cod cu ajutorul careia selectam comenzile ce vor fi realizate in functie de data
iar in momentul introducerii in baza de date a noii adrese, aceasta inca nu are nici o data pana nu se face o simulare a traseului sa vedem cu cat se modifica.
Figură . Comenzile din baza de date si diferenta dintre acestea din punctul de vedere al datei
Pe parcursul unei zile se pot primi multe alte comenzi. La primirea unei astfel de comenzi de la un anumit client se încercă rezolvarea ei în ziua curentă. Astfel, ținând cont de locația mașinii ce realizează service-ul, se încearcă o reconfigurare a traseului. Astfel, dacă adresa noii comenzi nu determină o abatere semnificativă a autoturismului de la vechiul traseu, atunci această nouă comandă va fi inclusă în traseu. Totuși, înainte de a introduce noua comandă, trebuie să ținem cont că aceasta va determina o creștere totală a timpului de execuție a tuturor comenzilor. După cum am zis, acest timp trebuie să fie în jur de 8 ore, dar nu mai mult de 12 ore.
Dupa cum am precizat mai sus, simulare poate fi vizualizata in imaginea urmatoare:
Figură . Interfata pentru simularea noului traseu,incluzand noua comanda
Observam ca masina se afla in acest moment in Pascani, pe Aleea 22 Decembrie si ca se indreapta spre Piatra Neamt, iar introducand noua adresa, Gura Humorului, nu aduce modificari majore asupra traseului dupa cum se observa si din tabelul urmator:
Tabel . Tabel centralizator din cadrul simularii,incluzand si noua comanda
Observam o prelungire a programuli de lucru cu aproximativ 2 ore,initial fiind de 8 iar acum de 10 ore.Se incadreaza in programul de lucru pe care l-am stabilit si anume nu mai mult de 12 ore.
Dupa ce am realizat simularea si am observat ce modificari ar avea loc si ca ne incadram in intervalul orar de lucru, noua adresa(Gura Humorului) apara ca si defectiune in data curenta si se include in traseu,trimitand si noul traseu pe modulul mobil.
Pe langa toate aceste date care ne sunt oferite atat in modul de vizualizare a hartii cu traseul cat si in modul de simulare, in partea dreapta a hartii ne sunt oferite date, strazi, localitati, km, ore care sunt necesare de la o comanda la alta. Astfel putem evita micile diversiune de la traseu pe care masine le poate efectua din neatentie.
Figură .Date referitoare la traseul de la sediul firmei pana la prima comanda(B)
Figură . Date referitoare la traseul de la prima comanda(B) pana la a doua comanda(C)
Figură . Date referitoare la traseul de la a doua comanda(C) pana la a treia comanda(D) si de la a treia comanda pana la sediul firmei
Concluzii
În multe afaceri avem nevoie de soluții rapide, într-un timp destul de scurt. Prin apariția de tehnologii inteligente se elimină, tot mai mult, metodele tradiționale care presupun utilizarea, în exces a hârtiei și instrumentelor clasice de scris în efectuare de calcule. Apariția dispozitivelor mobile a reprezentat o revoluție în această perioadă. Această revoluție aduce efecte pozitive mediului de bussiness, dar nu numai.
Într-un domeniu ce presupune comunicarea la distanță între un dispecer și un șofer, apelarea la conversațiile prin telefon, transmitere de mesaje, mailuri etc, poate duce la diverse neplăceri, datorate și interpretării greșite a mesajului transmis, dar poate chiar și lipsei de reacție a receptorului. În astfel de companii, putem recurge la sisteme inteligent ce permit detectarea geolocației, sau chiar ghidarea pe anumite trasee (în funcție de anumite puncte), aspecte care ar putea duce la câștiguri la nivelul veniturilor din încasări, reducerea timpului pierdut între destinații, reducerea cheltuielilor cauzate de situații excepționale (greșire traseu, traseu ce nu îndeplinește condițiile de optim, etc.).
Prin aplicația pe care am creat-o ne propunem să eliminăm o serie de probleme ce ar putea să apară în activitatea unei firme de prestări servicii, ce presupune deplasări la diverse adrese ale clienților. Prin intermediul aplicației, se dorește valorificarea avantajelor pe care TIC le oferă în creșterea vitezei și preciziei de rezolvare a unor probleme de optimizare prin:
– stabilirea rutei pentru angajatul care se ocupă cu service-ul propriu-zis;
– reconfigurări rute, în funcție de necesități, dar și de disponibilitatea angajatului;
– notificări în timp real cu privire la modificări rute;
– vizualizare, în timp real a poziției mașinii, factor decisiv în luarea anumitor decizii;
– posibilitatea vizualizării în detaliu a diferitelor adrese;
– posibilitatea de comunicare bidirecțională șofer-dispecer, prin intermediul aplicației;
– posibilitate amânare rezolvare problemă.
Toate aceste elemente contribuie la o eficientizare a activității firmei, prin creșterea eficienței fiecărui angajat. Prin folosirea unei astfel de aplicații putem vorbi de o atingere a optimului la nivel de venituri, cheltuieli, dar și timp (componentă care un impact mare atât asupra cheltuielilor, cât și a veniturilor).
Bibliografie
Capitol din carte:
[1]. Tiliute D. (2012), Proiectarea Aplicatiilor pe Web, Editura InfoData Cluj, pp. 138
[2]. Morariu N., Vlad S.(2008) ,Proiectarea sistemelor informatice, Editura InfoData Cluj-Napoca,pp.109
Resursa din Internet:
[1]. "PHP",
https://en.wikipedia.org/wiki/PHP#/media/File:ElePHPant_studying_notes_from_SugarCon_2007.jpg
[2]. "Web development", http://eyenetworks.ro/web-development.html
[3]. "Google Maps-utilizari", http://www.wall-street.ro/tag/google-maps.html
[4]. "Drum de cost minim", https://www.google.ro/search?hl=en&site=imghp&tbm=isch&source=hp&biw=1366&bih=599&q=drumul+de+cost+minim&oq=drumul+de+cost+minim&gs_l=img.3..0i24.3940.8699.0.9028.20.12.0.8.8.0.150.1156.0j9.9.0….0…1ac.1.64.img..3.17.1167.S-uBxZlWBxk#imgrc=58zrlCWLaltCiM%3A
[5]. "Ciclu in graf", https://www.google.ro/search?hl=en&site=imghp&tbm=isch&source=hp&biw=1366&bih=599&q=drumul+de+cost+minim&oq=drumul+de+cost+minim&gs_l=img.3..0i24.3940.8699.0.9028.20.12.0.8.8.0.150.1156.0j9.9.0….0…1ac.1.64.img..3.17.1167.S-uBxZlWBxk#hl=en&tbm=isch&q=ciclu+in+graf&imgrc=38qwSDprzYKZaM%3A
[6]. "Graf", https://ro.wikipedia.org/wiki/Graf
[7]. "Google Maps", https://en.wikipedia.org/wiki/Google_Maps#Directions
[8]. "Teoria grafurilor in probleme si aplicatii", http://www.math.md/studlib/matematica/teoria_graf.html
[9]. Valeriu Lupu, "Grafuri orientate", http://www.seap.usv.ro/~valeriul/lupu/GRAFURI_ORIENTATE.pdf
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Proiectarea Unei Aplciatii Privind Comunicarea Intre Dispecer Si Componenta Mobila (ID: 150235)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
