Integrating a module to 3d scan a house within the MapMint4ME android application (OSGeo - MapMint | GSoC 2021)
Introduction of MapMint
MapMint4ME is an Android application to record your data on the field. MapMint4ME is an Android application for MapMint web-mapping services. MapMint4ME gives the users capability to store data without using the internet locally. The data can be a file stored in alpha-numeric format, an audio file, a video file or readings obtained from a Sensor Observation Service (SOS). When the user returns back to a place with network connectivity, the recorded data can be uploaded back to the server.
MapMint4ME is an android application for MapMint web-service. 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 in an interactive manner in a framework so as to use the spatial information in an efficient and flexible way.
This project allows a minimalist 3D scan (taking multiple pictures, recording camera position, using opendrone map to rebuild the 3D scene) with the house faces (accessible/visible faces) then load it as georeferenced data with the database and being able to export the data back on MapMint for 3D viewing.
My work consist of three parts:
Part One: Get the pictures using MapMint4ME
- Created a button that direct you to the this layout.
- I have created a form that can be filled with a fixed number of images taken from the mobile MapMint4ME app, and will be transfered to MapMint, here is how to do it.
- I have some issues regarding linking MapMint to MapMint4ME, so I did get the datasets for buildings from here, and I have taken the tajjin pictures by myself.
Part Two: Create the 3D model using ODM
- I have created a 3D model from pictures, here is the tutorial.
Part Three: Visualize the 3D model in MapMint
- Got MapMint working on virtual machine tutorial here, then I finished up with configuring it on Docker tutorial here.
- Added 3D models to the volume see here.
- Used docker volumes to get access to the 3D models to be visualized.
- Using threeJS, I was able to render the 3D models in MapMint, using a template.