3DNL ArcGIS Web Service

The Cyclomedia ArcGIS Web Service 3DNL, built on Esri's SLPK (Scene Layer Package) and I3S (Indexed 3D Scene Layer) standards, provides a high-fidelity, large-scale 3D representation of urban environments. Seamlessly integrated into the Esri ArcGIS Pro and ArcGIS Online (Bèta) ecosystems, this service allows users to visualize, analyze, and interact with accurate 3D models of cities, infrastructure, and landscapes.

Picture

Obtain credentials

Before you can start using the Recording Locations Service, you need to have credentials. If you do not have them yet, please use this form to request access.

Request your credentials
Picture

Read the documentation

Everything you need to know about the use of our Recording Locations Service can be found below in the Service Documentation.

Read the service documentation
Picture

View our examples

To help you getting started, we have created a set of code examples for you. You can use them as a basis for your own service requests.

Explore the code examples

Service Documentation

The 3D mesh is created from Cyclomedia's extensive aerial imagery and LiDAR data, delivering rich, photorealistic visualizations that support various GIS processes such as urban planning, asset management, and spatial analysis. The use of the SLPK and I3S formats ensures optimized streaming and efficient rendering of large datasets, even when handling complex cityscapes.

The ArcGIS Web Service 3DNL I3S service is an ArcGIS service which can be accessed through this URL: https://atlasapi.cyclomedia.com/i3s/arcgis/rest/services/3dnl/SceneServer

This service an be used in ArcGIS Pro, ArcGIS Online (Bèta) and integrated with the ArcGIS JavaScript API (Bèta)

ArcGIS Pro

1. Open a new project in ArcGIS Pro.

2. Create a local Scene.

3. Go to Map navigation bar and choose ‘Add Data’ > ‘From Path’ or directly choose ‘Add Data From Path’.

4. Add the 3DNL layer (https://atlasapi.cyclomedia.com/i3s/arcgis/rest/services/3dnl/SceneServer) to the Path input field.

5. Choose ‘Add’.

6. There will be a prompt to login. Add your Cyclomedia username and password.

7. Complete steps.

ArcGIS Online (Bèta)

1. Open ArcGIS Online (Bèta)

2. Check with your organization admin if the Cyclomedia 3DNL ArcGIS Web Service URL is added as a trusted server. For more information, refer to Configure security settings—ArcGIS Online Help | Documentation

3. Create a WebScene.

4. Use the '+' icon to create a Local Scene.

5. Add a new layer and choose for ArcGIS web service.

6. Fill the 3DNL Layer URL (https://atlasapi.cyclomedia.com/i3s/arcgis/rest/services/3dnl/SceneServer) in the Layer URL box.

7. Fill the prompt for adding username and password.

8. 3DNL is now successfully added to your Scene.

ArcGIS JavaScript API (Bèta)

See below code examples to start using the service with ArcGIS JavaScript API (Bèta)

<html lang="en"> 
<head>
<meta charset="utf-8" />
<meta name="viewport" content="initial-scale=1,maximum-scale=1,user-scalable=no" />
<title>Cyclomedia ArcGIS JavaScript API (Bèta) Example</title>
<link rel="stylesheet" href="https://js.arcgis.com/4.29/esri/themes/light/main.css" />
<script src="https://js.arcgis.com/4.29/"></script>
<style>
html, body, #viewDiv { padding: 0; margin: 0; height: 100%; width: 100%; }
#menu { padding: 1em; }
</style>
<script>
require([
"esri/WebScene",
"esri/views/SceneView",
"esri/layers/IntegratedMeshLayer",
"esri/config",
"esri/request" ],
(WebScene, SceneView, IntegratedMeshLayer, esriConfig, esriRequest) => {
const webscene = new WebScene();

const params = new URLSearchParams(window.location.search);
var t = params.get("t")

const baseUrl = `https://atlasapi.cyclomedia.com/i3s/arcgis/rest/services/3dnl/SceneServer`;

esriConfig.request.interceptors.push({
urls: new RegExp(baseUrl, "i"), // Match your server URL
before: function(params) {
// Add authorization header
params.requestOptions.headers = params.requestOptions.headers || {};
params.requestOptions.headers.Authorization = 'Basic <Base64-encoded Cyclomedia's username and password, separated by a colon>';
}
});
fetch(baseUrl, {
method: 'GET',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Basic '
}
}
) .then((response) => { return response.json(); })
.then((json) => {
var count = 0;
json.layers.forEach((layer) => {
const l = new IntegratedMeshLayer({
url: `${baseUrl}/layers/${count++}`,
copyright: "Cyclomedia",
title: layer.name
});
webscene.add(l);
});
});
const view = new SceneView({
container: "viewDiv",
map: webscene,
qualityProfile: "high",
zoom: 1
});
});
</script>
</head>
<body> <div id="viewDiv"> </div>
</body>
</html>

FAQ

  • ArcGIS Pro version support

    • Version 3.3 and above

  • I have added the I3S service to ArcGIS Online (Bèta), but run into trouble.

  • ArcGIS JavaScript API (Bèta) support

    • Version 4.29 and above