Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016...

37
UNIVERSITATEA „ALEXANDRU IOAN CUZA” IAŞI FACULTATEA DE INFORMATICĂ LUCRARE DE LICENŢĂ Instrumente GIS de calcul a utilității resimțite de clienții supermarketurilor. Studiu de caz: municipiul Iași propusă de Șutea-Drăgan Silviu Sesiunea: iunie-iulie, 2016 Coordonator ştiinţific Asist. Dr. Vasile Alaiba

Transcript of Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016...

Page 1: Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016 vara/UtilitateSupermarket.pdfde calcul a utilității resimțite de clienții supermarketurilor.

UNIVERSITATEA „ALEXANDRU IOAN CUZA” IAŞI

FACULTATEA DE INFORMATICĂ

LUCRARE DE LICENŢĂ

Instrumente GIS de calcul a utilității resimțite de

clienții supermarketurilor.

Studiu de caz: municipiul Iași

propusă de

Șutea-Drăgan Silviu

Sesiunea: iunie-iulie, 2016

Coordonator ştiinţific

Asist. Dr. Vasile Alaiba

Page 2: Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016 vara/UtilitateSupermarket.pdfde calcul a utilității resimțite de clienții supermarketurilor.

UNIVERSITATEA „ALEXANDRU IOAN CUZA” IAŞI

FACULTATEA DE INFORMATICĂ

Instrumente GIS de calcul a utilității resimțite de

clienții supermarketurilor.

Studiu de caz: municipiul Iași

Șutea-Drăgan Silviu

Sesiunea: iunie-iulie, 2016

Coordonator ştiinţific

Asist. Dr. Vasile Alaiba

Page 3: Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016 vara/UtilitateSupermarket.pdfde calcul a utilității resimțite de clienții supermarketurilor.

DECLARAŢIE PRIVIND ORIGINALITATE ŞI RESPECTAREA

DREPTURILOR DE AUTOR

Prin prezenta declar că Lucrarea de licenţă cu titlul „ Instrumente GIS de calcul a

utilității resimțite de clienții supermarketurilor. Studiu de caz: municipiul Iași” este scrisă de

mine şi nu a mai fost prezentată niciodată la o altă facultate sau instituţie de învăţământ superior

din ţară sau străinătate. De asemenea, declar că toate sursele utilizate, inclusiv cele preluate de

pe Internet, sunt indicate în lucrare, cu respectarea regulilor de evitare a plagiatului:

- toate fragmentele de text reproduse exact, chiar şi în traducere proprie din altă limbă,

sunt scrise între ghilimele şi deţin referinţa precisă a sursei;

- reformularea în cuvinte proprii a textelor scrise de către alţi autori deţine referinţa

precisă;

- codul sursă, imaginile etc. preluate din proiecte open-source sau alte surse sunt utilizate

cu respectarea drepturilor de autor şi deţin referinţe precise;

- rezumarea ideilor altor autori precizează referinţa precisă la textul original.

Iaşi, 23.06.2016

Absolvent Șutea-Drăgan Silviu

___________________________

Page 4: Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016 vara/UtilitateSupermarket.pdfde calcul a utilității resimțite de clienții supermarketurilor.

DECLARAŢIE DE CONSIMŢĂMÂNT

Prin prezenta declar că sunt de acord ca Lucrarea de licență cu titlul „ Instrumente GIS

de calcul a utilității resimțite de clienții supermarketurilor. Studiu de caz: municipiul Iași”,

codul sursă al programelor şi celelalte conţinuturi (grafice, multimedia, date de test etc.) care

însoţesc această lucrare să fie utilizate în cadrul Facultăţii de Informatică.

De asemenea, sunt de acord ca Facultatea de Informatică de la Universitatea „Alexandru

Ioan Cuza” Iași să utilizeze, modifice, reproducă şi să distribuie în scopuri necomerciale

programele-calculator, format executabil şi sursă, realizate de mine în cadrul prezentei lucrări

de licenţă.

Iaşi, 23.06.2016

Absolvent Șutea-Drăgan Silviu

_________________________

Page 5: Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016 vara/UtilitateSupermarket.pdfde calcul a utilității resimțite de clienții supermarketurilor.

Lista figurilor

Fig. 1: Tipuri de vertecși: punct, polilinie, poligon ...................................................... 10

Fig. 2: Straturi componente ale unui SIG ..................................................................... 11

Fig. 3: Ciclul informațiilor geospațiale......................................................................... 12

Fig. 4: Modelul vector vs. modelul raster ..................................................................... 13

Fig. 5: Modelul arhitectural al Web-GIS-ului .............................................................. 15

Fig. 6: Utilitatea totală vs. utilitatea marginală ............................................................ 17

Fig. 7: Meniul aplicației ............................................................................................... 20

Fig. 8: Geocodaj și măsurători ...................................................................................... 21

Fig. 9: Geo-localizare și culegere de informații spațiale .............................................. 23

Fig. 10: Meniul de confirmare a datelor editate ........................................................... 25

Fig. 11: Vizualizarea pe server ..................................................................................... 25

Fig. 12: Structura tabelei cu supermarketuri ................................................................ 26

Fig. 13: Structura tabelei cu locuințe ............................................................................ 27

Fig. 14: Fluxul de lucru al instrumentului de calcul al utilității ................................... 31

Fig. 15: Interfața din ArcGIS a instrumentului ............................................................ 34

Fig. 16: Harta finală cu rezultatele analizei .................................................................. 35

Page 6: Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016 vara/UtilitateSupermarket.pdfde calcul a utilității resimțite de clienții supermarketurilor.

6

Cuprins

Contribuţii .............................................................................................................................. 8

Capitolul 1: Delimitări conceptuale ....................................................................................... 9

1.1 Strucrura Sistemelor Informaționale Geografice ..................................................... 9

1.2 ArcGIS și ArcPy ..................................................................................................... 13

1.2 Web-GIS-ul ............................................................................................................ 14

1.3 Utilitatea din punct de vedere economic ............................................................... 16

Capitolul 2: Crearea unei aplicații Android pentru colectarea datelor spațiale ................... 19

Capitolul 3: Automatizarea analizei datelor colectate ......................................................... 26

Concluzii .............................................................................................................................. 36

Bibliografie .......................................................................................................................... 37

Page 7: Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016 vara/UtilitateSupermarket.pdfde calcul a utilității resimțite de clienții supermarketurilor.

7

Introducere

Sistemele Informaționale Geografice (SIG, en. GIS - geographic information systems)

au devenit în ultimul timp din ce în ce mai prezente în viața noastră de zi cu zi și datorită

dezvoltării puterii de calcul a dispozitivelor mobile. Pe acest segment, cele mai populare

aplicații aparțin celor de la Google, însă unul dintre cele mai populare programe de analiză

spațială este ArcGIS, care a fost dezvoltat gigantului american ESRI (Environmental Systems

Research Institute), inițial doar ca aplicație desktop.

Ca răspuns la evoluția tehnologică, ESRI a intrat tot mai mult pe segmentul on-line și

mobile, introducând componente de legătura cu web-ul în aplicația sa, ori dezvoltând interfețe

de programare a aplicațiilor pentru web și mobile.

În prezent, pe lângă WebAppBuilder, o platformă cu ajutorul căreia un utilizator fără

cunoștințe de programare, poate să construiască aplicații de analiză geo-spațială, pe pagina

ESRI dedicată programatorilor se găsesc kituri de dezvoltare de aplicații pentru câteva dintre

cele mai populare platforme în acest moment, precum Android, Java, .NET, iOS, OS X,

Xamarin sau Qt.

De asemenea, cu aproximativ un an în urmă, cei de la ESRI au lansat și o aplicație pentru

Android, iOS și Windows utilizată pentru colectarea datelor din teren, cu ajutorul unui

dispozitiv mobil. Datele astfel colectate, sunt salvate pe un server pus la dispoziție de ESRI, de

unde pot fi exportate în diverse formate, pentru a fi analizate fie în aplicația desktop, fie în alte

programe de analiză a datelor geospațiale sau chiar în aplicația on-line a celor de la ESRI.

Se observă astfel, interesul crescut al companiei americane de a oferi servicii tot mai

complete și mai diverse utilizatorilor de date spațiale, acest lucru constituind premisa pentru

încercarea din această lucrare de a construi un mijloc de analiză care să utilizeze numai

interfețele și serviciile puse la dispoziție de ESRI.

Page 8: Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016 vara/UtilitateSupermarket.pdfde calcul a utilității resimțite de clienții supermarketurilor.

8

Contribuţii

Având în vedere multitudinea de posibilități de dezvoltare a unei aplicații care să

prelucreze date geo-spațiale, am ales ca în această lucrare să realizez un exemplu de analiză

completă asupra unui subiect de interes, acest lucru cuprinzând inclusiv crearea propriei

aplicații de colectare a datelor cu ajutorului unui dispozitiv mobil care rulează Android, precum

și crearea mai apoi a unui instrument care să automatizeze procesul de prelucrare a datelor

colectate.

Subiectul ales este calculul utilității resimțite de potențialii clienți în accesarea unui

serviciu oferit de supermarketurile existente în proximitatea sa, în funcție de distanța dintre

client și magazin precum și de o variabilă de atractivitate, care va fi considerată în acest proiect

suprafața de vânzare a magazinului respectiv, considerând că aceasta este proporțională cu

eventuala dorință a clientului de a utiliza serviciile oferite de respectivul supermarket.

A fost folosit kitul de dezvoltare pentru Android pus la dispoziție de cei de la ESRI, iar

pentru crearea instrumentului de prezlucrare a datelor, a fost utilizat modulul de scripting

dezvoltat în Python pentru ArcGIS. Pentru stocarea datelor fost utilizat serverul REST pus la

dispoziție de ESRI.

Practic, ceea ce s-a urmărit a fost dezvoltarea unui instrument de colectare a datelor

spațiale punctuale, iar datele culese să fie procesate automat prin crearea unui script, pentru a

se evita repetarea tuturor pașilor necesari apelării instrumentelor intermediare în cadrul unui

proces de analiză.

Se evită astfel pierderea a cel puțin 7 minute pe care un operator ar trebui să le petreacă

apelând diverse instrumente, iar posibilitatea de apariție a erorilor este mult diminuată întrucât

nu mai este nevoie a fi efectuate manual anumite instrucțiuni repetitive.

Page 9: Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016 vara/UtilitateSupermarket.pdfde calcul a utilității resimțite de clienții supermarketurilor.

9

Capitolul 1

Delimitări conceptuale

1.1 Strucrura Sistemelor Informaționale Geografice

GIS (Geographic Information Systems) este o tehnologie relativ nouă, dar, în ciuda

recentei apariţii, este utilizată deja la scară largă în cele mai diverse domenii. O încercare de

definire a acestui acronim poate fi uneori dificilă, deoarece fiecare disciplină a adoptat şi adaptat

tehnologia cerinţelor proprii.

Se mai pot distinge câteva componente ale unui proiect GIS, dintre care cele mai

importante sunt următoarele: componenta software, componenta hardware şi componenta

umană.

Componenta software trebuie să conţină obligatoriu o bază de date spaţială care

stochează şi gestionează entităţile spaţiale, un mecanism de legătură dintre acestea şi atributele

acordate, precum şi un motor de geoprocesare a informaţiilor. Desigur aici se pot adăuga, de

asemenea, toate modulele care ajută la colectarea datelor şi, în mod evident, şi la diseminarea

lor. Dintre cele mai renumite pachete disponibile în comerţ putem menţiona ArcGIS, Idrisi,

QGIS şi Grass GIS, dintre ultimele 2 sunt open sourse.

Partea hardware constă în calculatorul propriu-zis alături de toate componentele sale,

instrumentele de înregistrare a datelor (staţie totală, GPS, dispozitive de cercetare nedistructivă)

şi accesoriile necesare pentru vizualizarea şi imprimarea rezultatelor. Printre acestea, în ultimii

ani, telefoanele mobile și-au făcut loc din ce în ce mai mult.

Ultima componentă, cea umană, este crucială pentru un proiect de GIS, ţinând cont că

este responsabilă de proiectarea şi analiza datelor spaţiale. Important de menţionat este

obligatoria angrenare a personalului din proiect, pe cât posibil, în toate fazele de derulare

(proiectare, colectare, digitizare, procesare) pentru a crea un material unitar şi bine structurat.

În cadrul unei platforme GIS putem distinge patru mari categorii de activităţi sau

subsisteme după cum urmează:

- Achiziţionarea, integrarea şi verificarea datelor

Informaţiile spaţiale, înainte de integrarea lor într-un proiect GIS, trebuie transformate

într-o formă utilizabilă de program. De obicei, formele de bază ale datelor spațiale sunt

Page 10: Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016 vara/UtilitateSupermarket.pdfde calcul a utilității resimțite de clienții supermarketurilor.

10

reprezentate de hărţi, desene, tabele, fotografii aeriene, imagini satelitare etc. Odată introduse

în sistem, urmează etapa de acordare a atributelor. Cea mai comună metodă de introducere a

datelor într-un sistem GIS este digitizarea. Hărţile, planurile, schiţele etc. pot fi, de asemenea,

scanate, georeferenţiate şi importate sub formă de raster. Informaţiile obţinute din aplicaţiile de

teren în care sunt utilizate staţia totală, GPS-ul sau chiar telefonul mobil pot fi introduse în GIS

sub formă de vector. Aceste două tipuri de date la care am făcut referire (raster şi vector),

reprezintă formatele de bază pentru alcătuirea unui proiect GIS.

Fig. 1: Tipuri de vertecși: punct, polilinie, poligon

(preluată de pe http://www.tankonyvtar.hu/en/tartalom/tamop425/0032_terinformatika/ch01s02.html)

- Întocmirea şi gestionarea bazei de date spaţiale

Baza de date spaţială este considerată una dintre principalele subramuri ale sistemului care face

diferenţa dintre GIS şi alte programe de cartografiere sau grafică. Într-un proiect de tip GIS,

volumul de informaţie este structurat în straturi (layers) şi stocat în DBMS-uri (Database

Management System) sub formă de tabele şi hărţi tematice. O bază de date spaţială trebuie să

cuprindă funcţii pentru actualizare, editare şi manipulare ale datelor de tip atribut şi ale celor de

tip grafic.

Page 11: Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016 vara/UtilitateSupermarket.pdfde calcul a utilității resimțite de clienții supermarketurilor.

11

Fig. 2: Straturi componente ale unui SIG

(preluată de pe http://www.tankonyvtar.hu/en/tartalom/tamop425/0032_terinformatika/ch01s02.html)

- Modelarea şi analiza datelor

În această etapă se oferă posibilitatea utilizatorului de a efectua analize, interogări,

transformări şi modelări ale datelor. Cu ajutorul acestui subsistem utilizatorul poate accesa

funcţiile necesare analizelor pentru cercetarea sa, având posibilitatea, permanent, să fie conectat

la baza de date, efectuând interogări în baza informaţiei existente. Pe scurt, manipularea

informaţiei în GIS oferă posibilitatea creării de noi hărţi tematice pe baza celor deja stocate,

rezultând straturi primare şi secundare.

- Vizualizarea şi diseminarea rezultatelor

Rezultatele finale pot fi vizualizate şi exportate sub formă de hărţi, tabele, grafice, animaţii

video etc. La principalele categorii prezentate anterior, se poate adauga interfaţa programului

de care beneficiază utilizatorul, considerată la fel de importantă deoarece facilitează crearea şi

trimiterea comenzilor către sistem, precum şi receptarea şi vizualizarea rezultatelor.

Page 12: Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016 vara/UtilitateSupermarket.pdfde calcul a utilității resimțite de clienții supermarketurilor.

12

Fig. 3: Ciclul informațiilor geospațiale

(preluată de pe http://www.tankonyvtar.hu/en/tartalom/tamop425/0032_terinformatika/ch01s02.html)

Transpunerea şi reproducerea digitală, sub formă de hărţi, a realităţii înconjurătoare cu

ajutorul GIS-ului se fac pe baza atributelor entităţilor geografice existente (dimensiuni, culoare,

formă) şi a unui sistem de coordonate ce defineşte spaţial poziţia acestora. Grafic, entităţile pot

fi reprezentate sub formă de punct (poziţia unui artefact), linie (râu, drum) şi poligon (suprafaţa

unui sit arheologic) la care se adaugă etichetele ce conţin explicaţii în legătura cu definirea

respectivelor reprezentări. În aplicaţiile dedicate cercetării științifice care folosesc componente

GIS, există două tipuri de simbolizări ale datelor, fiecare cu avantaje şi dezavantaje, ce diferă

fundamental prin modelul spaţial pe care îl implementează: vector şi raster.

Sistemul de reprezentare raster stochează informaţia sub forma unei matrice

rectangulare alcătuită din celule sau pixeli, fiecare conţinând date referitoare la o poziţie

geografică anume. Astfel, o suprafaţă afişată sub formă de raster va fi definită în funcţie de

numărul de coloane şi rânduri dintr-un grid, precum şi de mărimea fiecărui pixel. Valorile

deţinute de celulele rasterului pot fi dintre cele mai diverse. În cazul unui model numeric al

terenului, spre exemplu, acestea trebuie să afişeze informaţiile legate de poziţia şi altitudinea în

zona respectivă, pe când în situaţia unei hărţi a pantelor valorile vor fi exprimate în grade.

Într-o structură de tip vector însă, entităţile geografice înconjurătoare sunt reprezentate

prin puncte, linii şi poligoane, elemente grafice denumite şi primitive. Fiecare dintre acestea

este definită, la rândul său, folosind una sau mai multe perechi de coordonate x, y, intitulate

vertexuri. Într-un sistem vector, pentru a putea manipula şi gestiona cât mai bine elementele

grafice ce alcătuiesc un strat tematic (layer) în proiectul de GIS, trebuie stabilite anumite relaţii

topologice pentru acestea.

Page 13: Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016 vara/UtilitateSupermarket.pdfde calcul a utilității resimțite de clienții supermarketurilor.

13

Fig. 4: Modelul vector vs. modelul raster

(preluată de pe http://www.catalonia.org/cartografia/Clase_03/Raster_Vector.html)

Majoritatea dintre programele GIS oferă posibilitatea lucrului cu ambele tipuri de date

şi pune la dispoziţie funcţii de transformare din raster în vector şi invers. Această capacitate se

dovedeşte a fi una esenţială pentru utilizator, deoarece are posibilitatea alegerii sistemului

potrivit necesităţilor sale.

1.2 ArcGIS și ArcPy

ArcGIS este un sistem informatic geografic pentru lucrul cu hărți și informații

geografice. Acesta este utilizat pentru: crearea și utilizarea hărților; compilarea datelor

geografice; analiza informațiilor spațiale; schimbul de informații și descoperirea de informații

geografice, folosind hărți și informații geografice într-o gamă largă de aplicații și gestionarea

informațiilor geografice într-o bază de date.

Sistemul oferă o infrastructură pentru realizarea de hărți și informații geografice

disponibile în cadrul unei organizații, într-o comunitate, și în mod deschis pe Web.

ArcGIS include următoarele componente software pentru desktop:

Page 14: Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016 vara/UtilitateSupermarket.pdfde calcul a utilității resimțite de clienții supermarketurilor.

14

- ArcReader, ceea ce permite vizualizarea și interogarea hărților create cu celelalte

produse ArcGIS;

-ArcGIS Desktop, care este licențiat sub trei niveluri de funcționalitate:

- ArcGIS Desktop Basic (cunoscut anterior ca ArcView), care permite

vizualizarea datelor spațiale, crearea de hărți stratificate și efectuarea analizelor spațiale

de bază;

- ArcGIS Desktop Standard (cunoscut anterior ca ArcEditor), care, în plus față

de funcționalitatea ArcView, include instrumente mai avansate pentru manipularea

fișierelor de tip shapefile și geodatabase;

- ArcGIS Desktop avansat (cunoscut anterior ca ArcInfo), care include

capabilități de manipulare a datelor, editare și analiză.

ArcGIS Online este un sistem GIS online, bazat pe colaborare, care permite utilizarea,

crearea şi partajarea de hărţi, scene, aplicaţii, straturi tematice, analize şi date. Se oferă astfel

acces la hărţi gata de utilizare, aplicaţii şi serviciul cloud ESRI securizat, în care se pot adăuga

elemente şi publica straturi tematice web. Deoarece ArcGIS Online face parte integrantă din

sistemul ArcGIS, poate fi utilizat pentru a extinde capabilităţile ArcGIS for Desktop, ArcGIS

for Server, ArcGIS Web APIs şi ArcGIS Runtime SDK [8].

ArcPy este un modul Python, care oferă o modalitate utilă și productivă pentru a efectua

analiza datelor geografice, conversie de date și gestionare a lor, precum și posibilitatea

automatizării procesului de creare a hărților cu Python.

Prin acest pachet, dezvoltatorii GIS beneficiază de toate avantajele folosirii unui limbaj

de programare. Marele câștig obșinut prin utilizarea ArcPy este că Python este un limbaj de

programare de uz general. Este interpretat și dinamic, potrivit pentru realizarea de script-uri

fiind în același timp suficient de puternic pentru a scrie aplicații mari. Instrumentele ArcGIS

scrise în ArcPy sunt dezvoltate ca module suplimentare fiind posibilă utilizarea lor în scopuri

diferite [9].

1.2 Web-GIS-ul

Web-GIS-ul este un tip de sistem informatic distribuit, care cuprinde cel puțin un server

și un client, în cazul în care serverul este un server GIS, iar clientul este un browser web,

aplicatie desktop sau aplicație mobilă. În forma sa cea mai simplă, GIS-ul web poate fi definit

ca orice GIS care utilizeaza tehnologia web pentru a comunica între un server și un client.

Page 15: Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016 vara/UtilitateSupermarket.pdfde calcul a utilității resimțite de clienții supermarketurilor.

15

Elementele esențiale pentru Web-GIS sunt:

- Serverul are o adresă URL, astfel încât clienții îl pot găsi pe web.

- Clientul se bazează pe specificațiile HTTP pentru a trimite cereri către server.

- Serverul efectuează operațiunile GIS solicitate și trimite răspunsurile la client prin

HTTP.

- Formatul răspunsului trimis la client poate fi în mai multe formate, cum ar fi HTML,

imagini binare, XML (Extensible Markup Language), sau JSON (JavaScript Object

Notation).

Fig. 5: Modelul arhitectural al Web-GIS-ului

(preluată de pe http://www.esri.com/esri-news/arcnews/winter1314articles/arcgis-for-desktop-now-includes-arcgis-online-

subscription)

În această lucrare s-au folosit componente ale Web-GIS-ului prin utilizarea serverului

pe care se stochează informațiile colectate cu ajutorul aplicației pentru Android, care

funcționează astfel ca un client.

Page 16: Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016 vara/UtilitateSupermarket.pdfde calcul a utilității resimțite de clienții supermarketurilor.

16

1.3 Utilitatea din punct de vedere economic

Cererea este unul dintre elementele esențiale pentru înțelegerea mecanismelor pieței.

Teoria consumatorului reflectă în acest sens unele elemente semnificative pentru analiza cererii.

Funcția obiectiv a oricărui individ rațional este satisfacerea maximă posibilă a nevoilor,

adică maximizarea efectelor utile prin minimizarea eforturilor. În cazul consumatorului aceasta

se traduce prin maximizarea satisfacției totale pe care oamenii speră să o obțină prin consumul

diverselor bunuri sau servicii. În economie, satisfacția scontată se obține prin consum și este

desemnată prin termenul generic de utilitate.

Utilitatea reflectă satisfacția sau plăcerea pe care un consumator anticipează să o obțină

prin consum.

În teoria și practica economică se opereaza cu conceptele de utilitate totală și utilitate

marginală. Ambele noțiuni arată dependența specifica a gradului de satisfacere a nevoilor de

cantitatea (doza) consumată dintr-un anumit bun [1].

Utilitatea totală arată care este satisfacția totală sau plăcerea pe care o persoană

anticipează să o obțină prin consumul unei cantități (doze) dintr-un bun.

Formula de calcul a utilității totale este:

UT = ∑Ui ,unde

UT – utilitatea totală

Ui – utilitatea individuală atribuită unității consumate.

Utilitatea marginală reprezintă satisfacția suplimentară pe care speră să o poată obține

un consumator prin consumul unei unități suplimentare dintr-un bun, ceilalți factori fiind

presupuși constanți.

Formula de calcul a utilității marginale este:

UM = ∆UT / Q∆, unde

UM – utilitatea marginală

UT – utilitatea totală scontată a se obține

Q – cantitatea consumată dintr-un bun.

Din punct de vedere economic, utilitatea marginală arată care este pragul până la care

se justifică consumul unui anumit bun sau serviciu.

Page 17: Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016 vara/UtilitateSupermarket.pdfde calcul a utilității resimțite de clienții supermarketurilor.

17

Exemplu:

Fig. 6: Utilitatea totală vs. utilitatea marginală

- pe măsură ce individul va consuma din ce in ce mai multă pâine, utilitatea totală va crește,

dar cu o rată din ce în ce mai mică. Utilitatea totală scontată a se obține atinge un punct de

maxim (de 30 de utili). Dacă se continuă consumul după atingerea acestui punct, utilitatea

totală scade;

- utilitatea marginală scade pe măsură ce crește cantitatea consumată. Ea devine zero atunci

când utilitatea totală este maximă și este negativă (-2) atunci când utiltatea totală scade (de

la 30 la 28).

Pentru calcularea utilității pentru fiecare locuință din Iași în cadrul prezentei lucrări,

s-a folosit următoarea formulă:

[P_DIST] * Log (1 / [NEAR_DIST] ) + [P_MASA] * Log ([MASA]), unde

Page 18: Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016 vara/UtilitateSupermarket.pdfde calcul a utilității resimțite de clienții supermarketurilor.

18

P_DIST – ponderea distanței dintre client și market

P_MASA – ponderea suprafeței de vânzare a marketului

NEAR_DIST – distanța dintre client și market

MASA - suprafeța de vânzare a marketului.

Formula utilizată permite rularea modelului cu valori diferite ale valorilor pentru

ponderea distanței și ponderea suprafeței magazinului.

Page 19: Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016 vara/UtilitateSupermarket.pdfde calcul a utilității resimțite de clienții supermarketurilor.

19

Capitolul 2

Crearea unei aplicații Android pentru colectarea datelor spațiale

Deoarece s-a dorit familiarizarea cu kit-ul de dezvoltare a aplicatiilor Android a celor

de la ESRI, am ales să creez o aplicație care să realizeze doar ceea ce am nevoie pentru

realizarea prezentului proiect, folosind și exemple din documentația pusă la dispoziție pe

https://developers.arcgis.com. Totuși, au fost adăugate câteva elemente care aduc un plus de

funcționalitate.

Pentru a folosi librăria dezvoltată pentru Android, estte necesară includerea în proiect a

acesteia,

repositories {

jcenter()

// Add the following ArcGIS repository

maven {

url 'https://esri.bintray.com/arcgis'

}

}

iar în fișierul build.gradle este necesară includerea a ArcGIS Runtime SDK for Android

dependencies {

compile 'com.esri.arcgis.android:arcgis-android:10.2.8'

}

Aplicația permite vizualizarea a 3 tipuri de hărți de bază (basemap), așa cum se poate

vedea în figura de mai jos.

Acestea se pot schimba din meniul principal al aplicației, fiind obiecte de tip

MapOptions:

final MapOptions mTopoBasemap = new MapOptions(MapOptions.MapType.TOPO);

final MapOptions mStreetsBasemap = new

MapOptions(MapOptions.MapType.STREETS);

final MapOptions mNatGeoBasemap = new

MapOptions(MapOptions.MapType.NATIONAL_GEOGRAPHIC);

Page 20: Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016 vara/UtilitateSupermarket.pdfde calcul a utilității resimțite de clienții supermarketurilor.

20

Fig. 7: Meniul aplicației

View-ul este un obiect din clasa MapView, declarat inițial null și inițializat la crearea

activității.

MapView mMapView = null;

public void onCreate(Bundle savedInstanceState) {

// Retrieve the map and initial extent from XML layout

mMapView = (MapView) findViewById(R.id.map);

...

}

Cu opțiunea de Geocoding, se poate căuta în aplicație orice locație existentă în baza de

date ESRI. Apoi se pot realiza măsurători pentru distanță sau arie, care pot fi exprimate în

diferite unități de masură.

Page 21: Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016 vara/UtilitateSupermarket.pdfde calcul a utilității resimțite de clienții supermarketurilor.

21

Fig. 8: Geocodaj și măsurători

Pentru realizarea măsurătorilor, mai întâi se setează unitățile apoi se apelează funcția

de măsurare. Aceasta este executată pe server.

SimpleMarkerSymbol markerSymbol = new SimpleMarkerSymbol(Color.BLUE, 10,

SimpleMarkerSymbol.STYLE.DIAMOND);

SimpleLineSymbol lineSymbol = new SimpleLineSymbol(Color.YELLOW, 3);

fillSymbol = new SimpleFillSymbol(Color.argb(100, 0, 225, 255));

fillSymbol.setOutline(new SimpleLineSymbol(Color.TRANSPARENT, 0));

// create the tool, required.

MeasuringTool measuringTool = new MeasuringTool(mMapView);

// customize the tool, optional.

measuringTool.setLinearUnits(linearUnits);

measuringTool.setMarkerSymbol(markerSymbol);

measuringTool.setLineSymbol(lineSymbol);

measuringTool.setFillSymbol(fillSymbol);

// fire up the tool, required.

startActionMode(measuringTool);

Pentru găsirea locațiilor, se trimite numele de căutat serverului, unde se execută

căutarea, iar la client se face afișarea.

Page 22: Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016 vara/UtilitateSupermarket.pdfde calcul a utilității resimțite de clienții supermarketurilor.

22

protected void onPostExecute(List<LocatorGeocodeResult> result) {

...

// Use first result in the list

LocatorGeocodeResult geocodeResult = result.get(0);

// get return geometry from geocode result

Point resultPoint = geocodeResult.getLocation();

// create marker symbol to represent location

SimpleMarkerSymbol resultSymbol = new SimpleMarkerSymbol(

Color.RED, 16, SimpleMarkerSymbol.STYLE.CROSS);

// create graphic object for resulting location

Graphic resultLocGraphic = new Graphic(resultPoint,

resultSymbol);

// add graphic to location layer

mLocationLayer.addGraphic(resultLocGraphic);

// create text symbol for return address

String address = geocodeResult.getAddress();

TextSymbol resultAddress = new TextSymbol(20, address,

Color.BLACK);

// create offset for text

resultAddress.setOffsetX(-4 * address.length());

resultAddress.setOffsetY(10);

// create a graphic object for address text

Graphic resultText = new Graphic(resultPoint, resultAddress);

// add address text graphic to location graphics layer

mLocationLayer.addGraphic(resultText);

// Zoom map to geocode result location

mMapView.zoomToResolution(geocodeResult.getLocation(), 7);

}

}

Cea mai importantă facilitate a acestei aplicații este partea de editare, care oferă și

opțiunea de localizare a utilizatorului cu ajutorul GPS-ului, pentru a introduce noi date spațiale

pe serverul pregătit să le înregistreze.

Page 23: Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016 vara/UtilitateSupermarket.pdfde calcul a utilității resimțite de clienții supermarketurilor.

23

Fig. 9: Geo-localizare și culegere de informații spațiale

Pentru partea de localizare este responsabil un obiect din clasa

LocationDisplayManager care afișează locația curentă a dispozitivului în MapView.

LocationDisplayManager mLDM;

// When map is ready, set up the LocationDisplayManager.

final OnStatusChangedListener statusChangedListenerForLoc = new

OnStatusChangedListener() {

private static final long serialVersionUID = 1L;

@Override

public void onStatusChanged(Object source, STATUS status) {

if (source == mMapView && status == STATUS.INITIALIZED) {

mMapSr = mMapView.getSpatialReference();

if (mLDM == null) {

setupLocationListener();

}

}

}

};

private void setupLocationListener() {

if ((mMapView != null) && (mMapView.isLoaded())) {

mLDM = mMapView.getLocationDisplayManager();

mLDM.setLocationListener(new LocationListener() {

boolean locationChanged = false;

// Zooms to the current location when first GPS fix arrives.

Page 24: Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016 vara/UtilitateSupermarket.pdfde calcul a utilității resimțite de clienții supermarketurilor.

24

@Override

public void onLocationChanged(Location loc) {

if (!locationChanged) {

locationChanged = true;

zoomToLocation(loc);

// turn on the Location pan mode to show the location

symbol.

mLDM.setAutoPanMode(LocationDisplayManager.AutoPanMode.LOCATION);

}

}

});

mLDM.start();

}

}

Utilizatorul poate colecta date, de tipul celor care au fost inițial înregistrate pe server.

În aplicație, datele apar sub forma unei liste preluată din layerul înregistrat în codul aplicației.

// Create feature layers

ArcGISFeatureLayer fl1 = new ArcGISFeatureLayer(

"http://services6.arcgis.com/kzx2WjUtBxh95dvC/arcgis/rest/services/FeatureA

ndroid/FeatureServer/0",

ArcGISFeatureLayer.MODE.ONDEMAND);

fl1.setOnStatusChangedListener(statusChangedListener);

// Find MapView and add feature layers

mMapView = (MapView) findViewById(R.id.map);

mMapView.addLayer(fl1);

Page 25: Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016 vara/UtilitateSupermarket.pdfde calcul a utilității resimțite de clienții supermarketurilor.

25

Fig. 10: Meniul de confirmare a datelor editate

Utilizatorul pune un punct preliminar pe hartă, iar apoi trebuie să confirme pentru ca

acesta să fie înregistrat pe server. Datele apar în timp real și pot fi vizualizate.

Fig. 11: Vizualizarea pe server

Page 26: Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016 vara/UtilitateSupermarket.pdfde calcul a utilității resimțite de clienții supermarketurilor.

26

Capitolul 3

Automatizarea analizei datelor colectate

După ce datele spațiale despre supermarketuri au fost colectate, acestea au fost exportate

de pe server în format shapefile și importate în ArcGIS pentru analiză și cartografiere.

Un fişier shapefile este un format de stocare a datelor vectoriale ale ESRI pentru

stocarea locaţiei, formei şi atributelor obiectelor spaţiale geografice. Acesta este stocat ca un

set de fişiere corelate şi conţine o clasă de obiecte spaţiale.

Un astfel de fișier este păstrat de obicei în arhive .zip sau sub formă de geodatabase

deoarece conține de fapt, mai multe fișiere, fiecare cu rolul său. Dintre acestea, următoarele

sunt obligatorii pentru orice shapefile:

- .shp – fișierul shape propriu-zis; conține informații despre geometria vectorului

- .shx - shape index; conține un index de poziție a formelor geometrice reprezentate

pentru a facilita căutarea informațiilor

- .dbf – baza de date propriu-zisă în format dBase IV; conține informațiile –atribute-

pentru fiecare formă geometrică.

Pe lângă acestea, fișierele .shp care au ca scop analiza spațială, trebuie să vină însoțite și de un

fișier . prj, care conține informații despre proiecția geografică a datelor, precum și sistemul de

coordonate.

Pentru analiza propusă, este nevoie de datele despre supermarketurile din Iași, precum

și de adresele locuințelor din municipiu. Datele despre supermarketuri au fost colectate cu

ajutorul aplicației create inițial, iar informațiile suplimentare au fost adăugate în ArcGIS.

Fig. 12: Structura tabelei cu supermarketuri

Page 27: Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016 vara/UtilitateSupermarket.pdfde calcul a utilității resimțite de clienții supermarketurilor.

27

Datele referitoare la adresele locuitorilor municiupiului Iași, întrucât sunt foarte multe,

au fost preluate de la Departamentul de Geografie din cadrul UAIC.

Fig. 13: Structura tabelei cu locuințe

ArcGIS pune la dispoziția utilizatorilor mai multe instrumente de analiză a datelor, însă

facilitatea care ne interesează este construirea unui model de analiză pentru a automatiza

procesul de calcul a utilității.

Dacă ar trebui să realizăm această analiză manual, pas cu pas etapele ar fi următoarele:

- Generate Near Table – realizează produsul cartezian al distanțelor dintre fiecare

supermarket și fiecare locuință;

- Join Field – pe baza unui atribut comun, constituit în acest caz de ID-ul supermarketului,

se adaugă în tabelul rezultat la pasul anterior informații despre magazine. Va rezulta un

tabel în care vom avea atât informații despre magazine, cât și distanța dintre acestea și

locuințe.

- Urmează apoi 3 operații repetitive de tipul Add field – Calculate field în urma cărora

tabelul va conține și informații despre ponderea distanței în calcularea utilității,

ponderea suprafeței de vânzare a magazinelor, precum și explicit, valoarea acestei

suprafețe. Totodată este necesară și crearea unei noi coloane în care se va găs valoarea

calculată pentru utilitate.

Page 28: Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016 vara/UtilitateSupermarket.pdfde calcul a utilității resimțite de clienții supermarketurilor.

28

- Calculate field – pentru a calcula valoare utilității pe baza formulei

[P_DIST] * Log (1 / [NEAR_DIST] ) + [P_MASA] * Log ([MASA]), unde

P_DIST – ponderea distanței dintre client și market

P_MASA – ponderea suprafeței de vânzare a marketului

NEAR_DIST – distanța dintre client și market

MASA - suprafeța de vânzare a marketului.

- Summary Statistics – pentru a obține pentru fiecare locuință, valoarea maximă a utilității

dintre toate magzinele luate în calcul.

- Join Field după ID-ul locuințelor, pentru a aduce în tabel informațiile referitoare la

adrese.

- Join Field după valoarea utilității pentru a aduce informații despre numele magazinului

pentru care s-a calculat utilitatea cea mai mare. Această ultimă operație este necesară

pentru a putea cartografia rezultatul obținut.

Pe următoarea pagină este redat schematic modelul de analiză pe care l-am prezentat.

Parametrii modelul sunt marcați cu un „P”.

Deoarece mi-am propus automatizarea acestui model, am folosit API-ul dezvoltat în

Python pentru ArcGIS, ArcPy, pentru a crea un script care să realizeze același lucru făra să fie

nevoie de intervenția utilizatorului. Structura acestui script este următoarea:

- Se importă modulul ArcPy;

- Se dau argumentele scriptului; variabilele care vor fi introduse de utilizator de la

tastatură sau ca fișiere conținând date geospațiale existente în spațiul de lucru.

- Se declară variabilele;

- Se apelează funcțiile care sunt necesare în realizarea analizei:

o arcpy.GenerateNearTable_analysis (in_features, near_features,

out_table, {search_radius}, {location}, {angle}, {closest},

{closest_count}, {method}),

unde argumentele funcției au fost date astfel:

Page 29: Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016 vara/UtilitateSupermarket.pdfde calcul a utilității resimțite de clienții supermarketurilor.

29

in_features – datele de intrare reprezentând punctele de la care se

dorește calcularea distanței către o locație (locuințele în cazul nostru);

near_features – datele de intrare spre care se calculează distanțele

(magazinele);

out_table – tabelul în care se vor memora rezultatele;

search_radius (optional) – raza de căutare a eventualelor puncte

către care trebuie să se calculeze distanța; în cazul de față nu este nevoie

să fie specificată o valoare întrucât toate punctele vor fi luate în calcul;

location (optional) – specifică dacă este nevoie de scrierea

coordonatelor X și Y în tabelul rezultat; am folosit NO_LOCATION pentru

că nu este nevoie;

angle (optional) – specifică dacă este nevoie de calcularea unghiului

dintre puncte

closest (optional) – specifică dacă este nevoie doar de cel mai

apropiat punct sau de toate

closest_count (optional) – limitează numărul de puncte în caz că

parametrul specificat anterior este “ALL”

method (optional) – se poate specifica dacă distanța calculată să fie

planară sau nu.

o arcpy.JoinField_management (in_data, in_field, join_table,

join_field, {fields})

in_data – tabelul de intrare; pe el se va face join-ul;

in_field – câmpul de join;

join_table – tabelul din care se preiau date;

join_field - câmpul de join din tabelul din care se preiau date;

fields (optional) – câmpuri de preluat (implicit toate).

o arcpy.AddField_management (in_table, field_name, field_type,

{field_precision}, {field_scale}, {field_length}, {field_alias},

{field_is_nullable}, {field_is_required}, {field_domain})

in_table - tabelul de intrare; aici se va adăuga câmpul;

field_name – numele câmpului;

Page 30: Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016 vara/UtilitateSupermarket.pdfde calcul a utilității resimțite de clienții supermarketurilor.

30

field_type – tipul câmpului;

field_precision (optional) – numărul de cifre care poate fi plasat

în câmpul creat;

field_scale (optional) – numărul de zecimale;

field_length (optional) – lungime pentru text;

field_alias (optional) – nume alternativ dat câmpului;

field_is_nullable (optional) – specifică dacă se pot rețime valori

nule;

field_is_required (optional) – specifică dacă un câmp este

obligatoriu pentru tabelă;

o arcpy.CalculateField_management (in_table, field, expression,

{expression_type}, {code_block})

in_table - tabelul de intrare; aici se va calcula valoarea câmpului;

field – câmpul vizat de operația de calcul;

expression – expresia de calcul;

expression_type (optional) – formatul expresiei; poate fi VB sau

Python;

code_block (optional) – permite adăugarea unui bloc de cod pentru

calcule complexe;

o arcpy.Statistics_analysis (in_table, out_table,

statistics_fields, {case_field})

in_table - tabelul de intrare cu datele asupra cărora se vor efectua

calcule;

out_table - tabelul de ieșire;

statistics_fields – operațiile de executat;

case_field (optional) – câmpurile pentru care calculele trebuie

executate pentru fiecare valoare unică;

Page 31: Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016 vara/UtilitateSupermarket.pdfde calcul a utilității resimțite de clienții supermarketurilor.

31

Fig. 14: Fluxul de lucru al instrumentului de calcul al utilității

Page 32: Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016 vara/UtilitateSupermarket.pdfde calcul a utilității resimțite de clienții supermarketurilor.

32

În continuare, este redat codul complet al modelului:

# Import arcpy module

import arcpy

# Script arguments

Cererea = arcpy.GetParameterAsText(0)

Oferta = arcpy.GetParameterAsText(1)

Variabila_Masa = arcpy.GetParameterAsText(2)

Ponderea_distantei = arcpy.GetParameterAsText(3)

if Ponderea_distantei == '#' or not Ponderea_distantei:

Ponderea_distantei = "0.5" # provide a default value if unspecified

Ponderea_masei = arcpy.GetParameterAsText(4)

if Ponderea_masei == '#' or not Ponderea_masei:

Ponderea_masei = "0.5" # provide a default value if unspecified

Output_tabel_intermediar = arcpy.GetParameterAsText(5)

near_table_6 = arcpy.GetParameterAsText(6)

# Local variables:

near_table_3 = Ponderea_distantei

Output_Feature_Class_3 = near_table_3

near_table_4 = Output_Feature_Class_3

Output_Feature_Class_4 = near_table_4

near_table_5 = Output_Feature_Class_4

ADRESE_Iasi = near_table_6

Output_Layer_Name = Output_tabel_intermediar

near_table = Cererea

near_table_2 = near_table

Output_Feature_Class = near_table_2

Output_Feature_Class_2 = Output_Feature_Class

# Process: Generate Near Table

arcpy.GenerateNearTable_analysis(Cererea, "Supermarket_Iasi", near_table,

"", "NO_LOCATION", "NO_ANGLE", "ALL", "0")

# Process: Join Field

arcpy.JoinField_management(near_table, "NEAR_FID", Oferta, "FID", "")

Page 33: Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016 vara/UtilitateSupermarket.pdfde calcul a utilității resimțite de clienții supermarketurilor.

33

# Process: Add Field

arcpy.AddField_management(near_table_2, "Utilitate", "FLOAT", "", "", "",

"", "NULLABLE", "NON_REQUIRED", "")

# Process: Add Field (2)

arcpy.AddField_management(Output_Feature_Class, "P_DIST", "FLOAT", "",

"", "", "", "NULLABLE", "NON_REQUIRED", "")

# Process: Calculate Field

arcpy.CalculateField_management(Output_Feature_Class_2, "P_DIST",

Ponderea_distantei, "VB", "")

# Process: Add Field (3)

arcpy.AddField_management(near_table_3, "P_MASA", "FLOAT", "", "", "",

"", "NULLABLE", "NON_REQUIRED", "")

# Process: Calculate Field (2)

arcpy.CalculateField_management(Output_Feature_Class_3, "P_MASA",

Ponderea_masei, "VB", "")

# Process: Add Field (4)

arcpy.AddField_management(near_table_4, "MASA", "FLOAT", "", "", "", "",

"NULLABLE", "NON_REQUIRED", "")

# Process: Calculate Field (4)

arcpy.CalculateField_management(Output_Feature_Class_4, "MASA",

Variabila_Masa, "VB", "")

# Process: Calculate Field (3)

arcpy.CalculateField_management(near_table_5, "UTILITATE", "[P_DIST]*Log

(1/[NEAR_DIST])+[P_MASA]*Log ([MASA] )", "VB", "")

# Process: Summary Statistics

arcpy.Statistics_analysis(near_table_6, Output_tabel_intermediar,

"Utilitate MAX", "IN_FID")

# Process: Join Field (2)

arcpy.JoinField_management(Cererea, "FID", Output_tabel_intermediar,

"IN_FID", "")

# Process: Join Field (3)

arcpy.JoinField_management(Output_Layer_Name, "MAX_Utilitate",

near_table_6, "Utilitate", "LABEL")

După interpretarea acestui model, pentru rularea sa, ArcGIS creează următoarea

interfață, unde utilizatorii au posibilitatea de a introduce parametrii modelului așa cum au fost

ei specificați anterior.

Page 34: Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016 vara/UtilitateSupermarket.pdfde calcul a utilității resimțite de clienții supermarketurilor.

34

Fig. 15: Interfața din ArcGIS a instrumentului

Modelul a fost rulat pentru supermarketurile și locuințele din municipiul Iași, ponderea

distanței și a masei fiind considerate în proporții egale, de 50% (0.5).

Rezultatul obținut a fost cartografiat în ArcMap.

Obținem astfel o imagine asupra ariei polarizate de fiecare supemarket din Iași, cu

mențiunea că suprafețele acestora sunt pentru acest studiu, în care nu am pus accent pe

corectitudinea datelor, ci pe metodă, aproximative.

Se pot realiza astfel instrumente de analiză complexe, plecând de la instrumente simple

și utlizând scripturi.

Page 35: Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016 vara/UtilitateSupermarket.pdfde calcul a utilității resimțite de clienții supermarketurilor.

35

Fig. 16: Harta finală cu rezultatele analizei

Page 36: Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016 vara/UtilitateSupermarket.pdfde calcul a utilității resimțite de clienții supermarketurilor.

36

Concluzii

Prin realizarea acestei lucrări, mi-am dorit familiarizarea cu interfața de dezvoltare a

aplicațiilor pusă la dispoziție de ESRI, precum și cu modulul ArcPy, dezvoltat pentru

automatizarea analizei datelor în ArcGIS.

Aceasta vine ca o alternativă la API-ul dezvoltat de Google.

Aplicația realizată are în acest moment strictul necesar colectării datelor de tip punct,

cu ajutorul geo-localizării. De asemnea se poate naviga oriunde pe harta lumii cu ajutorul

modulului de geocodaj și se pot marca puncte fără a fi necesară prezența fizică.

Scriptul realizat pentru ArcGIS, care automatizează procesul de calcul a utilității

resimțite de clienții supermarketurilor fața de acestea, funcționează bine, putând fi astfel folosit

în acest scop pe orice set de date.

Consider că lucrarea și-a atins scopul, ideile inițiale fiind materializate cu rezultate

mulțumitoare, care astfel deschid posibilitatea ca și alte instrumente cu funcționalități diferite

să fie create în funcție de necesități. De asemenea, sunt de luat în considerare analizele care se

pot realiza și pe seturi de date de alte tipuri, utilizând modulul special dezvoltat în acest scop.

Au fost înțelese atât noțiuni de arhitectură, de proiectare a unei aplicații folosind un

pachet de dezvoltare existent și uneori mai puțin documentat, asta deoarece comunitatea

dezvoltatorilor GIS nu este la fel de mare ca alte comunități, dar și noțiuni despre crearea de

instrumente de analiză a datelor geospațiale utilizând un mediu dezvoltat pentru profesioniști și

o librărie creată special cu scopul de a înlesni astfel de analize.

Ca direcții de dezvoltare ulterioară, aplicația poate fi extinsă pentru a putea colecta și

date de tip linie sau poligon sau pentru a colecta date suplimentare despre fiecare locație în

parte. Se poate dezvolta și un server propriu care să pună la dispoziția utilizatorilor spațiu de

stocare a datelor, astfel fiind posibilă și crearea unei funcții de autentificare și gestionarea de

conturi pentru mai mulți utilizatori.

Page 37: Instrumente GIS de calcul a utilității resimțite de ...alaiba/pub/absolvire/2016 vara/UtilitateSupermarket.pdfde calcul a utilității resimțite de clienții supermarketurilor.

37

Bibliografie

[1] Cătoiu I., Teodorescu N., Comportamentul consumatorului. Teorie și practică, Editura

Economică, București, 1997

[2] Environmental Systems Research Institute, Inc., The Guide To Geographic Information

Systems: What Is GIS. 2009, http://www.gis.com/index.html

[3] Longley P., Goodchild M., Maguire D., Rhind D., Geographic Information Systems &

Science, Wiley, 2011

[4] Wise Stephen, GIS Fundamentals - Second edition, CRC Press, 2014

[5] https://developer.android.com/index.html

[6] https://developers.arcgis.com

[7] http://desktop.arcgis.com/en/arcmap/

[8] http://desktop.arcgis.com/en/arcmap/10.3/analyze/arcpy

[9] http://resources.arcgis.com/en/communities/python/

[10] https://developers.arcgis.com/android/api-reference/reference/

[11] http://pro.arcgis.com/en/pro-app/