Difference between revisions of "Implement 3D scene visualization support using Potree and integrate with MapMint"

From OSGeo
Jump to navigation Jump to search
(Created page with " == Introduction == === Idea === The Idea is basically about introducing the Augmented Reality experience in the present MapMint4ME project by building the AR Draw feature in...")
 
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Introduction ==
+
== Introduction ==
 
=== Idea ===
 
=== Idea ===
The Idea is basically about introducing the Augmented Reality experience in the present MapMint4ME project by building the AR Draw feature in UNITY 3D and adding its intent in the MapMint4ME project.  
+
In this project, I plan to add a 3D scene Visualisation support and integrate it with MapMint. It will allow the user to visualize not only the georeferenced image but also the corresponding 3D scene.
 +
I will be using Potree, a free, open-source WebGL-based point cloud renderer for large point clouds.
 +
MapMint is an internet-based '''Geographic Information System'''(GIS), designed to facilitate the deployment of '''Spatial Data Infrastructure'''(SDI). In an SDI, geographic data, metadata, tools, and the users are connected interactively in a framework to use the spatial information efficiently and flexibly.
  
AR Draw - It’s an AR experience that just lets you draw simple lines using a line renderer in 3D space by touching your screen with a single finger or can be with multiple fingers and moving the phone around the space.
+
The MapMint is built on top of the [http://zoo-project.org/ ZOO-Project]. The ZOO-Project is an SDI manager that gives the users the capability to build their own map and web applications.
 
 
MapMint4ME means MapMint 4 (for) Measure and Evaluation, It is an Android application that allows you to edit geolocated data in online or offline mode.
 
  
 
===Project proposal===
 
===Project proposal===
My proposal for GSoC 2021 can be found [https://docs.google.com/document/d/1fFtNjTFbt5-c_h2hQYZcHBO-YDoY4PYl0UPjpK7xosI/edit?usp=sharing here].
+
My proposal for GSoC 2021 can be found at [https://drive.google.com/file/d/1QeUuJKnBycBYlXwzdVCQabFMVvvM0gcP/view?usp=sharing Proposal].
  
 
=== Advantages from this project ===
 
=== Advantages from this project ===
This project will bring the Augmented Reality capabilities to the software with better UI and UX parts for the MapMint4ME AR Draw experience. User Experience for GIS services puts UX at the heart of your GIS applications, increasing usability for GIS apps.
+
With the 3D scene visualization, viewing data in three dimensions gives users new perspectives. 3D viewing can provide insights that would not be readily possible from the same data's georeferenced map. For example, instead of inferring a valley's presence from the configuration of contour lines, users can see the valley and perceive the difference in height between the valley floor and a ridge.
 +
 
  
'''Link to Github repository:''' [https://github.com/srvsingh1962/ARDraw-MM4ME Repository]
+
'''Link to Github repository:''' [https://github.com/AniketDGiri/mapmint Repository]
  
 
== Timeline ==
 
== Timeline ==
=== 17th May - 7th June ===
+
 
 +
=== 17th May - 7th June===
 
'''Community bonding period''':
 
'''Community bonding period''':
#'''Task Done during the period :'''
+
#'''What I have done and currently doing during this period?'''
* Introduced myself over the channel and shared my proposal over the mailing list for suggestions and feedbacks.
+
* I have Introduced myself over the channel and shared my proposal over the mailing list for suggestions.
* Communicating with mentors and Getting familiar with the source code of the project given by mentors.
+
* Communicating with mentors and learned about community, working, etc. It is a great experience talking with experts in the domain.
* Created a wiki page for the project "Building the AR Draw Experience with UNITY 3D and Integrating it with the present MapMint4ME App".
+
* Created a wiki page for the project "Implement 3D scene visualization support using Potree and integrate with MapMint."  
* Forked the repository of MapMint4ME android application. [https://github.com/srvsingh1962/MapMint4ME Repository]
+
* Forked the repository of MapMint [https://github.com/AniketDGiri/mapmint Forked Repo]
* Updated wiki User page and added my personal information. [https://wiki.osgeo.org/wiki/User:srvsi User]  
+
* Updated wiki User page and added my personal information [https://wiki.osgeo.org/wiki/User:AniketGiri User Page]  
* Updated links on the wiki Google Summer of Code 2021 Accepted page. [https://wiki.osgeo.org/wiki/Google_Summer_of_Code_2021_Accepted Page]
+
* Updated links on the wiki Google_Summer_of_Code_2021_Accepted page [https://wiki.osgeo.org/wiki/Google_Summer_of_Code_2021_Accepted GSOC_2021 Page]
* Joined MapMint Slack Workspace created by mentors.
+
* Joined MapMint Slack Workspace created by mentors, which we will be used as a mode of communication over the GSoC 2021 period.
* Development Environment setup of MapMint4ME android application for UNITY 3D and Android Studio.
+
* Setting up Developing Environment for MapMint on my personal system.
* Discussing with the mentors their expectations over the GSoC 2021 project period.
+
* Potree Environment successfully created on my personal system.
 +
* Currently understanding the codebase.
 +
 
 +
=== Week 1 - 4  (8th June - 14th June) === 
 +
'''Coding Phase 1''':
 +
What have I done this week:
 +
 
 +
This week I accomplished the following:
 +
 
 +
*I have successfully installed MapMint.
 +
*I have also visualized the shapefiles in MapMint and tried to understand how MapMint works.
 +
*I have also created the video for the visualization of the shapefile in MapMint.
 +
*I have made the script that stores the 3D data in tile format in cesium.
 +
*Created a simple front-end for the user to upload the file for visualization.
 +
*Am I blocked on anything:
 +
 
 +
Currently, I am not blocked on anything.
 +
 
 +
=== Week 1 - 4  (14th June - 20th June) ===
 +
I have done the tasks during this period :
 +
*1. Created the simple backend for uploading the 3D data to the cesium.
 +
*2. Created a simple UI for users to interact.
 +
*3. Visualize the 3D data, on the browser.
 +
*4. For integrating with MapMint, currently learning about the homemade ZOO-Services.
 +
*5. Gone through documentation, of zoo-project
 +
 
 +
Am I blocked on anything?
 +
*Yes, I am unable to install the zoo-kernel on my machine.
 +
 
 +
=== Week 1 - 4  (21st June - 27th June) ===
 +
What have I done this week:
 +
 
 +
This week I accomplished the following:
 +
 
 +
*Setup MapMint on a docker container on my local machine (Several issues arose during the setup, which took more time).
 +
*I am learning about creating the service for loading the data to the service.
 +
*Understanding how service is created.
 +
 
 +
=== Week 1 - 4  (28th June - 4th July) ===
 +
 
 +
I have done the following tasks during this period :
 +
 
 +
*Gone through the workshop for creating the service.
 +
*Link: https://zoo-project.github.io/workshops/2017/first_service.html
 +
*Created a script (javascript) for visualizing the 3D object; the script will be used as a service.
 +
*Also, trying for other formats to be visualized in the 3D View.
 +
 
  
 +
=== Week 1 - 4  (5th June - 11th July) ===
 +
This week I accomplished the following:
  
== GSoC 2021 Final Report ==
+
*I have created a simple python service, I am working on creating a service that will load the data from the user.
 +
*I am still working on the Zoo Service configuration file needed to create the zoo service to load the file.
 +
*I am still working on the serviceProvide.py: the python script that will be used to visualize the loaded 3D Model.
  
 +
 +
=== Week 1 - 4  (12th June - 18th July) ===
 +
This week I accomplished the following:
 +
*I had a meeting with the mentors, where we discussed creating the service.
 +
*I am still working on the Zoo Service configuration file needed to create the zoo service to load the file.
 +
*I have created a template file that will be used as a service.Display.tmpl
 +
 +
 +
=== Week 7 (19th June - 25th July) ===
 +
This week I accomplished the following:
 +
*Added a volume to the mapmint container for accessing the template folder.
 +
*Visualize the 3D Model locally, Working on loading the 3d Model in the mapmint container and visualizing it.
 +
*Understanding the Cheetah Templating system.
 +
*Currently creating a template file that will allow users to create a database and upload the data for visualization.
 +
 +
=== Week 8 (26th June - 2st August) ===
 +
*Created the UI using Cheetah template System.
 +
*Added a volume to the mapmint container for loading the UI.
 +
*Understanding the Cheetah Templating system.
 +
*Currently developing a service that will allow the user to load the 3D model to the server and visualize it.
 +
 +
=== Week 9 (2nd August - 8th August) ===
 +
*Added upload page to existing UI for the user to upload the data.
 +
*Visualize the model on the new UI created.
 +
*Currently understanding how .htaccess files are created.
 +
 +
 +
=== Week 10 (9th August - 15th August) ===
 +
*Added the 3-D Visualization feature to the Mapmint, Existing Dashboard.
 +
*Provided the Functionality to upload and visualize the 3D Data.
 +
*I am currently working on the documentation for the work completed.
 +
*Also, I thought creating documentation for the technologies I learned during the period (such as the cheetah template system, setting up docker, adding volumes, etc.) would be helpful for future reference.
 +
*Cleaned up the code and added comments in the code wherever necessary.
  
 
== Student's Biography ==
 
== Student's Biography ==
I am Sourav Singh a second-year undergraduate student at the Indian Institute of Information Technology Nagpur ( Maharashtra, INDIA ) focused on Electronics and Communication Engineering. As introducing myself in tech I am an XR enthusiast✨ and exploring AR/VR development, Game Development, Computer Vision & Open-Source Projects.  
+
My name is Aniket Deepak Giri. I am a Computer Science graduate, pursuing my Master's degree in '''Geoinformatics and Natural Resources Engineering''' under Centre of Studies in Resources Engineering, Indian Institute of Technology Bombay, Mumbai, India.
Some more information about me here is the link : [https://www.linkedin.com/in/srvsingh1962/ User]
+
Some more information about me can be obtained by following the link: [User]
  
  
 
== Mentors ==
 
== Mentors ==
 +
*Venkatesh Raghavan [https://wiki.osgeo.org/wiki/User:Venka Venkatesh Raghavan]
 +
*Fenoy Gerald [https://wiki.osgeo.org/wiki/User:Djay Fenoy Gerald ]
 
*Rajat Shinde [https://wiki.osgeo.org/wiki/User:Rajatshinde Rajat Shinde]
 
*Rajat Shinde [https://wiki.osgeo.org/wiki/User:Rajatshinde Rajat Shinde]
*Fenoy Gerald [https://wiki.osgeo.org/wiki/User:Djay Fenoy Gerald ]
+
*Sittichai Choosumrong[https://wiki.osgeo.org/wiki/Sittichai_choosumrong Sittichai Choosumrong]  
*Venkatesh Raghavan [https://wiki.osgeo.org/wiki/Venkatesh_Raghavan Venkatesh Raghavan ]
 
*Sittichai choosumrong [https://wiki.osgeo.org/wiki/Sittichai_choosumrong Sittichai choosumrong ]
 
 
*Samuel Souk aloun
 
*Samuel Souk aloun
 +
  
  
  
 
[[Category: Google Summer of Code]]
 
[[Category: Google Summer of Code]]

Latest revision as of 23:46, 15 August 2021

Introduction

Idea

In this project, I plan to add a 3D scene Visualisation support and integrate it with MapMint. It will allow the user to visualize not only the georeferenced image but also the corresponding 3D scene. I will be using Potree, a free, open-source WebGL-based point cloud renderer for large point clouds. MapMint is an internet-based Geographic Information System(GIS), designed to facilitate the deployment of Spatial Data Infrastructure(SDI). In an SDI, geographic data, metadata, tools, and the users are connected interactively in a framework to use the spatial information efficiently and flexibly.

The MapMint is built on top of the ZOO-Project. The ZOO-Project is an SDI manager that gives the users the capability to build their own map and web applications.

Project proposal

My proposal for GSoC 2021 can be found at Proposal.

Advantages from this project

With the 3D scene visualization, viewing data in three dimensions gives users new perspectives. 3D viewing can provide insights that would not be readily possible from the same data's georeferenced map. For example, instead of inferring a valley's presence from the configuration of contour lines, users can see the valley and perceive the difference in height between the valley floor and a ridge.


Link to Github repository: Repository

Timeline

17th May - 7th June

Community bonding period:

  1. What I have done and currently doing during this period?
  • I have Introduced myself over the channel and shared my proposal over the mailing list for suggestions.
  • Communicating with mentors and learned about community, working, etc. It is a great experience talking with experts in the domain.
  • Created a wiki page for the project "Implement 3D scene visualization support using Potree and integrate with MapMint."
  • Forked the repository of MapMint Forked Repo
  • Updated wiki User page and added my personal information User Page
  • Updated links on the wiki Google_Summer_of_Code_2021_Accepted page GSOC_2021 Page
  • Joined MapMint Slack Workspace created by mentors, which we will be used as a mode of communication over the GSoC 2021 period.
  • Setting up Developing Environment for MapMint on my personal system.
  • Potree Environment successfully created on my personal system.
  • Currently understanding the codebase.

Week 1 - 4 (8th June - 14th June)

Coding Phase 1: What have I done this week:

This week I accomplished the following:

  • I have successfully installed MapMint.
  • I have also visualized the shapefiles in MapMint and tried to understand how MapMint works.
  • I have also created the video for the visualization of the shapefile in MapMint.
  • I have made the script that stores the 3D data in tile format in cesium.
  • Created a simple front-end for the user to upload the file for visualization.
  • Am I blocked on anything:

Currently, I am not blocked on anything.

Week 1 - 4 (14th June - 20th June)

I have done the tasks during this period :

  • 1. Created the simple backend for uploading the 3D data to the cesium.
  • 2. Created a simple UI for users to interact.
  • 3. Visualize the 3D data, on the browser.
  • 4. For integrating with MapMint, currently learning about the homemade ZOO-Services.
  • 5. Gone through documentation, of zoo-project

Am I blocked on anything?

  • Yes, I am unable to install the zoo-kernel on my machine.

Week 1 - 4 (21st June - 27th June)

What have I done this week:

This week I accomplished the following:

  • Setup MapMint on a docker container on my local machine (Several issues arose during the setup, which took more time).
  • I am learning about creating the service for loading the data to the service.
  • Understanding how service is created.

Week 1 - 4 (28th June - 4th July)

I have done the following tasks during this period :


Week 1 - 4 (5th June - 11th July)

This week I accomplished the following:

  • I have created a simple python service, I am working on creating a service that will load the data from the user.
  • I am still working on the Zoo Service configuration file needed to create the zoo service to load the file.
  • I am still working on the serviceProvide.py: the python script that will be used to visualize the loaded 3D Model.


Week 1 - 4 (12th June - 18th July)

This week I accomplished the following:

  • I had a meeting with the mentors, where we discussed creating the service.
  • I am still working on the Zoo Service configuration file needed to create the zoo service to load the file.
  • I have created a template file that will be used as a service.Display.tmpl


Week 7 (19th June - 25th July)

This week I accomplished the following:

  • Added a volume to the mapmint container for accessing the template folder.
  • Visualize the 3D Model locally, Working on loading the 3d Model in the mapmint container and visualizing it.
  • Understanding the Cheetah Templating system.
  • Currently creating a template file that will allow users to create a database and upload the data for visualization.

Week 8 (26th June - 2st August)

  • Created the UI using Cheetah template System.
  • Added a volume to the mapmint container for loading the UI.
  • Understanding the Cheetah Templating system.
  • Currently developing a service that will allow the user to load the 3D model to the server and visualize it.

Week 9 (2nd August - 8th August)

  • Added upload page to existing UI for the user to upload the data.
  • Visualize the model on the new UI created.
  • Currently understanding how .htaccess files are created.


Week 10 (9th August - 15th August)

  • Added the 3-D Visualization feature to the Mapmint, Existing Dashboard.
  • Provided the Functionality to upload and visualize the 3D Data.
  • I am currently working on the documentation for the work completed.
  • Also, I thought creating documentation for the technologies I learned during the period (such as the cheetah template system, setting up docker, adding volumes, etc.) would be helpful for future reference.
  • Cleaned up the code and added comments in the code wherever necessary.

Student's Biography

My name is Aniket Deepak Giri. I am a Computer Science graduate, pursuing my Master's degree in Geoinformatics and Natural Resources Engineering under Centre of Studies in Resources Engineering, Indian Institute of Technology Bombay, Mumbai, India. Some more information about me can be obtained by following the link: [User]


Mentors