Hide Table of Contents
esri/dijit/util
esri/layer/pixelFilters
esri/process
esri/workers
Class: ImageServiceMeasure

require(["esri/dijit/ImageServiceMeasure"], function(ImageServiceMeasure) { /* code goes here */ });

Description

(Added at v3.14)

This widget allows you to perform measurements on image services. It only supports services with mensuration support. Mensuration is a method of applying geometric rules to find the lengths of lines, areas of surfaces, or volumes using information obtained from lines and angles. It can also include measuring the height and absolute location of a feature.

Any Image service with a georeferenced raster dataset can provide distance, area, point and centroid locations. Height measurements can be obtained when a sensor model exists. Sun angle information is required to make measurements using the shadows.

This widget includes the following tools:

  • Distance and Angle - measures the distance between two or more points.
  • Area and Perimeter - calculates the size and perimeter of an area. When 'Measure in 3D' is checked, it will use the DEM to refine the calculation.
  • Point Location - measures the location of a point.
  • Centroid Location - calculates the centroid location of an area. When 'Measure in 3D' is checked it will use the DEM to refine the calculation.
  • Base To Top Height - calculates the height of a structure by measuring from the base of the structure to the top of the structure. Measurements are assumed to be perpendicular to the base; therefore, the building is not built at an angle. The line being measured along the building must have its end point be directly above the start point.
  • Top To Shadow Height - calculates the height of a structure by measuring from the top of the structure to the top of the structure's shadow on the ground. The points on the structure and its shadow must represent the same point. When 'Measure in 3D' is checked it will use the DEM to refine the calculation.

    This tool is useful for obtaining the height of an object on the top of a structure, for example, if there was a smaller room than the dimensions of the building or a tower on the top. You can identify the top point of this feature in the image, then identify the same point in the shadow.
  • Base To Shadow Height - calculates the height of a structure by measuring from the base of the structure to the top of the structure's shadow on the ground. The point in the shadow must represent a point on the structure that is perpendicular to the base. When 'Measure in 3D' is checked it will use the DEM to refine the calculation.

This widget contains an instance of the ImageServiceMeasureToolbar in the measureToolbar property. This property exposes the methods and events available in the ImageServiceMeasureToolbar to an instance of this widget so you can work with the result of the measure operation programmatically.

Samples

Search for samples that use this class.

Constructors

NameSummary
new ImageServiceMeasure(params, srcNode)Creates an instance of the ImageServiceMeasure widget.

CSS

esri/dijit/ImageServiceMeasure | Download source

Properties

NameTypeSummary
fillSymbolSimpleFillSymbolSymbol to be used when drawing a polygon or extent.
lineSymbolSimpleLineSymbolSymbol to be used when drawing a line.
markerSymbolSimpleMarkerSymbolSymbol to be used when drawing a point.
measureToolbarImageServiceMeasureToolThe instance of ImageServiceMeasureTool associated with this widget.

Methods

NameReturn typeSummary
destroy()NoneDestroys the ImageServiceMeasure widget.
startup()NoneFinalizes the creation of the widget.
Constructor Details

new ImageServiceMeasure(params, srcNode)

Creates an instance of the ImageServiceMeasure widget.
Parameters:
<Object> params Required An Object containing constructor options. See the object specification table below for more details about each option.
<Node | String> srcNode Required Reference or id of the HTML element where the widget should be rendered.
params properties:
<String> angularUnit Optional The angular unit in which directions of line segments will be calculated.
Possible Values: esriDURadians | esriDUDecimalDegrees (default)
<String> areaUnit Optional The area unit in which areas of polygons will be calculated. The value of this property can be changed at runtime by choosing a different unit from the Area Units dropdown on ImageServiceMeasureToolbar.
Default value: SQUARE_KILOMETERS.
<Boolean> displayMeasureResultInPopup Optional Defines whether to show the widget result in a popup or in the widget's result area when the widget has 'toolbar' layout.
Default value: false
<SimpleFillSymbol> fillSymbol Optional Symbol to be used when drawing a polygon or extent.
<ArcGISImageServiceLayer> layer Required Image service layer with which the toolbar is associated.
<String> layout Optional Defines the layout of the widget.
Possible Values: toolbar| dropDown (default).
<SimpleLineSymbol> lineSymbol Optional Symbol to be used when drawing a line.
<String> linearUnit Optional The linear unit in which height, length, or perimeters will be calculated. The value of this property can be changed at runtime by choosing a different unit from the Linear Units dropdown on ImageServiceMeasureToolbar.
Default value: KILOMETERS.
<Map> map Required Map instance with which the toolbar is associate.
<SimpleMarkerSymbol> markerSymbol Optional Symbol to be used when drawing a point.
Property Details

<SimpleFillSymbol> fillSymbol

Symbol to be used when drawing a polygon or extent.

<SimpleLineSymbol> lineSymbol

Symbol to be used when drawing a line.

<SimpleMarkerSymbol> markerSymbol

Symbol to be used when drawing a point.

<ImageServiceMeasureTool> measureToolbar

The instance of ImageServiceMeasureTool associated with this widget. The properties, methods, and events exposed by the ImageServiceMeasureTool may be leveraged when developing with this widget. You may use this property to set up event listeners to listen for draw-start, draw-end, and measure-end events fired by this widget.
Sample:
var ism = new ImageServiceMeasure();
//The measureToolbar property is an instance of esri/toolbars/ImageServiceMeasureTool
ism.measureToolbar.on("measure-end", function(e){
  //do something with the result of the measure here
});
Method Details

destroy()

Destroys the ImageServiceMeasure widget. Call destroy() when the widget is no longer needed by the application.
Sample:
var ism = new ImageServiceMeasure({
    layer: imageServiceLayer,
    map: map
}, "ism");
ism.startup();

/// widget no longer needed
ism.destroy();

startup()

Finalizes the creation of the widget.
Sample:
ism = new ImageServiceMeasure({
  layer: imageServiceLayer,
  lineSymbol: sls,
  map: map,
  angularUnit: "esriDURadians",
  areaUnit: unit.SQUARE_MILLIMETERS,
  linearUnit: "esriFeet",
  layout: "toolbar",
  //displayMeasureResultInPopup: true //only applies when the layout is toolbar
}, "ism");
ism.startup();