MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information...
Transcript of MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information...
![Page 1: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/1.jpg)
MOBILE LOCATION-BASED APPS Lecture in University of Tartu
Jaak Laineste, 13.10.2011
![Page 2: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/2.jpg)
LOCATION-BASED SERVICE OVERVIEW
Part 1
![Page 3: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/3.jpg)
Background
• GIS/LBS experience
15 years in GIS/mapping, 10 years in LBS
Mobile operator LBS in all over the world
Nutiteq est. 2006
• Nutiteq and mobile development
Part of Mobi Solutions group since 2009
J2ME, Android, BlackBerry, iPhone teams
Major customer projects
![Page 4: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/4.jpg)
Location-Based Services
• Location-based: 80% of data
• Service (or mobile application)
• Mobile technologies (phones, networks)
• Mobile positioning
• LBS is a technology, not application type
Can be aspect of any application type
![Page 5: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/5.jpg)
Two meanings of LBS
• Old meaning (200x):
Mobile Positioning – MPS
User Interface: SMS, web, WAP, USSD, IVR
• Today’s LBS : (201x)
smartphones with GPS, tablets
mobile apps, web services, HTML5
![Page 6: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/6.jpg)
Operator-based LBS
• Mobile Positioning Find location using mobile network
Works with any mobile, no requirements
Accuracy without GPS: 300m ... 30 km (~1 km avg)
Can also use in-phone GPS / A-GPS
Only operator can do
• Typical services FriendFinder, Games
Find Nearest
Fleet Management
• Recent trends Operators open APIs, including location
There are aggregators: e.g. LocationLabs, Loc-Aid
![Page 7: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/7.jpg)
Popular LBS apps in smartphones
• Navigation
Tomtom, Navigon, Garmin, Nokia maps etc. Also waze
• Business around you
reviews, events, classifieds etc
Yelp, Loopt, Qype, Zvents, Eventful, Opentable etc
• Transit and traffic info
where available
• Trapster
• Social: Facebook checkins
• Games: Foursquare
![Page 8: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/8.jpg)
Un-successful applications
• friend tracking
• track my location
• location-based advertising
• location-based alerts
• augmented reality
![Page 9: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/9.jpg)
Hard problems
• GPS takes too much battery
• GPS coverage and accuracy is bad
No indoors
• Maps are limited
No indoors
No walking level
• Real needs are hard to estimate
![Page 10: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/10.jpg)
Successful apps
• Local is local
• Content is important, and expensive
• Understand topic
pymwymi
• There is no killer app
but you can create killer service if you do the execution
• Location is just a technology
Aspect of an application, often not the core
![Page 11: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/11.jpg)
GIS INTRODUCTION
Part 2
![Page 12: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/12.jpg)
GIS term
• Geographic With geographical dimension
• Information
• System Software, servers, computers
• Wikipedia: a system designed to capture, store, manipulate,
analyze, manage, and present all types of geographically referenced data.
In the simplest terms, GIS is the merging of cartography, statistical analysis, and database technology
![Page 13: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/13.jpg)
„Classic“ GIS
• Started in early 1970’ies
• Key companies, drivers ESRI, Intergraph, MapInfo, AutoDesk, Oracle
Universities:
• Key focus Desktop-GIS – special GIS tools
Servers, client-server model
• Expensive, specialized, heavy
• Recent developments (from late 90ies) OGC standards: WMS, WFS, GML etc
![Page 14: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/14.jpg)
Neo-geo
• Web/Internet-based Cloud services
• Free commercial tools Google: Maps, Earth, SketchUp, FusionTables etc
Yahoo, Microsoft Bing, MapQuest
• Open source software OSGeo.org: server, desktop, web
• Open sourced data OpenStreetMap
![Page 15: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/15.jpg)
Mobile LBS future
• Augmented Reality Issue: mobile sensors
Needs powerful image processing
• 3D 3D earth (2.5D)
Buildings, textures etc
• 360-degree view Issue: bandwidth
• Walking/local/indoor maps Issue: content update is expensive
• Your ideas !
![Page 16: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/16.jpg)
GIS TECHNOLOGY AND DEVELOPMENT
![Page 17: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/17.jpg)
Why special approach
• Data is quite complex
Two-dimensional
Can be even 3D
Complex relations
Nice visualization is processing-hungry
• Base maps
Big datasets, different features
• Specific map data
Dynamic, can be big etc
![Page 18: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/18.jpg)
"It's a small world, but I wouldn't want to
paint it.„
- Steven Wright
![Page 19: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/19.jpg)
Data in a single screen
Type – 4 bytes
Name – 100 bytes
People – 4 bytes
Checkins – 4 bytes
Point on map – 16 bytes
Base map – 32+ (500+)KB
27 relations
205 ways (lines)
1920 points (x 16 b)
![Page 20: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/20.jpg)
Geo basics
• Data models
vector
raster
other
• Coordinates
Projections, coordinate systems
![Page 21: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/21.jpg)
Data models
• Raster PNG for maps, lossless
JPG for aerials
GeoTIFF, coverages
Key parameter: resolution, size
• Vector Base primitives: points, lines, polygons
Compounds: multi-point, multi-line, multi-polygon
Attributes - text/boolean/numeric/binary etc
Texts on map - labels from attributes
Layer – same as „table“ in DB, „class“ in OOP
Special vector: topological models, graphs
![Page 22: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/22.jpg)
Other data models
• Elevation models
DEM – Digital Elevation Model
TIN - triangulated irregular network
• 3D worlds
Collada, X3D
Google Earth Warehouse
• Point clouds
Lidar – laser measurements
![Page 23: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/23.jpg)
Hillshade from DEM
![Page 24: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/24.jpg)
TIN
![Page 25: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/25.jpg)
Point cloud
![Page 26: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/26.jpg)
GIS Layers
![Page 27: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/27.jpg)
GIS layers simplified
• One base layer
Background map: Google, OpenStreetMap etc
Raster-based
• Overlay layer(s)
Points of Interest, markers
GPS location – dynamic info
Lines, Polygons
Clustered points
![Page 28: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/28.jpg)
Demo
• Quantum GIS with vector in action
• Open vector data layers
• Styling map
![Page 29: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/29.jpg)
QGIS with OSM data
![Page 30: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/30.jpg)
Typical vector data operations
• Mapping Request data for bounding box (BBOX)
Reprojection (if needed)
Show set of layers
Style data – colors, symbols etc
Different map zooms have different data
• Geocoding – address to coordinates
• Reverse-geocoding
• Find nearest neighbour(s)
• Find objects in radius (buffer)
• Calculate distance between objects
• Find Point in polygon
• Routing – find optimal path in graph
• Clustering - show big datasets on map
![Page 31: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/31.jpg)
Common GIS Data formats
• Shapefile (ESRI) – most common 4-5 files per layer: .shp, .dbf etc
One geometry type per layer allowed
No style information, pure geometry
Optional projection file .prj
• KML (Google, open standard) Vector data, includes styles
Special data types: 3D data (Collada), linked data, visual coverages
Can have only WGS84 coordinates
Can be KMZ – zipped file
• Other formats SpatiaLite: vector and raster data. Any projection, no styles.
Text files with coordinates or addresses
Every commercial GIS has own format(s)
Free converter: http://www.gdal.org/ogr/ogr_formats.html
![Page 32: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/32.jpg)
Spatial SQL database basics
• Special column data types(s):
Geometry, Point, Polygon ...
• Geographical indexing
Usually R-Tree, based on object bounds (bbox)
• Geographical functions:
Manipulations, relations, queries etc etc
• Metadata table:
Defines coordinate system, data type for every Geometry column
![Page 33: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/33.jpg)
Geometry primitives in WKT (2D)
![Page 34: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/34.jpg)
Multipart geometries in WKT (2D)
![Page 35: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/35.jpg)
PROJECTIONS
![Page 36: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/36.jpg)
Coordinate systems
• Geographical – spherical Units: Latitude and Longitude
Based on an ellipsoid, e.g. WGS-84
Datums, also WGS84 for GPS
DMS for display, decimal degrees for programming
• Projected - cartesian Units: usually meters (can be km, miles)
Hundreds of named projections, mostly for local regions
Reduce distortions: keep angles, distances, areas equal
![Page 37: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/37.jpg)
Geographical coordinate space
![Page 38: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/38.jpg)
Cartesian (projected) coordinate space
![Page 39: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/39.jpg)
Different projections
• The Globe Applet
http://www.jhlabs.com/java/maps/proj/
• Check out some
Oblique Mercator, Cassini, Rectangular
Polyconic
• Common in real life
Plate Carre, Mercator, Spherical Mercator,
UTM, Lambert Conformal Conic (in L-EST)
![Page 40: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/40.jpg)
Short and long projection description
EPSG codes:
• EPSG:4326 – WGS84
• EPSG:3301 – Estonian system
• EPSG:3587 – „Google web“ Was also EPSG:900913
<EPSG:3301>
PROJCS["Estonian Coordinate System of 1997",
GEOGCS["EST97",
DATUM["Estonia_1997",
SPHEROID["GRS 1980",6378137,298.257222101,
AUTHORITY["EPSG","7019"]],
TOWGS84[0,0,0,0,0,0,0],
AUTHORITY["EPSG","6180"]],
PRIMEM["Greenwich",0,
AUTHORITY["EPSG","8901"]],
UNIT["degree",0.01745329251994328,
AUTHORITY["EPSG","9122"]],
AUTHORITY["EPSG","4180"]],
UNIT["metre",1,
AUTHORITY["EPSG","9001"]],
PROJECTION["Lambert_Conformal_Conic_2SP"],
PARAMETER["standard_parallel_1",59.33333333333334],
PARAMETER["standard_parallel_2",58],
PARAMETER["latitude_of_origin",57.51755393055556],
PARAMETER["central_meridian",24],
PARAMETER["false_easting",500000],
PARAMETER["false_northing",6375000],
AUTHORITY["EPSG","3301"],
AXIS["Y",EAST],
AXIS["X",NORTH]]
![Page 41: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/41.jpg)
![Page 42: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/42.jpg)
Coordinates as QR-Code
• http://zxing.appspot.com/generator/
„GEO:26.7144,58.3784“
![Page 43: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/43.jpg)
MAP DATA SOURCES
![Page 44: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/44.jpg)
Web maps
• Google Maps
Javascript, Flash, Static APIs, Earth 3D
Geocoding and Directions (routing) services
Mobile APIs: Android, iPhone
• Bing Maps
Web, Mobile API (WP7, iPhone)
• Nokia Ovi Maps
Web, Mobile (Qt, J2ME)
![Page 45: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/45.jpg)
Web map restrictions
• Technical restrictions
Cannot be restyled, no visual customization
Limited to provided API-s, feature limits
Can’t get map data, or even images
Some mobile platforms not served at all
• Commercial limits
Some services (e.g. Navigation) require special license
Advertising is added
![Page 46: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/46.jpg)
Commercial map data
• Global vendors
Vector: Navteq (Nokia), TeleAtlas (TomTom), AND
Aerial/Satellite: DigitalGlobe, Blom ASA ...
• Local vendors
Regio, Maa-amet
In almost every country, more detailed to globals
• Specifics
Technically quite flexible
Usually quite expensive
![Page 47: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/47.jpg)
OpenStreetMap (OSM)
• Free and open data
Vector data in 2D
Streets, roads, buildings, amenities etc
• A lot of services
Map images (tiles), geocoders, routers etc
Special views: opencyclemap, openpistemap etc
• Everyone can improve the map
www.openstreetmap.org
www.maakaart.ee – in Estonian
![Page 48: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/48.jpg)
Potlatch2 – web-based OSM editor
![Page 49: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/49.jpg)
JOSM – OSM main editor
![Page 50: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/50.jpg)
![Page 51: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/51.jpg)
OSM advantages
• Free and open to use No advertising, restrictions
• Vector data access Custom styles for mapping
Own filters of data on map (layers)
Interactive data overlays (POI layers)
Advanced services: routing, search, analysis
• Fast and easy updates Find error – go fix it yourself!
Note: follow community guidelines
![Page 52: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/52.jpg)
GIS TOOLS
![Page 53: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/53.jpg)
Main OGC standards
• WMS – Web Mapping Service Send coordinates in URL, get map image
• WFS – Web Feature Service Send coordinates in URL, get vector data as GML
WFS-T – enables writing to server
• GML – Geography Markup Language XML-based
Specific schemas depending on application
• TMS – Tiled Map Service Get 256x256-pixel map images for x, y, zoom
• Others GeoRSS – RSS with geotags
Geo EXIF – GPS tags for digital photos
![Page 54: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/54.jpg)
OCG
![Page 55: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/55.jpg)
Free GIS tools
• Desktop tools – mapping, analysis, processing Quantum GIS (QGIS)
uDig, OpenJUMP, gvSIG
GRASS – analysis
Google Earth - view/create KML
Google SketchUp – create 3D models
• Databases Data sharing/storage
Analytical queries, eg. count points in regions
PostGIS – Postgres add-on.
Pgrouting
PostGIS Raster (in next version)
• Processing GDAL/OGR – raster and vector library, command-line converters
![Page 56: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/56.jpg)
Free GIS tools for developers
• JTS Java Topology Suite, ports in C etc
Lot of complex algorithms, geometries, graphs, geographical indexes
• Proj.4 C-based, has few ports
Hundreds of predefined projections
• SpatiaLite SQLite extension, for files
Also some raster features
• PostGIS Postgres SQL server extension for vector
Raster features in next version
![Page 57: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/57.jpg)
Free GIS Servers
• Web Mapping GeoServer: WMS, WFS, WCS, caching
MapServer: WMS, TMS, WFS
MapGuide OS
Mapnik: TMS, OSM
TileMill: good for on-line styling
• Web Processing Services Degree etc
• Developer toolkits OpenLayers – Javascript
GeoMajas – Java-based
MapFish – Python-based
• Cooperation project: www.osgeo.org
![Page 58: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/58.jpg)
Free GeoWebServices
• Google Fusion Tables General data table API service
Very basic geo-features
• GeoCommons.com Nice maps and analyses, a lot of content shared
No editing, content for US mostly
• GISCloud.com Also server-based editing is possible
Not very mature
• OpenStreetMap Only for community-created data
Content requirements: verifyable objects etc
• CartoDB.com – closed beta now Hosted GIS servers
![Page 59: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/59.jpg)
Build your own geodatabase
• When you need own server: Requirements are very different
Cannot customize readymade servers
Specific use cases: user permissions etc
• Using OSGeo tools Database: PostGIS
Web maps: eg MapServer
Client tools: Geomajas, OpenLayers
• Using OSM toolkit Web maps: PostGIS + Mapnik
API/data management: Rails_port (ruby), Postgres
Client-side modification: JOSM, Potlatch2 etc
![Page 60: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/60.jpg)
WEB MAPPING DEVELOPENT IN SHORT
![Page 61: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/61.jpg)
General model
• Server-side
Google, Bing, OpenStreetMap etc etc
Map content is „already there for free“
Tile-, WMS or vector based API
• Client-side
JavaScript, Flash, Silverlight, plug-in or HTML API
Bundled with server: Google, Bing etc
OpenSource: OpenLayers
![Page 62: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/62.jpg)
Tiled map server – Bing sample
![Page 63: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/63.jpg)
Web mapping client API - OpenLayers
<script>
function init() {
map = new OpenLayers.Map("basicMap");
var mapnik = new OpenLayers.Layer.OSM();
map.addLayer(mapnik);
map.setCenter(new OpenLayers.LonLat(13.41,52.52) // Center of the map
.transform(
new OpenLayers.Projection("EPSG:4326"), // transform from WGS 1984
new OpenLayers.Projection("EPSG:900913") // to Spherical Mercator Projection
), 15 // Zoom level
);
}
</script>
![Page 64: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/64.jpg)
OpenLayers – add marker
...
var lonLat = new OpenLayers.LonLat(-0.1279688 ,51.5077286 )
.transform(
new OpenLayers.Projection("EPSG:4326"), // transform from WGS 1984
map.getProjectionObject() // to Spherical Mercator Projection
);
var markers = new OpenLayers.Layer.Markers( "Markers" );
map.addLayer(markers);
markers.addMarker(new OpenLayers.Marker(lonLat));
![Page 65: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/65.jpg)
Web mapping server APIs
• WMS – view-based
http://kaart.maaamet.ee/wms/alus-geo
?SERVICE=WMS
&VERSION=1.1.1 &REQUEST=GetMap &LAYERS=HALDUSPIIRID,BAASKAART &STYLES=default &SRS=EPSG:4326 &BBOX=26.7,58.3,26.8,58.4 &WIDTH=600 &HEIGHT=600 &FORMAT=image/png&
• TMS – tile-based
http://tile.openstreetmap.org /13/4702/2451.png
/13/4703/2451.png
/13/4704/2451.png
/13/4702/2452.png
/13/4703/2452.png
/13/4704/2452.png
...
![Page 66: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/66.jpg)
WMS image response
26.7E,58.3N
26.8E,58.4N
600px
600px
![Page 67: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/67.jpg)
OSM Tile-based map: zoom 13
4703 4704
2450
2451
4705
Y
X
![Page 68: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/68.jpg)
Tiles or WMS ?
• Tile advantages
Can be cached in client
Can be pre-rendered in server
Can be preloaded to client
Faster, suitable for high-traffic services
•WMS advantages
Supports selection of projection, layers, styles
Smaller number of requests
Suitable for high flexibility services (GIS apps)
![Page 69: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/69.jpg)
MOBILE LBS APP DESIGN TIPS
![Page 70: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/70.jpg)
Bad UX design
• Long alphabetical listings, no search Example: RMK Android app
• Ignore geographical dimension Mobile apps are used „out in a wild“
• Too many points on map Clusters – group points
Filters – show minimal number
• Assume user GPS location User is maybe planning to go there
• Assume always network connectivity
• Unoptimized user experience LBS must be more robust than average mobile app (eg game)
It is probably not used just to kill some tome
![Page 71: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/71.jpg)
Common technical mistakes
• Geographical data handled as non-geographical Using place names / addresses to find nearest
Use just two float fields for geographical objects
Cannot be indexed, can’t use existing geotools
• Ignore GPS specifics Location fix takes long time: 20 sec to 20 min
Fix is not always available: indoors etc
GPS kills the battery!
• Coordinate system errors mix degrees/meters, projections
swap x/y
![Page 72: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/72.jpg)
ANDROID APPS WITH LOCATION
![Page 73: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/73.jpg)
Location determination
• Plain GPS Free satellite signal – requires 4 satellites min.
Accuracy: ~5 meters
Time to first fix (TFF) – up to 20 minutes
• AGPS Assisted by network – TFF ~20-30 sec
Claimed to have also better sensibility
• Network-based locations Immediate but less accurate
Mobile network cell (Cell-ID) – ~1 km error average, can be 10 km
Wifi location: ~100 m accuracy
Cell/Wifi databases: user-collected. Google, Skyhook, Apple, Nokia, OpenCellID etc
• Hybrid method First give quick inaccurate network location, then try GPS
Used in Android, iPhone
![Page 74: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/74.jpg)
Location API in Android
• Location Method Selected automatically based on set requirements: Cell-id,WiFI or GPS
• Features Listen for updates – most common
Last known location (cached) – not suggested
Proximity alerts – not guaranteed
• Best strategy depends on app http://developer.android.com/guide/topics/location/obtaining-user-
location.html
![Page 75: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/75.jpg)
Mobile mapping – main platforms
• Smartphone platforms Most have GPS and good screen
• iPhone Bundled Apple MapKit, Google Maps.
Opensource: Route-me
• Android Bundled Google MapView, Google Maps
OpenSource tools: Osmand, Nutiteq etc
• Windows Phone 7 Bing maps SDK, Nokia Maps SDK
OpenStreetMap – coming ?
![Page 76: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/76.jpg)
Mobile mapping – other platforms
• GPS : not guaranteed
• BlackBerry BB Maps, Nutiteq SDK
• Nokia Symbian and Meego Nokia Maps, Qt-based
• Nokia S40 Nokia Maps SDK (beta), Nutiteq
• Samsung Bada deCarta SDK
![Page 77: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/77.jpg)
Mapping SDKs on Android
• Raster-based Google Maps API – no offline, routing, license limits
Nutiteq SDK – offline, multi-platform. GPL+commercial
OSMDroid – LGPL, Android-specific
• Vector-based Mapsforge – GPL, only offline , nice rendering
Droyd SDK – also navigation, only offline
Ericsson Maps – online data, ugly rendering
• 3D Earth solutions Glob3 Mobile – in development, BSD license
• HTML5 OpenLayers Mobile
OpenWebGlobe – WebGL based 3D earth
![Page 78: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/78.jpg)
Other useful free tools for mobile
• Spatialite = SQLite + GEO
Big datasets (8M objects DB)
Spatial operators, e.g. distance, nearest ...
Requires NDK/JNI. Prebuilt binary in
bitbucket.org/nutiteq/android-map-samples/ ...
• JTS – Java Topology Suite
Java-level spatial graphs, operators, geometries
• Free GIS tools – processing/preview data
See above
![Page 79: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/79.jpg)
Nutiteq SDK features
• Mapping Number of pre-defined APIs (OSM, CloudMade,NAVTEQ, Microsoft,WMS,
TMS etc)
Custom map sources, you can define own tile API
On-line and off-line mapping (prepackaged, stored, cached)
• Other features Points of Interest (POI) on map (KML, individual places)
Polygons and lines on map
Raster map overlays
Search place-names (geocoding)
Routing (CloudMade, YourNavigation)
Dynamic location (GPS, cell-ID)
• Platforms Android, BlackBerry (both CLDC and MIDP)
Java ME / J2ME (CLDC 1.1, MIDP 2.0)
Footprint: minimum ~100 KB, depending on used features
![Page 80: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/80.jpg)
Do your first Android LBS app
• Speed camera alerts on Android Shows map, gets GPS location, reads data, plays alerts
• Tools Android SDK – developer.android.com
Eclipse IDE (Java)
Nutiteq Mapping SDK – www.nutiteq.com
• Content POIPlaza KML file
OSM maps, alarm audio mp3 file
• Instructions http://www.scribd.com/doc/68530221
![Page 81: MOBILE LOCATION-BASED APPSGIS term •Geographic With geographical dimension •Information •System Software, servers, computers •Wikipedia: a system designed to capture, store,](https://reader033.fdocuments.in/reader033/viewer/2022052019/6033298de2901e59d26ee607/html5/thumbnails/81.jpg)
Thank you!
Jaak Laineste
CEO, Nutiteq
www.nutiteq.com