<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: 360 Image Hosting in ArcGIS Online Questions</title>
    <link>https://community.esri.com/t5/arcgis-online-questions/360-image-hosting/m-p/1371627#M56928</link>
    <description>&lt;P&gt;Here are a few ArcGIS tools for the seamless integration of 360° photos and videos into both ArcGIS Online and Enterprise. These solutions facilitate the swift deployment of large-scale 360° imagery projects within hours of collection, with the added advantage of storing imagery in AWS for seamless access via ArcGIS.&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;A href="https://www.nodeology.net/site-viewer-360-for-arcgis/" target="_self"&gt;&lt;STRONG&gt;Site Viewer 360 for ArcGIS&lt;/STRONG&gt;&lt;/A&gt;&lt;STRONG&gt;&lt;STRONG&gt;&lt;A href="https://www.nodeology.net/site-viewer-360-for-arcgis/" target="_self"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="background-site-tour-page-1.jpg" style="width: 999px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/91991i00983CEBA6E635DF/image-size/large?v=v2&amp;amp;px=999" role="button" title="background-site-tour-page-1.jpg" alt="background-site-tour-page-1.jpg" /&gt;&lt;/span&gt;&lt;/A&gt;&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;A href="https://www.nodeology.net/geotube-for-arcgis/" target="_self"&gt;&lt;STRONG&gt;GeoTube for ArcGIS&lt;/STRONG&gt;&lt;/A&gt;&lt;STRONG&gt;&lt;A href="https://www.nodeology.net/geotube-for-arcgis/" target="_self"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="GeoTube road inspection.JPG" style="width: 999px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/91992i7F30E2CB1057EA89/image-size/large?v=v2&amp;amp;px=999" role="button" title="GeoTube road inspection.JPG" alt="GeoTube road inspection.JPG" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Electric line inspection.JPG" style="width: 999px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/91993iEEE95308E1379B9B/image-size/large?v=v2&amp;amp;px=999" role="button" title="Electric line inspection.JPG" alt="Electric line inspection.JPG" /&gt;&lt;/span&gt;&lt;/A&gt;&lt;/STRONG&gt;&lt;/LI&gt;&lt;LI&gt;&lt;A href="https://www.nodeology.net/geotagged-media-tools/" target="_self"&gt;&lt;STRONG&gt;GeoMedia Tools for ArcGIS&lt;/STRONG&gt;&lt;/A&gt;&lt;A href="https://www.nodeology.net/geotagged-media-tools/" target="_self"&gt;&lt;STRONG&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="VideosToPolylines-1.png" style="width: 999px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/91996i3FC3DAB0C3014FD9/image-size/large?v=v2&amp;amp;px=999" role="button" title="VideosToPolylines-1.png" alt="VideosToPolylines-1.png" /&gt;&lt;/span&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;/LI&gt;&lt;/OL&gt;</description>
    <pubDate>Thu, 18 Jan 2024 15:13:55 GMT</pubDate>
    <dc:creator>ClarkSelby</dc:creator>
    <dc:date>2024-01-18T15:13:55Z</dc:date>
    <item>
      <title>360 Image Hosting</title>
      <link>https://community.esri.com/t5/arcgis-online-questions/360-image-hosting/m-p/1370897#M56893</link>
      <description>&lt;P&gt;Right now I use Momento360 to upload and host 360 images,&amp;nbsp; however it's a bit cumbersome to upload large numbers of files and no away to automate the process.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I can upload the images to a s3 Bucket on AWS,&amp;nbsp; however they they are not displayed as 360 just a flat image.&amp;nbsp;&lt;/P&gt;&lt;P&gt;Does anyone have experience uploading 360 images to AWS?&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 17 Jan 2024 11:12:57 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-online-questions/360-image-hosting/m-p/1370897#M56893</guid>
      <dc:creator>James_GIS</dc:creator>
      <dc:date>2024-01-17T11:12:57Z</dc:date>
    </item>
    <item>
      <title>Re: 360 Image Hosting</title>
      <link>https://community.esri.com/t5/arcgis-online-questions/360-image-hosting/m-p/1371021#M56899</link>
      <description>&lt;P&gt;&lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/751027"&gt;@James_GIS&lt;/a&gt;&amp;nbsp;when you use Memento360, the URL they provide for your content includes a viewer that is pointed at your image file hosted on their service. When you host your image file on AWS, it is just a file in your S3&amp;nbsp; bucket, and there is no viewer in front of it.&lt;/P&gt;&lt;P&gt;If you want to host your 360 image files in AWS, then you also need to supply your own viewer.&amp;nbsp;For example, you could host&amp;nbsp;&lt;A href="https://threejs.org/" target="_self" rel="nofollow noopener noreferrer"&gt;three.js&lt;/A&gt;&lt;SPAN&gt;&amp;nbsp;(open-source) in your S3 bucket too, which is an easy to use, lightweight, cross-browser, general purpose 3D library. Such an approach does involve some basic JavaScript coding, which Memento360 nicely takes care of for you. For 360-degree images, I usually adapt three.js's&amp;nbsp;&lt;A href="https://github.com/mrdoob/three.js/commits/dev/examples/webgl_panorama_equirectangular.html" target="_self" rel="nofollow noopener noreferrer"&gt;webgl_panorama_equirectangular.html&lt;/A&gt;&amp;nbsp;viewer example to meet my needs.&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Wed, 17 Jan 2024 15:53:46 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-online-questions/360-image-hosting/m-p/1371021#M56899</guid>
      <dc:creator>PeterKnoop</dc:creator>
      <dc:date>2024-01-17T15:53:46Z</dc:date>
    </item>
    <item>
      <title>Re: 360 Image Hosting</title>
      <link>https://community.esri.com/t5/arcgis-online-questions/360-image-hosting/m-p/1371627#M56928</link>
      <description>&lt;P&gt;Here are a few ArcGIS tools for the seamless integration of 360° photos and videos into both ArcGIS Online and Enterprise. These solutions facilitate the swift deployment of large-scale 360° imagery projects within hours of collection, with the added advantage of storing imagery in AWS for seamless access via ArcGIS.&lt;/P&gt;&lt;OL&gt;&lt;LI&gt;&lt;A href="https://www.nodeology.net/site-viewer-360-for-arcgis/" target="_self"&gt;&lt;STRONG&gt;Site Viewer 360 for ArcGIS&lt;/STRONG&gt;&lt;/A&gt;&lt;STRONG&gt;&lt;STRONG&gt;&lt;A href="https://www.nodeology.net/site-viewer-360-for-arcgis/" target="_self"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-center" image-alt="background-site-tour-page-1.jpg" style="width: 999px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/91991i00983CEBA6E635DF/image-size/large?v=v2&amp;amp;px=999" role="button" title="background-site-tour-page-1.jpg" alt="background-site-tour-page-1.jpg" /&gt;&lt;/span&gt;&lt;/A&gt;&lt;/STRONG&gt;&lt;/STRONG&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/LI&gt;&lt;LI&gt;&lt;A href="https://www.nodeology.net/geotube-for-arcgis/" target="_self"&gt;&lt;STRONG&gt;GeoTube for ArcGIS&lt;/STRONG&gt;&lt;/A&gt;&lt;STRONG&gt;&lt;A href="https://www.nodeology.net/geotube-for-arcgis/" target="_self"&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="GeoTube road inspection.JPG" style="width: 999px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/91992i7F30E2CB1057EA89/image-size/large?v=v2&amp;amp;px=999" role="button" title="GeoTube road inspection.JPG" alt="GeoTube road inspection.JPG" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Electric line inspection.JPG" style="width: 999px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/91993iEEE95308E1379B9B/image-size/large?v=v2&amp;amp;px=999" role="button" title="Electric line inspection.JPG" alt="Electric line inspection.JPG" /&gt;&lt;/span&gt;&lt;/A&gt;&lt;/STRONG&gt;&lt;/LI&gt;&lt;LI&gt;&lt;A href="https://www.nodeology.net/geotagged-media-tools/" target="_self"&gt;&lt;STRONG&gt;GeoMedia Tools for ArcGIS&lt;/STRONG&gt;&lt;/A&gt;&lt;A href="https://www.nodeology.net/geotagged-media-tools/" target="_self"&gt;&lt;STRONG&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="VideosToPolylines-1.png" style="width: 999px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/91996i3FC3DAB0C3014FD9/image-size/large?v=v2&amp;amp;px=999" role="button" title="VideosToPolylines-1.png" alt="VideosToPolylines-1.png" /&gt;&lt;/span&gt;&lt;/STRONG&gt;&lt;/A&gt;&lt;/LI&gt;&lt;/OL&gt;</description>
      <pubDate>Thu, 18 Jan 2024 15:13:55 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-online-questions/360-image-hosting/m-p/1371627#M56928</guid>
      <dc:creator>ClarkSelby</dc:creator>
      <dc:date>2024-01-18T15:13:55Z</dc:date>
    </item>
    <item>
      <title>Re: 360 Image Hosting</title>
      <link>https://community.esri.com/t5/arcgis-online-questions/360-image-hosting/m-p/1372188#M56966</link>
      <description>&lt;P&gt;Thanks for that, so would you create a seperate html for each file with this?&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 19 Jan 2024 12:18:40 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-online-questions/360-image-hosting/m-p/1372188#M56966</guid>
      <dc:creator>James_GIS</dc:creator>
      <dc:date>2024-01-19T12:18:40Z</dc:date>
    </item>
    <item>
      <title>Re: 360 Image Hosting</title>
      <link>https://community.esri.com/t5/arcgis-online-questions/360-image-hosting/m-p/1372202#M56968</link>
      <description>&lt;P data-unlink="true"&gt;If you have only a few 360 image files, then duplicating your implementation of&amp;nbsp;&lt;A href="https://github.com/mrdoob/three.js/blob/dev/examples/webgl_panorama_equirectangular.html" target="_self"&gt;webgl_panorama_equirectangular.html&lt;/A&gt;, and changing just the filename to display is a quick solution.&lt;/P&gt;&lt;P&gt;You probably have a lot of 360 image files though, so a more general solution is to add support in the JavaScript code to handle&amp;nbsp;a URL parameter. You would use the parameter to pass the filename or pathname of the image you want the viewer to display. Then you would only need one copy of the viewer.&lt;/P&gt;</description>
      <pubDate>Fri, 19 Jan 2024 13:41:06 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-online-questions/360-image-hosting/m-p/1372202#M56968</guid>
      <dc:creator>PeterKnoop</dc:creator>
      <dc:date>2024-01-19T13:41:06Z</dc:date>
    </item>
    <item>
      <title>Re: 360 Image Hosting</title>
      <link>https://community.esri.com/t5/arcgis-online-questions/360-image-hosting/m-p/1373406#M57020</link>
      <description>&lt;P&gt;&lt;a href="https://community.esri.com/t5/user/viewprofilepage/user-id/374806"&gt;@PeterKnoop&lt;/a&gt;&amp;nbsp;- Amazing. That works&amp;nbsp;&lt;/P&gt;&lt;P&gt;For anyone else looking to do this in the future,&amp;nbsp; here is how I did it.&amp;nbsp;&lt;/P&gt;&lt;P&gt;I created the files below&lt;/P&gt;&lt;P&gt;Then opening the&amp;nbsp; HTML file in a web browser and append the image parameter to the URL, specifying the path to the 360 image in the AWS S3 bucket.&lt;/P&gt;&lt;P&gt;Example URL: &lt;A href="http://yourwebsite.com/360.html?image=https://your-s3-bucket.s3.amazonaws.com/360image.jpg" target="_blank" rel="noopener"&gt;http://yourwebsite.com/360.html?image=https://your-s3-bucket.s3.amazonaws.com/360image.jpg&lt;/A&gt;&lt;/P&gt;&lt;P&gt;----- 360.html -----&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang="en"&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta charset="UTF-8"&amp;gt;
&amp;lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;
&amp;lt;title&amp;gt;360 Image Viewer&amp;lt;/title&amp;gt;
&amp;lt;script src="https://threejs.org/build/three.js"&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
&amp;lt;script type="module" src="main.js"&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;---- main.js ----&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;// your_script.js

//import Orbit Controls - Orbit controls allow the camera to orbit around a target.
import { OrbitControls } from 'https://unpkg.com/three@0.112/examples/jsm/controls/OrbitControls.js';

// Function to get URL parameters
function getUrlParameter(name) {
    name = name.replace(/[[]/, '\\[').replace(/[\]]/, '\\]');
    var regex = new RegExp('[\\?&amp;amp;]' + name + '=([^&amp;amp;#]*)');
    var results = regex.exec(location.search);
    return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' '));
}

// Initialize Three.js scene
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
var renderer = new THREE.WebGLRenderer();
renderer.setSize(window.innerWidth, window.innerHeight);
document.body.appendChild(renderer.domElement);

// Get the image URL from the URL parameter, this allows you to reuse the same HTML file e.g http://yourwebsite.com/your_viewer.html?image=https://your-s3-bucket.s3.amazonaws.com/360image.jpg
var imageUrl = getUrlParameter('image');

// Load 360 image texture
var texture = new THREE.TextureLoader().load(imageUrl);

// Create a sphere geometry to map the 360 image onto
var geometry = new THREE.SphereGeometry(500, 60, 40);
var material = new THREE.MeshBasicMaterial({ map: texture, side: THREE.DoubleSide });
var sphere = new THREE.Mesh(geometry, material);
scene.add(sphere);

// Set camera position
camera.position.set(0, 0, 0.1);

// Add OrbitControls from the module
var controls = new OrbitControls(camera, renderer.domElement);
controls.enableZoom = false; // Disable zooming, you can enable it if needed

// Render loop
function animate() {
    requestAnimationFrame(animate);
    controls.update(); // Update controls
    renderer.render(scene, camera);
}

animate();&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Of course uploading to the s3 bucket, make use you have correct security set for what you want to do&amp;nbsp;&lt;/P&gt;&lt;P&gt;Set the metadata for the images to view in browser&lt;/P&gt;&lt;DIV class=""&gt;Type&lt;/DIV&gt;&lt;DIV class=""&gt;Key&lt;/DIV&gt;&lt;DIV class=""&gt;Value&lt;/DIV&gt;&lt;TABLE&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;SPAN class=""&gt;System defined&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD&gt;&lt;SPAN class=""&gt;Content-Type&lt;/SPAN&gt;&lt;/TD&gt;&lt;TD&gt;&lt;SPAN class=""&gt;image/jpeg&lt;/SPAN&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 23 Jan 2024 13:09:55 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-online-questions/360-image-hosting/m-p/1373406#M57020</guid>
      <dc:creator>James_GIS</dc:creator>
      <dc:date>2024-01-23T13:09:55Z</dc:date>
    </item>
  </channel>
</rss>

