## 3 Methodology
### Development of AR Applications  
We implemented our AR applications based on each placement method after creating the 3D model for the site survey. The game engine employed in this study is Unity 3D. It was chosen thanks to its widespread adoption in the AR community and readily available documentation. This section outlines the methodology adopted for creating AR applications for each of the studied placement methods (Figure 6). * AR for a sensor-based method  
For the development of a sensor-based application (inertial based or location based), we adopted the \"AR+GPS Location functionality\". This solution (used under a license) is the most used by the AR community for the development of location-based applications. * AR for a vision-based application: Model-based  
We used the \"Model Target Generator\" software of Vuforia to prepare and generate the model to be recognized in the field by the smartphone camera in an AR session. Figure 4: Point cloud processing. Figure 5: The CBC 3D model. The algorithm extracts the corners of the 3D model of the CBC in order to recognize it and overlay it on the ground in the AR scene. The model is then imported into Unity after adding a model target. The last step is to add the model to augment in our scene. * AR for a vision-based application: No model-based  
Once the 3D model is imported into Unity after adding a model target, a basic AR scene is created after installing the required extensions. Three modules are added to the application to make it compatible with Android: \"AR Session\", \"AR Session Origin\" and \"AR Camera\". We proceeded by adding the \"AR Plane Manager\" component at the level of the \"AR Session Origin\" to activate the plan detection. Then, we used a script to place the 3D model using the \"AR Raycast\" function. This script takes the position of object placement, and then the 2D position of the screen (position of the click) is associated with an invisible ray perpendicular to the screen, which intersects a detected plane. Finally, the model appears at this location. To allow rotation and scaling of our model following on-screen interactions, we used the \"LeanTouch\" asset of Unity. * AR for a marker-based application using Vuforia SDK and AR Foundation  
For Vuforia, after activating a license and importing the SDK on Unity, we downloaded markers and added them as a package format (UnitEditor), which will be imported to the database on Unity. The Vuforia website gives a rating out of five for each added marker. This score depends on the quality of the marker in terms of the number of its characteristic points (feature points) and its resolution. The size of the marker must be well defined at the beginning as well as its orientation. For the AR Foundation, we start by installing the necessary extensions and adding the components of an AR Foundation scene (AR Session, AR Session Origin, and AR Camera), and then create a basic AR scene. Subsequently, we add the \"AR tracked image manager\" module, which creates \"GameObjects\" for each image detected in the environment. Before an image can be detected, the handler must be instructed to find a set of compiled reference images in a reference image library. The next step is to add the markers on a \"reference image library\". Then we attach the library of markers as well as our 3D model with the tracked image manager. At this level, we add another scriptable object \"_tracked image information manager_\". The mains roles of this script are, firstly, to manage the spatial position of the phone camera in the real environment, and the textures during the AR scene, as well as updating the information relating to the images tracked and finally the object management scale to increase. Finally, we load our application in the Android system (.Apk). * Commercial solutions  
For commercial solutions, we used a license of Gamma AR and Trimble SiteVision with two placement modes.