ArcGIS Runtime SDK for Java

Geodesic Sector and Ellipse

Demonstrates how to create and display geodesic sectors and ellipses.

Geodesic sectors and ellipses can be used in a wide range of analyses ranging from antenna coverage to projectile landing zones.

How it works

To create a geodesic sector and ellipse:

  1. Create GeodesicSectorParameters and GeodesicSectorParameters using one of the constructors with default values or using each setter individually.
  2. Set the center, axisDirection , semiAxis1Length, and the semiAxis2Length properties to change the general ellipse position, shape, and orientation.
  3. Set the sectorAngle and startDirection angles to change the sector's shape and orientation.
  4. Set the maxPointCount and maxSegmentLength properties to control the complexity of the geometries and the approximation of the ellipse curve.
  5. Specify the geometryType to either POLYGON, POLYLINE, or MULTIPOINT to change the result geometry type.
  6. Pass the parameters to the related static methods: GeometryEngine.ellipseGeodesic(geodesicEllipseParameters) and GeometryEngine.sectorGeodesic(geodesicSectorParameters). The returned value will be a Geometry of the type specified by the geometryType parameter.

Code

/*
 * Copyright 2018 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.geometry.geodesic_sector_and_ellipse;

import java.io.IOException;

import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;

public class GeodesicSectorAndEllipseSample extends Application {

  private static GeodesicSectorAndEllipseController controller;

  @Override
  public void start(Stage stage) throws IOException {
    // set up the scene
    FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/geodesic_sector_and_ellipse.fxml"));
    Parent root = loader.load();
    controller = loader.getController();
    Scene scene = new Scene(root);

    // set up the stage
    stage.setTitle("Geodesic Sector And Ellipse Sample");
    stage.setWidth(800);
    stage.setHeight(700);
    stage.setScene(scene);
    stage.show();
  }

  /**
   * Stops and releases all resources used in application.
   */
  @Override
  public void stop() {
    controller.terminate();
  }

  /**
   * Opens and runs application.
   *
   * @param args arguments passed to this application
   */
  public static void main(String[] args) {

    Application.launch(args);
  }
}


In this topic
  1. How it works
  2. Code