Web-service based Mobile Geospatial Application Development using Python


Published on

As the development of mobile technology keeps marching forward, a noticeable trend of integrating location- and orientation-aware sensors (i.e., GPS receiver, digital compass, and accelerometer) into today’s smartphones has significantly promoted the development of mobile Location Based Services (LBS). At the same time, geospatial information is increasingly recognized as the common denominator in both today’s “Web 2.0” peer-to-peer social network era and tomorrow’s “Web 4.0”. As a result, embracing the growing rich spatial resources and adopting them for the mobile geospatial application development is essential. However, considering the large amount spatial data for processing and the physical limitation of today’s mobile devices in relation to battery power, CPU speed and data storage etc., it is nearly impossible to accomplish all computation intensive tasks efficiently on the device itself. Therefore, client-server architecture is usually a preferred option where the mobile devices act as clients sending requests and receiving responses whilst the calculation modules are wrapped and delivered in the form of web services. In this case, on the server side, the geospatial applications can take advantages of the capability of a variety of spatial databases back-ends, including spatial indexing, searching and retrieving. There are now a variety of Python modules, libraries and open sources etc. available for fast constructing and deploying web services for mobile geospatial applications. This talk attempts to give an introduction on using Python for building RESTful web-services for mobile geospatial application development, including back-end spatial database access and spatial information retrieval.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Web-service based Mobile Geospatial Application Development using Python

  1. 1. Strat egic Research in A dvanced G eotechnologies Junjun Yin, DMC - DIT
  2. 2. www.StratAG.ie Junjun Yin Digital Media Centre Dublin Institute of Technology Web-service based Mobile Geospatial Application Development using Python
  3. 3. Location- and orientation aware Smart Phones
  4. 4. GeoSpatial Information Retrieval for Mobile Devices <ul><li>Mobile Location Based Service (LBS) </li></ul><ul><ul><li>User’s current location (latitude/longitude) </li></ul></ul><ul><ul><li>User’s facing direction (azimuth) </li></ul></ul><ul><li>Geospatial Queries in relation to user’s current locatio </li></ul><ul><ul><li>Proximity query (Nearest-Neighbours) </li></ul></ul><ul><ul><ul><li>All the cafés around </li></ul></ul></ul><ul><ul><ul><li>All the point-of-interests around </li></ul></ul></ul><ul><ul><ul><li>… </li></ul></ul></ul><ul><li>Information over load problem </li></ul>
  5. 5. Related applications
  6. 6. Too much info!
  7. 7. GeoWands via Mobile Spatial Interaction <ul><li>Mobile Spatial Interaction </li></ul><ul><ul><li>Spatial databases </li></ul></ul><ul><ul><ul><li>Spatial data storage </li></ul></ul></ul><ul><ul><ul><li>Spatial index for rapid data access </li></ul></ul></ul><ul><ul><li>Spatial operators </li></ul></ul><ul><ul><ul><li>Topological operations </li></ul></ul></ul><ul><ul><ul><li>Intersection, contain, touch, etc. </li></ul></ul></ul><ul><ul><li>Human Interaction </li></ul></ul><ul><ul><ul><li>Gesture </li></ul></ul></ul><ul><ul><ul><li>Visibility (field of view) </li></ul></ul></ul>
  8. 8. Figure. The overall diagram for the system
  9. 9. Python for Web Service and Spatial Database <ul><li>Python for Web Service </li></ul><ul><ul><li>SOAP </li></ul></ul><ul><ul><li>Restful style </li></ul></ul><ul><ul><ul><li>URL based Http request </li></ul></ul></ul><ul><ul><ul><li>XML/JSON (GeoJSON) output </li></ul></ul></ul><ul><ul><li>Turbo Gears/ Django </li></ul></ul>
  10. 10. <ul><li>Example: </li></ul><ul><li>http://threedq.webhop.org/POI/format=JSON&lat= 53.3387 &lng= 6.2675 heading=44.0&tilt=20.8 </li></ul><ul><li>{“Result”:{ </li></ul><ul><li>name:”Jacobs factory” </li></ul><ul><li>coordinate:{ </li></ul><ul><li>lat:” 53.3321” </li></ul><ul><li>lng:” -6.2668”} </li></ul><ul><li>} </li></ul><ul><li>} </li></ul>
  11. 11. <ul><li>Python for spatial databases </li></ul><ul><ul><li>CX_Oracle </li></ul></ul><ul><ul><li>GEOS python bindings </li></ul></ul><ul><ul><li>Other open sources ported python bindings via SWIG </li></ul></ul><ul><ul><ul><li>VisiLibity framework for visibility calculations </li></ul></ul></ul><ul><ul><ul><li>GDAL for Digital Elevation Model (DEM) surface generation </li></ul></ul></ul><ul><ul><ul><li>GEOS for geospatial objects topological relationship determination </li></ul></ul></ul>
  12. 12. <ul><li>Other python merits </li></ul><ul><ul><li>PyS60 for Symbian devices </li></ul></ul><ul><ul><ul><li>A previous example use python on Navigator 6210 </li></ul></ul></ul><ul><ul><li>Customized map tiles from OpenStreetMap (OSM) for offline and stylish usage </li></ul></ul><ul><ul><li>And many more … </li></ul></ul>
  13. 13. A case study on iPhone
  14. 15. <ul><li>Thanks! </li></ul>