[SoC] GSoC 2019 - Adding Augmented Reality (AR) support to the MapMint4ME Android Application

Aditya Chondke adityachondkeiitb at gmail.com
Sun Aug 25 21:14:18 PDT 2019


Dear OSGeo SoC Community,

GSoC 2019 has been a really great journey for me. Thanks a lot to the OSGeo
community for continuous guidance and giving me this wonderful opportunity
to be part of an Open Source Community.
I would especially like to thank my mentors Fenoy Gerald and Rajat Shinde
who have been a great support for all my time at GSoC 2019.

Following is my Final report for GSoC 2019.
The report is broadly divided into three parts

1) *Final Report GSoC 2019:
<https://github.com/AdityaChondke/MapMint4ME/wiki/Final-Report-GSoC-2019>
*Containing
the Abstract, MapMint4ME before GSoC and functionalities added, link to
repo, etc.

2) *Example of AR support on MapMint4ME
<https://github.com/AdityaChondke/MapMint4ME/wiki/Example-of-AR-support-on-MapMint4ME>:*
Explaining working with screenshots and tutorial video about using and live
demonstration of MapMint4ME with added AR features.

3) *Weekly Report of GSoC 2019 and OSGeo wiki page *
<https://wiki.osgeo.org/wiki/GSoC_2019_Adding_Augmented_Reality_(AR)_support_to_the_MapMint4ME_Android_Application>


Following is my Final report:

*1. TITLE:*
Adding Augmented Reality (AR) support to the MapMint4ME Android Application

*2. SOFTWARE COMMUNITY*
OSGeo, The ZOO-Project, MapMint

*3. ABSTRACT*
MapMint is a geographic information system (GIS) software on the Internet
which facilitate the deployment of spatial data infrastructures (SDI). The
SDI provides a basis for spatial data discovery, evaluation, and
application for users. For this specific project, SDI consists of two parts
tools MapMint web application and the MapMint4ME android application and
data, which includes GPS location, uploaded images and files. MapMint
centralizes the process thus simplifying various GIS and WebGIS
functionality. Different functionality provided by the application based on
user rights are :
*Importing and storing vector and raster GIS data: *Vector data are a
representation of real-world data using points, lines and polygons. This
representation makes it easier to query and create a topographic
relationship between objects in the image. Raster data consist of a matrix
of cells (or pixels) where each cell value represent information.
*Support for querying and publishing geographic data using WFS, WMS and
WMTS standards: *The Open Geospatial Consortium (OGC) Web Feature Service
(WFS) interface standard provides an interface allowing a request for
geospatial features across the web using platform-independent calls. Web
Map Service (WMS) is also a standard protocol developed by OGC for serving
georeferenced map over the internet. Web Map Tile Service (WMTS) shows
pre-rendered or run-time computed georeferenced map tiles over the internet
example google maps
*Support for composing and storing maps: *The application allows the user
to compose and store maps as the project (map files), configure and
generate mapping applications and run the cartographic portal along with
viewing and sharing maps
MapMint4ME is an android application for MapMint web service. The android
application is built on top of ZOO-Project. ZOO-Project
<http://zoo-project.org/>is an open WPS platform. ZOO-Project acts as SDI
for the android application and gives user convenience to built their map
and application using MapServer and GDAL. The android application
MapMint4ME is built on MapMint, so the structure of the data storage and
processing is the same, and thus, it is essential to understand the
architecture of MapMint.

*4. MOTIVATION*
The project focuses on Adding Augmented Reality (AR) support to MapMint4ME
Android Application. The motivation for the project was to improve field
data collection. The Augmented reality features allow the user to store
more detailed information with support to draw in 3-D space, measure
distances and drop markers for feature reference in realtime for better
sharing and collection of features about a location.

*5. MapMint4ME before GSoC 2019:*
MapMint4ME is an android application with the capability to record data on
the field to take photos, record their position, and view their current
location on a map based on the configuration settings of their MapMint
server. When the user returns to a place with access to the internet, the
recorded data can be uploaded back to the MapMint server. MapMint4ME is
also able to store media files and able to receive data directly from
sensors.

*6.Updates in MapMint4ME during GSoC 2019:*
Augmented Reality support is added to the MapMint4ME along with the
above-mentioned features. Under Augmented Reality stream mainly three
different features were added to the MapMint4ME using Google ARCore. The
added features are as follows:

*Cloud Anchor: *Cloud Anchors
<https://codelabs.developers.google.com/codelabs/arcore-cloud-anchors/#0> gives
you the ability to create AR apps that share a common frame-of-reference,
enabling multiple users to place virtual content in the same real-world
location. A fundamental concept in ARCore is that of an Anchor, which
describes a fixed position in the real world. The value of an Anchor's pose
is automatically adjusted by ARCore as its motion tracking improves over
time. Cloud Anchors are Anchors that are hosted in the cloud and can be
resolved by multiple users to establish a common frame of reference across
users and their devices. To share Cloud Anchor Id's among different user Google
Firebase <https://firebase.google.com/docs/android/setup> is used.
*AR Draw: *AR Drawing
<https://experiments.withgoogle.com/arcore-drawing>allows
the user to draw white lines in 3d space. It was initially made as a quick
experiment of how to combine ARCore with openFrameworks but was expanded
with native implementation in Java. It mainly has the functionality of
detecting the 3d plane the user is drawing. For lines, there are three
settings line width, smoothness and distance scale.
*AR Scale: *Add functionality of measuring distance in realtime using an
Augmented Reality ruler. The feature added can measure distance in
horizontal along the plane detected or perpendicular to the surface
detected. The distance measure is displayed in realtime. It also has the
functionality to measure multiple distances in random directions by adding
various drop points in the path of measurement.

*7. FUTURE OPPORTUNITIES :*
There are endless possibilities what we can do with Augmented Reality.
<https://experiments.withgoogle.com/collection/ar> Adding more Augmented
Reality support based on requirements can improve field data collection
surely. Some of the updates that could be on AR Drawing as presently it
cannot be shared between devices. Presently all three added features work
separately we could find a way to combine all three together for better
field data acquisition.

*8. WORKING & EXAMPLE:*
A tutorial on how to use added functionalities and detailed stepwise
working of the background of the MapMint4ME can be seen in the following
link. Example
<https://github.com/AdityaChondke/MapMint4ME/wiki/Example-of-AR-support-on-MapMint4ME>

*9. LINKS:*

   - *GSoC 2019 Final Report
   <https://github.com/AdityaChondke/MapMint4ME/wiki/Final-Report-GSoC-2019>*
   - *MapMint4ME Repository Link
   <https://github.com/AdityaChondke/MapMint4ME>*
   - *OSGeo Wiki Page
   <https://wiki.osgeo.org/wiki/GSoC_2019_Adding_Augmented_Reality_(AR)_support_to_the_MapMint4ME_Android_Application>*
   - *Example and Tutorial
   <https://github.com/AdityaChondke/MapMint4ME/wiki/Example-of-AR-support-on-MapMint4ME>*
   - *Weekly Report
   <https://wiki.osgeo.org/wiki/GSoC_2019_Adding_Augmented_Reality_(AR)_support_to_the_MapMint4ME_Android_Application>*
   - *GitHub Wiki page <https://github.com/AdityaChondke/MapMint4ME/wiki>*
   - *Google Drive Folder with Videos & APK
   <https://drive.google.com/open?id=1Y0-mqf3mnpkvpKMNgYJbLYszM6_mas4Z>*


*Thank you for all your support*

Aditya Chondke
M.Tech Geoinformatics
Indian Institute of Technology (IIT), Bombay
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/soc/attachments/20190826/3d67fafc/attachment.html>


More information about the SoC mailing list