Overview
ESRI's Oriented Imagery capabilities allow users to load images taken from a 360-degree camera into a dataset, enabling viewing, editing, and processing. Geotagged 360 photos can be used to create a catalog that is fully navigational, allowing virtual 'travel' between camera locations on a map and panoramic viewing of each image at a location.
In this tutorial, the workflow for creating a street-view style tour consisting for 360-enabled images in ArcGIS/ArcGIS Online is outlined.
Step 1: Creating An Oriented Imagery Dataset in ArcGIS Pro
Select the tool and populate the required parameters:
- To create an empty Oriented Imagery Dataset in an ArcGIS Pro Project, Select Tools in the Geoprocessing Pane, then in Toolboxes, open the Oriented Imagery toolbox. select Authoring tools, then click on the Create Oriented Imagery Dataset tool.
- Select Oriented Imagery Dataset Location to select the geodatabase. Leave the default set to that of the Pro Project.
- Select Oriented Imagery Dataset Name, enter a name for the imagery dataset.
- Select Coordinate System to set the reference coordinate system for the dataset, ensure it's set to "current map".
- Select Run.
When the tool is run, an empty dataset will be created, and an Oriented Imagery Layer will be added to the contents pane. Now that the dataset has been created, it needs 360 images imported to make up the dataset.
Step 2: Importing 360 images into an Oriented Imagery Dataset
Preprocessing
Before adding the photos into the dataset we created in ArcGIS Pro, we must consider how we access our photos of interest on the machine being used.
If the photos are stored on a 360 camera, they must be transferred to the machine the project is located on via a USB connection between the machine and the 360 camera. Once the connection is made, photos from the camera can be moved onto a location on the machine - if there are multiple photos, it is best to keep them all in a folder, allowing them to be added to Pro all at once.
It is also important to learn if the photos are geotagged - those taken with the RICOH Theta X 360 camera have geotagging automatically enabled, so when they are added to the dataset, they will automatically appear as points in the location they were taken at.
Open the photo on the machine to view it in the Photos app and check the file info by clicking the circled 'i' in the bottom left. If location coordinates are embedded in the photo, you will see a map of the photo's location appears in the Info pane. If this is the case, skip the section below and go to "Adding Photos". If there is no map, then the photo needs X and Y coordinates manually added to them, explained in the section below.
For non-geotagged photos
If the photos are not already geotagged, they will require manual coordinate entry to tie them to locations. This should be done in an excel table mimicking the schema of the attribute table data for Oriented Imagery.
After creating the excel table:
- Click on a cell in Row 1 of the sheet and type in 'X', then in the next three cells to the right of this one, type in 'Y', 'ImagePath', and 'OrientedImageryPath', respectively. These are the required fields for a 360 image in an oriented imagery dataset.
- In the X and Y fields, enter the longitude and latitude, respectively, of each 360 photo's coordinates in the format used by the coordinate system of your map.
- In the ImagePath field, paste the directory paths of each of 360 photos on your machine.
- For Oriented Imagery type, type 360 for all photos.
- When the four required fields are populated, save the excel table as a .csv to your machine.
The created .csv file can now be used as a parameter to add the images into the dataset in Pro.
Adding Photos
In our ArcGIS Pro project, adding images into the dataset employs the use of another tool: In the Geoprocessing Pane, again select Tools, then open the Oriented Imagery toolbox, click under Authoring, and select the tool, Add Images to Oriented Imagery Dataset.
- Select Oriented Imagery Dataset and set it to the empty dataset we just created.
- Select Imagery Category and select 360.
- Select Input Data, and select the folder icon to browse the storage and find the 360° images to be used in the dataset. If they are in a folder, it can be selected to add all the images in the folder. If you created a .csv for the 360 images, browse to where you saved it on the machine and select it.
- Click Run.
Now the images should appear on the map represented as green dots.
Step 3: Managing and editing attribute fields in the Oriented Imagery table
Now that our dataset contains 360 images tied to locations on a map, the use of the Oriented Imagery Ribbon on the top of the screen in Pro has been enabled. When this ribbon is selected, we can click in the vicinity of an image on the map to open the Oriented Imagery Viewer that will allow us to pan around the image in a window. Now, we can edit the attribute table for the images in order for them to be functional with ESRI's built in tools for 360-degree image navigation.
Camera Heading
When the images are first added, all viewer tools will be unusable because the Camera Heading field is Null: It is important that this field, which establishes the sense of direction for the image, has a valid value to enable the full capabilities of the oriented imagery viewer.
- Right click the oriented imagery layer in Contents and open the Attribute Table.
- Find the 'Camera Heading' field and set the value to 0 for all images.
After this is done, the features in the Explore Images Tool will be enabled. Test the functionality of these features with your 360 images by using the Explore Images Tool to show image footprints, camera locations, and the map-to-image location feature.
Troubleshooting 360 viewer issues
- It may be that the orientation of the image is still off when using the Explore Images tool, and that direction in the image and shown on the map are not lined up. This can be due to the direction the camera was facing when the image was first taken. In this case, the 'Camera Heading' field can be slightly adjusted to remove the offset, depending on which direction the viewer is skewed. This can be done several times and updates in real time in the image.
- The 'Camera Height' field is a measure of the evaluation of the camera off of the ground, in meters. This affects the measure of distance in an image, the image viewshed, and the accuracy of the map-to-image tool. Set the value to the approximate height of the camera for each image, when taking 360 photos, it is important to take each image at the same tripod height.
Step 4: Publish the Oriented Imagery Catalog as an ArcGIS Online application
Now that the dataset has been staffed with functional interactive 360 photos, we can publish the catalog on ArcGIS Online and create an interactive application with Experience Builder. We will use the tool Generate Service From Oriented Imagery Dataset.
- Click on Tools, open the Oriented Imagery Toolbox, and under "Manage" Tools select Generate Service From Oriented Imagery Dataset.
- For the parameters, select the Input Oriented Imagery Dataset field, choose the oriented imagery dataset.
- Enter a name for the service in the Output Service Name field.
- In Share With, select "Public". Check the "Add images as attachments" box.
- Click Run and wait for it to finish. The Oriented Imagery dataset is added to a feature layer on ArcGIS Online.
Accessing the Oriented Imagery layer in ArcGIS Online and publishing to Experience Builder
In a web browser, go to ArcGIS Online and log in with OSU credentials. Click on Content and find the 360 image feature layer you published. Click on it and select "Open in Map Viewer". Here you can see the now public oriented imagery dataset you published.
If you select the Oriented Imagery Layer in "Layers", you can change the symbology of the photo points. These same can be done with the Image Footprint layer (if included in the dataset).
Select the Oriented Imagery tab in the menu to the right of the screen to enable the viewer, all of the features of which work the same as in Pro. In ArcGIS Online's map viewer, there is an additional feature called Directional Navigation, accessed by selecting "Image Navigation" (A compass symbol in the viewer) which supports positional shifting between nearby photo points by clicking directional arrows on the images in the viewer.
Creating an ArcGIS Experience Builder Application.
If the data, symbology, and functionality of the 360 image layer is satisfactory, it can be published as an application in Experience Builder for end users to access and interact with.
- First create a web map for the 360 image layer. On the ribbon on the left hand of the screen, select the folder icon, and select 'Save As'.
- Enter a title for the web map and click Save.
- Select the six dots button on the top right of the screen next to your login info.
- Find the Experience Builder button and click on it to open ArcGIS Experience Builder.
- In Experience Builder, click the blue "Create New" button.
- For the template, go to the "My Organization" Tab to find "FITS ExB Template". Click Create. This will create a blank Web App with the standard FITS format.
Add the 360 Data to the Web App
- In the new Web App, select the Data symbol in the ribbon on the lefthand side of the screen. Select Add Data, then select the web map with the 360 layer you just created.
- Click on the Map. On the righthand side of the screen, under Map (Main), click Select Map. Select the Web Map.
- On the lefthand side of the screen, click the plus icon on the top of the ribbon and find the Oriented Imagery Viewer widget. Click and drag the widget onto the red ribbon in the map view so a grey rectangle appears highlighting where to drop the widget. release the mouse to add the widget.
- Turn on Viewer Tools on the right. Now the Oriented Imagery Viewer tools have become available. Enable the tools you want to be functional with the Web App.
To temporarily leave editing mode to test the widget, simply toggle "Live View" on the top of the screen. This allows you to scroll around the map and use widgets freely. You can also click the Preview button to open a new tab running the Web App on the user side.
Make any desired formatting changes to widgets, maps, and other features. When finished, click the "Publish" button in the top right of the screen to share the experience to ArcGIS Online.
Important Considerations in Implementation Process
The above step-by-step guide was used to create a virtual street view tour of the Chadwick Arboretum areas on the web. The process involved taking several 360 photos with the specialized RICOH Theta X camera and then processing the photos in ESRI software to create a catalog that is publicly available on the web.
When in the field collecting photos, try to capture them during consistent weather conditions, if the process is stretched over a long time period. Also keep a constant tripod height so that each photo has the same elevation. It is important that it is not too high or too low to the ground, ~1.5 meters is a good height for the viewing. You will have to measure the length of the tripod with the camera attached, in meters, for the photos' "Camera Heading" field.
When taking 360 photos in the field, it is important to take photos along sidewalks and walking paths. Make sure to have a photo at every path intersection. Try to have the camera be facing the same direction for every photo - this will aid in photo orientation accuracy when it is viewed. As explained earlier, photo misorientation can also be fixed tweaking the Camera Heading field. However, this can be a time-consuming process if many photos are taken, so it is better to avoid if possible.
When taking 360 photos with the RICOH Theta X, a timer will start after the button is pressed. Adjust this timer so you have enough time to get out of view of the camera when it takes the photo.
If anyone else appears in a photo, you can remove them in the default windows photo editor using the built-in "erase" tool.
When designing the final application, it is important to select symbology that is easily understandable.
For non-geotagged photos, you may have to find out where they are by looking for the locations in the basemap in Pro. Record the coordinates of the approximate location for the excel table. Keep in mind the coordinate system used by the map. For example, the Pro basemap project uses a coordinate system based on NAD 1983, with a unit of US feet instead of decimal degrees or meters. The coordinates in the excel sheet must be in the coordinate system's units.