Karttillämpningar För Rikstäckande Accessnät Map Applications For

Karttillämpningar För Rikstäckande Accessnät Map Applications For

Detta examensarbete har genomf¨orts i samarbete med DGC. Handledare p˚aDGC: Paul Weingarten och Bj¨orn Osterman.¨ Karttill¨ampningar f¨or rikst¨ackande accessn¨at Map applications for nationwide access net Johan Camling Fredrik Lonnegren¨ Examensarbete inom Datorteknik Grundniv˚a,15 hp Handledare p˚aKTH: Jonas W˚ahsl´en Examinator: Ibrahim Orhan Skolan f¨or teknik och h¨alsa TRITA-STH 2013:73 Kungliga Tekniska H¨ogskolan Skolan f¨or teknik och h¨alsa 136 40 Handen, Sweden http://www.kth.se/sth i Sammanfattning Denna rapport ˚atergerarbetsprocessen kring att utv¨ardera geografiska tj¨anster, och att utveckla karttill¨ampningar f¨or n¨atverk av rikst¨ackande om- fattning. Arbetet utf¨ordes p˚aplats hos DGC, en datakommunikations-, tele- och n¨atoperat¨or som distribuerar kundf¨orbindelser i hela Sverige d¨ar konsu- menter ansluts till stamn¨atet. Uppgiften bestod av att utv¨ardera m¨ojligheter till att sl˚aupp koordinater f¨or etablerade kundplatser, rita ut accessn¨atet i ett kartgr¨anssnitt och ta fram ett eller flera st¨odverktyg f¨or bland annat orderprocesser. Anv¨andningsfall utifr˚an ¨onskem˚al,arkitekturm¨onster samt analys av yttre leverant¨orers tj¨anster f¨or geocoding avgjorde hur det slutgiltiga systemet var utformat. Mjukvaran som utvecklades integrerades b˚adei befintliga system och som ensamst˚aendetill¨ampningar. En publicering/release genomf¨ordes som avslutande moment i arbetet. I rapporten beskrivs hur kartl¨aggning gjordes med hj¨alp av KML, hur geogra- fisk data hanterades, utformningen av ¨overvakningsverktyget som framtogs samt hur koordinater f¨or adresser h¨amtades. iii Abstract This thesis describes the process of analyzing and evaluating geographic ser- vices, and the development of map applications for nationwide networks. The project was performed at DGC, a datacommunications-, telephony- and networks operator which distributes customer access across Sweden where consumers are connected to the backbone network. In whole, the task consisted of an analysis regarding the possibilities of address-to-coordinate lookup for established customer sites, displaying the access network in a map interface and developing one or more tools, aimed at supporting order processes. Architecture patterns, use-cases construed from user requests and analysis of external provider services for geocoding determined the design of the so- lution. Software was partially integrated in existing systems, and partially distributed as stand-alone applications. The product was finalized with a re- lease. Read further to get a description of the monitoring tool, network mapping with KML, dealing with geographic data, and also the process of fetching coordinates for addresses. v F¨orord Vi vill passa p˚aatt ge ett stort tack till Paul Weingarten och Bj¨orn Osterman¨ f¨or det st¨od och samarbete som vi hade i projektet. Vi har med hj¨alp av er f˚atten djupare f¨ors˚aelsei distribuerade system, SQL och programutveckling i bland annat .NET. Vi vill g¨arna ge ett snabbt tips till l¨asaren om teckenf¨orklaringen som inleder rapporten: som h¨anvisning till n˚agraav de termer och f¨orkortningar som anv¨ands i texten. Ocks˚aett stort lycka till, till Thomas Lundberg och Alexander Heimonen som p˚ab¨orjade sitt examensarbete, ocks˚ap˚aDGC, knappt fyra veckor efter att vi hade startat. vii Teckenf¨orklaring .NET - Microsofts platform AJAX - Asynchronous Javascript And XML API - Application Programming Interface CLR - Common Language Runtime DAL - Data Access Layer MVVM - Model View Viewmodel WCF - Windows Communication Foundation WPF - Windows Presentation Foundation XML - Extensible Markup Language XAML - Exstensible Application Markup Language Webservice - En tj¨anst som anropas f¨or att f˚adata genom antingen REST- f¨orfr˚agningareller SOAP-anrop REST - Representational State Transfer SOAP - Simple Object Access Protocol Caching - Processen att spara data i minnet f¨or en applikation KV - Key-value-par DB/Db - Databas SQL - Structured Query Language Parsing - Processen att tolka information ur ett svar fr˚ant.ex en webservice GPS - Global Positioning System GIS - Geographic Information System OSM - Open Streetmap KML - Keyhole Markup Language KMZ - Keyhole Markup Zip TDD - Test Driven Development ix Inneh˚all 1 Inledning och bakgrund 1 1.1 F¨oretagsbeskrivning . .1 1.2 Projektbeskrivning . .1 1.2.1 M˚alformulering . .2 1.2.2 Avgr¨ansningar . .3 1.2.3 L¨osningsmetoder . .3 1.3 Nul¨agesbeskrivning . .4 1.4 Summering . .4 2 Teoretisk referensram 5 2.1 Geodesi . .5 2.1.1 Latitud och longitud . .5 2.2 Geocoding . .5 2.3 Datatypen Geography . .6 2.4 KML och KMZ . .6 3 F¨orstudie 7 3.1 Externa geografitj¨anster . .7 3.2 Geocoding, licensiering och persistent datalagring . .8 3.2.1 Google Maps APIs . .8 3.2.2 Bing Maps Platform APIs . .9 3.2.3 Yahoo! Maps API . 10 3.2.4 MapQuest . 10 3.2.5 Nominatim . 11 3.3 Tillf¨orlitlighet av uppslag . 11 3.3.1 Google . 11 3.3.2 Bing . 12 3.3.3 MapQuest . 12 3.3.4 Nominatim . 12 4 Genomf¨orande 13 4.1 Tredjepartstj¨anster . 13 4.1.1 Val av tredjepartsleverant¨orer . 13 4.2 Arkitektur . 14 4.2.1 Geocoding Service . 14 4.2.2 Geofinding Service . 14 xi 4.2.3 Webbvy med modell . 14 4.2.4 DbSeeder . 15 4.3 Geocodes fr˚anextern leverant¨or . 15 4.3.1 J¨amf¨orelse med viktade v¨arden . 15 4.3.2 Parsing . 17 4.3.3 Confidence-filter . 17 4.3.4 Cache . 19 4.4 Lagring av positionsdata . 20 4.5 WPF . 21 4.6 Webbvyer . 22 4.6.1 Javascriptmodulen geo.js . 22 4.6.2 Overvakning¨ . 23 4.7 Publicering . 24 4.7.1 Beslut om geocoding . 24 4.7.2 Tillkomna st¨od med tillh¨orande licenser . 25 4.7.3 Verktyg . 25 5 Interna ¨onskem˚al 26 5.1 Kundportal . 26 5.2 Vy med huskroppar . 26 6 Resultat 27 6.1 Geocode service . 27 6.2 Anv¨andargr¨anssnitt i form av kartor . 27 6.2.1 Overvakningsvy¨ . 28 6.2.2 Kundvy . 28 6.2.3 KML i Google Earth . 28 6.3 Enhetstestning och dokumentation . 29 6.4 Uppfyllande av m˚alen. 29 7 Slutsatser 30 8 Rekommendationer 31 K¨allf¨orteckning 32 Bilagor 37 A Systemarkitektur . 37 B KML i en geografisk l¨asare . 38 xii B.1 Exempeldata i KML . 39 B.2 KML-generering med LINQ To XML . 40 C Kartvy . 41 D How-To . 42 D.1 Controller . 42 D.2 Modul . 43 D.3 View . 45 xiii 1 Inledning och bakgrund I detta avsnitt beskrivs bakgrunden f¨or hur projektet kom att uformas, vilket sorts f¨oretag det gjordes f¨or och en ¨overgripande beskrivning av m˚als¨attningarna. Aven¨ de val av tillv¨agag˚angss¨att som gjordes under projektet och tillm¨otesg˚aendeav de behov som fanns motiveras. 1.1 F¨oretagsbeskrivning DGC ¨ar en n¨atoperat¨or som utvecklar och s¨aljer datakommunikations-, drift- och telefonil¨osningar i ett eget rikst¨ackande n¨at till f¨oretag och organisationer som har verksamhet p˚am˚angaplatser. DGC hyr koppar- och fiberf¨orbindelser av n¨at¨agare i Sverige f¨or att ansluta slutkunderna till sitt stamn¨at. Slutkundens adress och geografiska position avg¨or vilka n¨at¨agare som ¨ar aktuella samt vilka tj¨anster som de kan erbjuda DGC. 1.2 Projektbeskrivning N¨ar internetaccess skulle s¨aljas till nya kunder unders¨oktes f¨orst vilken un- derleverant¨or som kablage skulle hyras av baserat p˚aslutkunders adress. I de orderprocesser som genomf¨ordes unders¨oktes slutkunders adresser i detalj, men systemst¨od f¨or att s¨oka fram adressers koordinater och spara dessa i ett strukturerat format saknades. Detta medf¨orde kostnader i tid f¨or de beslut som r¨orde kunders geografiska placering i f¨ors¨aljningsprocessen. F¨or att kunna ta fram verktyg som skulle underl¨atta beslutsprocesser vid ink¨op av n¨attj¨anster ¨onskade DGC modifiera sina befintliga system f¨or att st¨ojda koordinater, samt ta fram ett nytt system f¨or uppslag av koordinater fr˚anextern leverant¨or. Ut¨over nyttan i ink¨opsprocessen s˚av¨arderade DGC m¨ojligheten att anv¨anda geografisk information f¨or att presentera sina tj¨anster p˚aen karta, b˚adein- ternt och i sin kundportal. 1 1.2.1 M˚alformulering Arbetet f¨orv¨antades resultera i ett eller flera system, efterforskningar och analyser. Dessa var: • En unders¨okning av vilka leverant¨orer av geografiska tj¨anster som b¨ast kunde l¨osa problemet och som en webtj¨anst sedan skulle implementera. • Ett strukturerat s¨att att lagra geografisk data i befintliga system. • En kartl¨aggning och teknisk analys av delsystemens syften och vad de skulle ha f¨or roll i ett st¨orre sammanhang. • Funktionalitet f¨or att ber¨akna n¨arhet mellan koordinater. • Utf¨ora geocoding p˚abefintlig data i befintliga system. • Kartl¨aggning av interna ¨onskem˚al. • Generera geografisk information till ett strukturerat format och sedan anv¨anda informationen f¨or uppritning i vyer. • En webvy f¨or att presentera data grafiskt. • En WPF-kontroll som presenterar data grafiskt. • Att kunna m¨ata proximitet mellan punkter f¨or att avg¨ora hur en order ska f¨orfaras. • Att kunna anpassa grafisk presentation utifr˚ant¨athet. • Implementation i befintliga system. Grundtanken med projektet var att skapa flera, i s˚ah¨og grad som m¨ojligt, anv¨andbara verktyg f¨or intern verksamhet p˚aDGC. Programvara skulle va- ra fels¨aker och skriven med kvalitetss¨akrad kod, b˚adef¨or att f¨ors¨akra att delsystem var robusta i drift och f¨or att underl¨atta framtida utveckling. 2 1.2.2 Avgr¨ansningar Arbetet omfattade ej: • Utveckling utanf¨or plattformen .NET.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    59 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us