diff --git a/build.gradle b/build.gradle index f7edf6172c..cc100015fb 100644 --- a/build.gradle +++ b/build.gradle @@ -18,7 +18,7 @@ apply plugin: 'com.esri.arcgisruntime.java' group = 'com.esri.samples' -arcgis.version = '100.5.0-2355' +arcgis.version = '100.5.0-2358' arcgis.internal = true javafx { diff --git a/src/main/java/com/esri/samples/scene/add_a_point_scene_layer/AddAPointSceneLayer.png b/src/main/java/com/esri/samples/scene/add_a_point_scene_layer/AddAPointSceneLayer.png new file mode 100644 index 0000000000..aad12792a5 Binary files /dev/null and b/src/main/java/com/esri/samples/scene/add_a_point_scene_layer/AddAPointSceneLayer.png differ diff --git a/src/main/java/com/esri/samples/scene/add_a_point_scene_layer/AddAPointSceneLayerSample.java b/src/main/java/com/esri/samples/scene/add_a_point_scene_layer/AddAPointSceneLayerSample.java new file mode 100644 index 0000000000..9734b8c247 --- /dev/null +++ b/src/main/java/com/esri/samples/scene/add_a_point_scene_layer/AddAPointSceneLayerSample.java @@ -0,0 +1,100 @@ +/* + * Copyright 2019 Esri. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not + * use this file except in compliance with the License. You may obtain a copy of + * the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT + * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the + * License for the specific language governing permissions and limitations under + * the License. + */ + +package com.esri.samples.scene.add_a_point_scene_layer; + +import javafx.application.Application; +import javafx.scene.Scene; +import javafx.scene.layout.StackPane; +import javafx.stage.Stage; + +import com.esri.arcgisruntime.geometry.Point; +import com.esri.arcgisruntime.layers.ArcGISSceneLayer; +import com.esri.arcgisruntime.layers.IntegratedMeshLayer; +import com.esri.arcgisruntime.mapping.ArcGISScene; +import com.esri.arcgisruntime.mapping.ArcGISTiledElevationSource; +import com.esri.arcgisruntime.mapping.Basemap; +import com.esri.arcgisruntime.mapping.Surface; +import com.esri.arcgisruntime.mapping.Viewpoint; +import com.esri.arcgisruntime.mapping.view.Camera; +import com.esri.arcgisruntime.mapping.view.SceneView; + +public class AddAPointSceneLayerSample extends Application { + + private SceneView sceneView; + + @Override + public void start(Stage stage) { + + try { + + // set the title and size of the stage and show it + StackPane stackPane = new StackPane(); + Scene fxScene = new Scene(stackPane); + stage.setTitle("Add a Point Scene Layer Sample"); + stage.setWidth(800); + stage.setHeight(700); + + // create a JavaFX scene with a stackpane and set it to the stage + stage.setScene(fxScene); + stage.show(); + + // create a scene view and add it to the stack pane + sceneView = new SceneView(); + stackPane.getChildren().add(sceneView); + + // create a scene with a basemap and add it to the scene view + ArcGISScene scene = new ArcGISScene(); + scene.setBasemap(Basemap.createImagery()); + sceneView.setArcGISScene(scene); + + // set the base surface with world elevation + Surface surface = new Surface(); + surface.getElevationSources().add(new ArcGISTiledElevationSource("http://elevation3d.arcgis.com/arcgis/rest/services/WorldElevation3D/Terrain3D/ImageServer")); + scene.setBaseSurface(surface); + + // add a point scene layer with points at world airport locations + ArcGISSceneLayer pointSceneLayer = new ArcGISSceneLayer("https://tiles.arcgis.com/tiles/V6ZHFr6zdgNZuVG0/arcgis/rest/services/Airports_PointSceneLayer/SceneServer/layers/0"); + scene.getOperationalLayers().add(pointSceneLayer); + + } catch (Exception e) { + // on any error, display the stack trace. + e.printStackTrace(); + } + } + + /** + * Stops and releases all resources used in application. + */ + @Override + public void stop() { + + if (sceneView != null) { + sceneView.dispose(); + } + } + + /** + * Opens and runs application. + * + * @param args arguments passed to this application + */ + public static void main(String[] args) { + + Application.launch(args); + } + +} diff --git a/src/main/java/com/esri/samples/scene/add_a_point_scene_layer/README.md b/src/main/java/com/esri/samples/scene/add_a_point_scene_layer/README.md new file mode 100644 index 0000000000..5661746365 --- /dev/null +++ b/src/main/java/com/esri/samples/scene/add_a_point_scene_layer/README.md @@ -0,0 +1,41 @@ +
View a point scene layer from a scene service.
+ +Point scene layers can efficiently display large amounts of point features. While point cloud layers can only display simple symbols, point scene layers can display any type of billboard symbol or even 3D models, as long as the location of the symbol can be described by a point. Points are cached and automatically thinned when zoomed out to improve performance.
+ +Pan around the scene and zoom in. Notice how many thousands of additional features appear at each successive zoom scale.
+ +ArcGISSceneLayer
with the URL to a point scene layer service.This dataset contains more than 40,000 points representing world airports. Points are retrieved on demand by the scene layer as the user navigates the scene.
+ +Point scene layers can also be retrieved from scene layer packages (.slpk) and mobile scene packages (.mspk).
+ +3D, point scene layer, layers
\ No newline at end of file