1Petrozavodsk, Apr 2013Location Based Services and Geo-tagging.Geo2tag platform introduction.
2Petrozavodsk, Apr 2013Agenda● Architecture overview● Installation process● Source code overview● JSON interface● Client l...
3Petrozavodsk, Apr 2013Location Based Services● LBS = using geographical context– Indoor services– Mobile healthcare– City...
4Petrozavodsk, Apr 2013Geo-tagging● Def: the process of adding geographicalidentification metadata to various media:– Phot...
5Petrozavodsk, Apr 2013Terminology● Tag – tuple <t, L, B, H, data>,– t – time– B,L,H – coordinates– data – text data ~1K● ...
6Petrozavodsk, Apr 2013Main features of tagging system● Access to tags● Classification● Filtering● Session and User manage...
7Petrozavodsk, Apr 2013Features● Current– Basic geo-tagging– Plain and spacial filtration– Load balancing across Databases...
8Petrozavodsk, Apr 2013Installation (test system)● Visit http://build64.geo2tag.org/● Add line to /etc/apt/sources.list– d...
9Petrozavodsk, Apr 2013Channels and tagsLBS PlatformКаналChannelChannelChannelChannelTag- time- coordinates- data (link)Fi...
10Petrozavodsk, Apr 2013Geo2tag architectureQueryengineSession managerHPdatabaseBLOBscacheIndexerCluster/cloudinfrastructu...
11Petrozavodsk, Apr 2013Resources● Main site http://geo2tag.org● Tracker https://geo2tag.atlassian.net/● Sources https://g...
12Petrozavodsk, Apr 2013JSON/REST APICommand:– Service URL– Function– ParametersExamplehttp://debug.geo2tag.org/service?{j...
13Petrozavodsk, Apr 2013RESTful API● REST = Representational State Transfer– 2000 by Roy Fielding– The model of http (v 1....
14Petrozavodsk, Apr 2013Goals of REST● Scalability of component interactions● Generality of interfaces● Independent deploy...
15Petrozavodsk, Apr 2013Java script Object Notation● Text-based, Object-oriented, datainterchange format.● Structure:– A c...
16Petrozavodsk, Apr 2013Grammar● Begin-array – [ left square bracket● Begin-object – { left curly bracket● End-array – ] r...
17Petrozavodsk, Apr 2013Examples{"Image": {"Width": 800,"Height": 600,"Title": "View from 15th Floor","Thumbnail": {"Url":...
18Petrozavodsk, Apr 2013Geo2tag REST APIBased on JSON objects interchange● Command:– URI● Service URL● Function– Parameter...
19Petrozavodsk, Apr 2013Session tokenclient server/version{“errno”: 0, “version” : “1.02”}/login {“login” : “user”, “passw...
20Petrozavodsk, Apr 2013Invoking by curl$ curl -d {"login":"User","password":"test"}http://debug.geo2tag.org/service/login
21Petrozavodsk, Apr 2013Live example(curl)
22Petrozavodsk, Apr 2013Command security● Plain commands (version, build,...)● Session management– login– closeSession● Au...
23Petrozavodsk, Apr 2013Session workflow● Check version● Acquire session token● … R/W tags, channels● Close session
24Petrozavodsk, Apr 2013Login● /login– login– password
25Petrozavodsk, Apr 2013User management● /addUser– login– password– Email● /deleteUser– login
26Petrozavodsk, Apr 2013Channel Management● /addChannel– name– description– url– radius● /owned● /subscribe● /subscribed
27Petrozavodsk, Apr 2013Working with tags● /writeTag– channel– description– {coordinates}– time– title● /loadTags– latitud...
28Petrozavodsk, Apr 2013Qt interface(http_requests)
29Petrozavodsk, Apr 2013Qt interface(demo application)
30Petrozavodsk, Apr 2013java interface(jgeo)
31Petrozavodsk, Apr 2013Practice: Android
32Petrozavodsk, Apr 2013Demo: LoginActivity
33Petrozavodsk, Apr 2013Demo: RequestSender
34Petrozavodsk, Apr 2013Demo: login()
35Petrozavodsk, Apr 2013Demo: Chat Activity
36Petrozavodsk, Apr 2013Demo: Activity Transition
37Petrozavodsk, Apr 2013Demo: Location Updating
38Petrozavodsk, Apr 2013Demo: availableChannels()
39Petrozavodsk, Apr 2013Demo: subscribeChannel()
40Petrozavodsk, Apr 2013Demo: Channel chooser
41Petrozavodsk, Apr 2013Demo: writeTag()
42Petrozavodsk, Apr 2013Demo: loadTags()
43Petrozavodsk, Apr 2013Demo: TagsView updating
44Petrozavodsk, Apr 2013Demo: background updating
45Petrozavodsk, Apr 2013Practice: Qt
46Petrozavodsk, Apr 2013Contactsgeo2tag-maintainer@fruct.org
Upcoming SlideShare
Loading in …5
×

Fruct13 geo2tag-training

594
-1

Published on

This is hands on training material about Geo2Tag LBS Platform on FRUCT13 conference

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
594
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Fruct13 geo2tag-training

  1. 1. 1Petrozavodsk, Apr 2013Location Based Services and Geo-tagging.Geo2tag platform introduction.
  2. 2. 2Petrozavodsk, Apr 2013Agenda● Architecture overview● Installation process● Source code overview● JSON interface● Client libraries– http_requests– Jgeo● Qt example● Android example
  3. 3. 3Petrozavodsk, Apr 2013Location Based Services● LBS = using geographical context– Indoor services– Mobile healthcare– City information● Transport● Traffic● ...
  4. 4. 4Petrozavodsk, Apr 2013Geo-tagging● Def: the process of adding geographicalidentification metadata to various media:– Photo, video– Web-pages,– SMS, QR-codes– files
  5. 5. 5Petrozavodsk, Apr 2013Terminology● Tag – tuple <t, L, B, H, data>,– t – time– B,L,H – coordinates– data – text data ~1K● Channel – classifier for group of tags
  6. 6. 6Petrozavodsk, Apr 2013Main features of tagging system● Access to tags● Classification● Filtering● Session and User management● Massive data processing
  7. 7. 7Petrozavodsk, Apr 2013Features● Current– Basic geo-tagging– Plain and spacial filtration– Load balancing across Databases and webservers● Will be published in 2013– Exporters (wikimapia, google maps, OSM,4square)– Channel aggregation– Multi-service databases
  8. 8. 8Petrozavodsk, Apr 2013Installation (test system)● Visit http://build64.geo2tag.org/● Add line to /etc/apt/sources.list– deb http://build64.geo2tag.org/ geo2tag main● Install packages– sudo apt-get update– sudo apt-get install –reinstall geo2tag● Check installation– http://<url>/service/version– http://<url>/service/build
  9. 9. 9Petrozavodsk, Apr 2013Channels and tagsLBS PlatformКаналChannelChannelChannelChannelTag- time- coordinates- data (link)Filtration- time- radius- figure (2D or 3D)TagTagTag
  10. 10. 10Petrozavodsk, Apr 2013Geo2tag architectureQueryengineSession managerHPdatabaseBLOBscacheIndexerCluster/cloudinfrastructurebackendclientsLibraries:jgeo, http_reqsSession cachewebandroidwebQt-basedembeddedJSONSystem cache
  11. 11. 11Petrozavodsk, Apr 2013Resources● Main site http://geo2tag.org● Tracker https://geo2tag.atlassian.net/● Sources https://github.com/OSLL/geo2tag● Support: geo2tag-support@osll.spb.ru● CI server: pulse.geo2tag.org
  12. 12. 12Petrozavodsk, Apr 2013JSON/REST APICommand:– Service URL– Function– ParametersExamplehttp://debug.geo2tag.org/service?{json}– Json: {"login":"User","password":"pwd@"}
  13. 13. 13Petrozavodsk, Apr 2013RESTful API● REST = Representational State Transfer– 2000 by Roy Fielding– The model of http (v 1.0)– HTTP POST is being used forcommunication.
  14. 14. 14Petrozavodsk, Apr 2013Goals of REST● Scalability of component interactions● Generality of interfaces● Independent deployment of components● encapsulate legacy systems
  15. 15. 15Petrozavodsk, Apr 2013Java script Object Notation● Text-based, Object-oriented, datainterchange format.● Structure:– A collection of name/value pairs– Ordered list of values.
  16. 16. 16Petrozavodsk, Apr 2013Grammar● Begin-array – [ left square bracket● Begin-object – { left curly bracket● End-array – ] right square bracket● End-object – } right curly bracket● Name-separator – : colon● Value-separator – ; , comma
  17. 17. 17Petrozavodsk, Apr 2013Examples{"Image": {"Width": 800,"Height": 600,"Title": "View from 15th Floor","Thumbnail": {"Url": "http://www.example.com/image/481989943","Height": 125,"Width": "100"},"IDs": [116, 943, 234, 38793]}
  18. 18. 18Petrozavodsk, Apr 2013Geo2tag REST APIBased on JSON objects interchange● Command:– URI● Service URL● Function– Parameters: JSON objectExampleURI http://debug.geo2tag.org/service/login– Params (Json): {"login":"User","password":"test"}
  19. 19. 19Petrozavodsk, Apr 2013Session tokenclient server/version{“errno”: 0, “version” : “1.02”}/login {“login” : “user”, “password”:”pwd”}{“errno”: 0, “auth_token” : “765888876588”}/loadTags {“auth_token” : “765888876588”,“latitude”:23.0, ”longitude”:12.0, “radius”: 5}{“errno”: 0, ...}
  20. 20. 20Petrozavodsk, Apr 2013Invoking by curl$ curl -d {"login":"User","password":"test"}http://debug.geo2tag.org/service/login
  21. 21. 21Petrozavodsk, Apr 2013Live example(curl)
  22. 22. 22Petrozavodsk, Apr 2013Command security● Plain commands (version, build,...)● Session management– login– closeSession● Authorized commands– With session token
  23. 23. 23Petrozavodsk, Apr 2013Session workflow● Check version● Acquire session token● … R/W tags, channels● Close session
  24. 24. 24Petrozavodsk, Apr 2013Login● /login– login– password
  25. 25. 25Petrozavodsk, Apr 2013User management● /addUser– login– password– Email● /deleteUser– login
  26. 26. 26Petrozavodsk, Apr 2013Channel Management● /addChannel– name– description– url– radius● /owned● /subscribe● /subscribed
  27. 27. 27Petrozavodsk, Apr 2013Working with tags● /writeTag– channel– description– {coordinates}– time– title● /loadTags– latitude– longitude– radius–
  28. 28. 28Petrozavodsk, Apr 2013Qt interface(http_requests)
  29. 29. 29Petrozavodsk, Apr 2013Qt interface(demo application)
  30. 30. 30Petrozavodsk, Apr 2013java interface(jgeo)
  31. 31. 31Petrozavodsk, Apr 2013Practice: Android
  32. 32. 32Petrozavodsk, Apr 2013Demo: LoginActivity
  33. 33. 33Petrozavodsk, Apr 2013Demo: RequestSender
  34. 34. 34Petrozavodsk, Apr 2013Demo: login()
  35. 35. 35Petrozavodsk, Apr 2013Demo: Chat Activity
  36. 36. 36Petrozavodsk, Apr 2013Demo: Activity Transition
  37. 37. 37Petrozavodsk, Apr 2013Demo: Location Updating
  38. 38. 38Petrozavodsk, Apr 2013Demo: availableChannels()
  39. 39. 39Petrozavodsk, Apr 2013Demo: subscribeChannel()
  40. 40. 40Petrozavodsk, Apr 2013Demo: Channel chooser
  41. 41. 41Petrozavodsk, Apr 2013Demo: writeTag()
  42. 42. 42Petrozavodsk, Apr 2013Demo: loadTags()
  43. 43. 43Petrozavodsk, Apr 2013Demo: TagsView updating
  44. 44. 44Petrozavodsk, Apr 2013Demo: background updating
  45. 45. 45Petrozavodsk, Apr 2013Practice: Qt
  46. 46. 46Petrozavodsk, Apr 2013Contactsgeo2tag-maintainer@fruct.org

×