Implement 3D scene visualization support using Potree and integrate with MapMint

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

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 :


 * 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:


 * 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

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

 * Venkatesh Raghavan Venkatesh Raghavan
 * Fenoy Gerald Fenoy Gerald
 * Rajat Shinde Rajat Shinde
 * Sittichai ChoosumrongSittichai Choosumrong
 * Samuel Souk aloun