dymaptic.GeoBlazor.Core

dymaptic.GeoBlazor.Core.Model

GeometryEngine Class

A client-side geometry engine for testing, measuring, and analyzing the spatial relationship between two or more 2D geometries. If more than one geometry is required for any of the methods below, all geometries must have the same spatial reference for the methods to work as expected.

ArcGIS

Maps SDK for JavaScript
public class GeometryEngine : dymaptic.GeoBlazor.Core.Model.LogicComponent

Inheritance System.Object 🡒 LogicComponent 🡒 GeometryEngine

Constructors

GeometryEngine(IAppValidator, IJSRuntime, JsModuleManager, AuthenticationManager) Constructor

A client-side geometry engine for testing, measuring, and analyzing the spatial relationship between two or more 2D geometries. If more than one geometry is required for any of the methods below, all geometries must have the same spatial reference for the methods to work as expected.

ArcGIS

Maps SDK for JavaScript
public GeometryEngine(dymaptic.GeoBlazor.Core.IAppValidator appValidator, Microsoft.JSInterop.IJSRuntime jsRuntime, dymaptic.GeoBlazor.Core.JsModuleManager jsModuleManager, dymaptic.GeoBlazor.Core.Model.AuthenticationManager authenticationManager);

Parameters

appValidator dymaptic.GeoBlazor.Core.IAppValidator

jsRuntime Microsoft.JSInterop.IJSRuntime

jsModuleManager JsModuleManager

authenticationManager AuthenticationManager

Methods

GeometryEngine.AddPath(Polyline, Point[], CancellationToken) Method

Adds a path, or line segment, to the polyline. When added, the index of the path is incremented by one.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Polyline> AddPath(dymaptic.GeoBlazor.Core.Components.Geometries.Polyline polyline, dymaptic.GeoBlazor.Core.Components.Geometries.Point[] points, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

polyline Polyline

The polyline to add the path to. Will return a new modified copy.

points Point[]

The polyline path to add as an array of Points.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Polyline>
Returns a new polyline with the added path.

GeometryEngine.AddPath(Polyline, MapPath, CancellationToken) Method

Adds a path, or line segment, to the polyline. When added, the index of the path is incremented by one.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Polyline> AddPath(dymaptic.GeoBlazor.Core.Components.Geometries.Polyline polyline, dymaptic.GeoBlazor.Core.Model.MapPath points, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

polyline Polyline

The polyline to add the path to. Will return a new modified copy.

points MapPath

The polyline path to add as a MapPath.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Polyline>
Returns a new polyline with the added path.

GeometryEngine.AddRing(Polygon, Point[], CancellationToken) Method

Adds a ring to the Polygon. The ring can be one of the following: an array of numbers or an array of points. When added the index of the ring is incremented by one.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Polygon> AddRing(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon polygon, dymaptic.GeoBlazor.Core.Components.Geometries.Point[] points, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

polygon Polygon

The polygon to add the ring to.

points Point[]

A polygon ring. The first and last coordinates/points in the ring must be the same.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Polygon>
Returns a new polygon with the added ring.

GeometryEngine.AddRing(Polygon, MapPath, CancellationToken) Method

Adds a ring to the Polygon. The ring can be one of the following: an array of numbers or an array of points. When added the index of the ring is incremented by one.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Polygon> AddRing(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon polygon, dymaptic.GeoBlazor.Core.Model.MapPath points, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

polygon Polygon

The polygon to add the ring to.

points MapPath

A polygon ring. The first and last coordinates/points in the ring must be the same.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Polygon>
Returns a new polygon with the added ring.

GeometryEngine.AreEqual(Geometry, Geometry, CancellationToken) Method

Indicates if two geometries are equal.

public System.Threading.Tasks.Task<bool> AreEqual(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry1, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry2, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry1 Geometry

First input geometry.

geometry2 Geometry

Second input geometry.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<System.Boolean>
Returns true if the two input geometries are equal.

Remarks

In ArcGIS for JS, this method is called `Equals`. However, this term has special meaning in .NET, so we have renamed here.

GeometryEngine.Buffer(Geometry, double, Nullable, CancellationToken) Method

Creates planar (or Euclidean) buffer polygons at a specified distance around the input geometries.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Polygon?> Buffer(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, double distance, System.Nullable<dymaptic.GeoBlazor.Core.Enums.GeometryEngineLinearUnit> unit, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry Geometry

The buffer input geometries.

distance System.Double

The specified distance(s) for buffering.

unit System.Nullable<GeometryEngineLinearUnit>

Measurement unit of the distance(s). Defaults to the units of the input geometries.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Polygon>
The resulting buffer.

Remarks

The GeometryEngine has two methods for buffering geometries client-side: buffer and geodesicBuffer. Use caution when deciding which method to use. As a general rule, use geodesicBuffer if the input geometries have a spatial reference of either WGS84 (wkid: 4326) or Web Mercator. Only use buffer (this method) when attempting to buffer geometries with a projected coordinate system other than Web Mercator. If you need to buffer geometries with a geographic coordinate system other than WGS84 (wkid: 4326), use geometryService.buffer().

GeometryEngine.Buffer(Geometry, double, CancellationToken) Method

Creates planar (or Euclidean) buffer polygons at a specified distance around the input geometries.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Polygon?> Buffer(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, double distance, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry Geometry

The buffer input geometries.

distance System.Double

The specified distance(s) for buffering.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Polygon>
The resulting buffer.

Remarks

The GeometryEngine has two methods for buffering geometries client-side: buffer and geodesicBuffer. Use caution when deciding which method to use. As a general rule, use geodesicBuffer if the input geometries have a spatial reference of either WGS84 (wkid: 4326) or Web Mercator. Only use buffer (this method) when attempting to buffer geometries with a projected coordinate system other than Web Mercator. If you need to buffer geometries with a geographic coordinate system other than WGS84 (wkid: 4326), use geometryService.buffer().

GeometryEngine.Buffer(IEnumerable, IEnumerable, Nullable, Nullable, CancellationToken) Method

Creates planar (or Euclidean) buffer polygons at a specified distance around the input geometries.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Polygon[]> Buffer(System.Collections.Generic.IEnumerable<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry> geometries, System.Collections.Generic.IEnumerable<double> distances, System.Nullable<dymaptic.GeoBlazor.Core.Enums.GeometryEngineLinearUnit> unit, System.Nullable<bool> unionResults, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometries System.Collections.Generic.IEnumerable<Geometry>

The buffer input geometries.

distances System.Collections.Generic.IEnumerable<System.Double>

The specified distance(s) for buffering. The length of the geometry array does not have to equal the length of the distance array. For example, if you pass an array of four geometries: [g1, g2, g3, g4] and an array with one distance: [d1], all four geometries will be buffered by the single distance value. If instead you use an array of three distances: [d1, d2, d3], g1 will be buffered by d1, g2 by d2, and g3 and g4 will both be buffered by d3. The value of the geometry array will be matched one to one with those in the distance array until the final value of the distance array is reached, in which case that value will be applied to the remaining geometries.

unit System.Nullable<GeometryEngineLinearUnit>

Measurement unit of the distance(s). Defaults to the units of the input geometries.

unionResults System.Nullable<System.Boolean>

Determines whether the output geometries should be unioned into a single polygon.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Polygon[]>
The resulting buffers.

Remarks

The GeometryEngine has two methods for buffering geometries client-side: buffer and geodesicBuffer. Use caution when deciding which method to use. As a general rule, use geodesicBuffer if the input geometries have a spatial reference of either WGS84 (wkid: 4326) or Web Mercator. Only use buffer (this method) when attempting to buffer geometries with a projected coordinate system other than Web Mercator. If you need to buffer geometries with a geographic coordinate system other than WGS84 (wkid: 4326), use geometryService.buffer().

GeometryEngine.Buffer(IEnumerable, IEnumerable, Nullable, CancellationToken) Method

Creates planar (or Euclidean) buffer polygons at a specified distance around the input geometries.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Polygon[]> Buffer(System.Collections.Generic.IEnumerable<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry> geometries, System.Collections.Generic.IEnumerable<double> distances, System.Nullable<dymaptic.GeoBlazor.Core.Enums.GeometryEngineLinearUnit> unit, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometries System.Collections.Generic.IEnumerable<Geometry>

The buffer input geometries.

distances System.Collections.Generic.IEnumerable<System.Double>

The specified distance(s) for buffering. The length of the geometry array does not have to equal the length of the distance array. For example, if you pass an array of four geometries: [g1, g2, g3, g4] and an array with one distance: [d1], all four geometries will be buffered by the single distance value. If instead you use an array of three distances: [d1, d2, d3], g1 will be buffered by d1, g2 by d2, and g3 and g4 will both be buffered by d3. The value of the geometry array will be matched one to one with those in the distance array until the final value of the distance array is reached, in which case that value will be applied to the remaining geometries.

unit System.Nullable<GeometryEngineLinearUnit>

Measurement unit of the distance(s). Defaults to the units of the input geometries.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Polygon[]>
The resulting buffers.

Remarks

The GeometryEngine has two methods for buffering geometries client-side: buffer and geodesicBuffer. Use caution when deciding which method to use. As a general rule, use geodesicBuffer if the input geometries have a spatial reference of either WGS84 (wkid: 4326) or Web Mercator. Only use buffer (this method) when attempting to buffer geometries with a projected coordinate system other than Web Mercator. If you need to buffer geometries with a geographic coordinate system other than WGS84 (wkid: 4326), use geometryService.buffer().

GeometryEngine.Buffer(IEnumerable, IEnumerable, CancellationToken) Method

Creates planar (or Euclidean) buffer polygons at a specified distance around the input geometries.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Polygon[]> Buffer(System.Collections.Generic.IEnumerable<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry> geometries, System.Collections.Generic.IEnumerable<double> distances, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometries System.Collections.Generic.IEnumerable<Geometry>

The buffer input geometries.

distances System.Collections.Generic.IEnumerable<System.Double>

The specified distance(s) for buffering. The length of the geometry array does not have to equal the length of the distance array. For example, if you pass an array of four geometries: [g1, g2, g3, g4] and an array with one distance: [d1], all four geometries will be buffered by the single distance value. If instead you use an array of three distances: [d1, d2, d3], g1 will be buffered by d1, g2 by d2, and g3 and g4 will both be buffered by d3. The value of the geometry array will be matched one to one with those in the distance array until the final value of the distance array is reached, in which case that value will be applied to the remaining geometries.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Polygon[]>
The resulting buffers.

Remarks

The GeometryEngine has two methods for buffering geometries client-side: buffer and geodesicBuffer. Use caution when deciding which method to use. As a general rule, use geodesicBuffer if the input geometries have a spatial reference of either WGS84 (wkid: 4326) or Web Mercator. Only use buffer (this method) when attempting to buffer geometries with a projected coordinate system other than Web Mercator. If you need to buffer geometries with a geographic coordinate system other than WGS84 (wkid: 4326), use geometryService.buffer().

GeometryEngine.CenterExtentAt(Extent, Point, CancellationToken) Method

Centers the given extent to the given point, and returns a new extent.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Extent> CenterExtentAt(dymaptic.GeoBlazor.Core.Components.Geometries.Extent extent, dymaptic.GeoBlazor.Core.Components.Geometries.Point point, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

extent Extent

The input extent.

point Point

The point to center the extent on.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Extent>
The centered extent.

GeometryEngine.Clip(Geometry, Extent, CancellationToken) Method

Calculates the clipped geometry from a target geometry by an envelope.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry?> Clip(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, dymaptic.GeoBlazor.Core.Components.Geometries.Extent extent, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry Geometry

The geometry to be clipped.

extent Extent

The envelope used to clip.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Geometry>
Clipped geometry.

GeometryEngine.Clone(T, CancellationToken) Method

Creates a deep clone of the geometry.

public System.Threading.Tasks.Task<T> Clone<T>(T geometry, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken))
    where T : dymaptic.GeoBlazor.Core.Components.Geometries.Geometry;

Type parameters

T

Parameters

geometry T

The geometry to clone

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<T>

Remarks

Unlike the Clone methods in the Geometry classes, this method does a loop through the ArcGIS JS SDK. Therefore, if you are having issues with unpopulated fields in the geometry, try using this method instead.

GeometryEngine.Contains(Geometry, Geometry, CancellationToken) Method

Indicates if one geometry contains another geometry.

public System.Threading.Tasks.Task<bool> Contains(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry containerGeometry, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry insideGeometry, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

containerGeometry Geometry

The geometry that is tested for the "contains" relationship to the other geometry. Think of this geometry as the potential "container" of the insideGeometry.

insideGeometry Geometry

The geometry that is tested for the "within" relationship to the containerGeometry.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<System.Boolean>
Returns true if the containerGeometry contains the insideGeometry.

GeometryEngine.ConvexHull(Geometry, CancellationToken) Method

Calculates the convex hull of one or more geometries. A convex hull is the smallest convex polygon that encloses a group of geometries or vertices. The input can be a single geometry (such as a polyline) or an array of any geometry type. The hull is typically a polygon but can also be a polyline or a point in degenerate cases.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry?> ConvexHull(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry Geometry

The input geometry used to calculate the convex hull.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Geometry>
Returns the convex hull of the input geometries. This is usually a polygon, but can also be a polyline (if the input is a set of points or polylines forming a straight line), or a point (in degenerate cases).

GeometryEngine.ConvexHull(IEnumerable, Nullable, CancellationToken) Method

Calculates the convex hull of one or more geometries. A convex hull is the smallest convex polygon that encloses a group of geometries or vertices. The input can be a single geometry (such as a polyline) or an array of any geometry type. The hull is typically a polygon but can also be a polyline or a point in degenerate cases.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry?[]> ConvexHull(System.Collections.Generic.IEnumerable<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry> geometries, System.Nullable<bool> merge=null, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometries System.Collections.Generic.IEnumerable<Geometry>

The input geometries used to calculate the convex hull. The input array can include various geometry types.

merge System.Nullable<System.Boolean>

Indicates whether to merge the output into a single geometry (usually a polygon).

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Geometry[]>
Returns the convex hull of the input geometries. This is usually a polygon, but can also be a polyline (if the input is a set of points or polylines forming a straight line), or a point (in degenerate cases).

GeometryEngine.Crosses(Geometry, Geometry, CancellationToken) Method

Indicates if one geometry crosses another geometry.

public System.Threading.Tasks.Task<bool> Crosses(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry1, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry2, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry1 Geometry

The geometry to cross.

geometry2 Geometry

The geometry being crossed.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<System.Boolean>
Returns true if geometry1 crosses geometry2.

GeometryEngine.Cut(Geometry, Polyline, CancellationToken) Method

Splits the input Polyline or Polygon where it crosses a cutting Polyline. For Polylines, all left cuts are grouped together in the first Geometry. Right cuts and coincident cuts are grouped in the second Geometry and each undefined cut, along with any uncut parts, are output as separate Polylines. For Polygons, all left cuts are grouped in the first Polygon, all right cuts are grouped in the second Polygon, and each undefined cut, along with any leftover parts after cutting, are output as a separate Polygon. If no cuts are returned then the array will be empty. An undefined cut will only be produced if a left cut or right cut was produced and there was a part left over after cutting, or a cut is bounded to the left and right of the cutter.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry[]> Cut(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, dymaptic.GeoBlazor.Core.Components.Geometries.Polyline cutter, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry Geometry

The geometry to be cut.

cutter Polyline

The polyline to cut the geometry.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Geometry[]>
Returns an array of geometries created by cutting the input geometry with the cutter.

GeometryEngine.Densify(Geometry, double, Nullable, CancellationToken) Method

Densify geometries by plotting points between existing vertices.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry> Densify(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, double maxSegmentLength, System.Nullable<dymaptic.GeoBlazor.Core.Enums.GeometryEngineLinearUnit> maxSegmentLengthUnit=null, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry Geometry

The geometry to be densified.

maxSegmentLength System.Double

The maximum segment length allowed. Must be a positive value.

maxSegmentLengthUnit System.Nullable<GeometryEngineLinearUnit>

Measurement unit for maxSegmentLength. Defaults to the units of the input geometry.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Geometry>
The densified geometry.

GeometryEngine.Difference(Geometry, Geometry, CancellationToken) Method

Creates the difference of two geometries. The resultant geometry is the portion of inputGeometry not in the subtractor. The dimension of the subtractor has to be equal to or greater than that of the inputGeometry.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry?> Difference(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry subtractor, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry Geometry

The input geometry to subtract from.

subtractor Geometry

The geometry being subtracted from inputGeometry.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Geometry>
Returns the geometry of inputGeometry minus the subtractor geometry.

GeometryEngine.Difference(IEnumerable, Geometry, CancellationToken) Method

Creates the difference of two geometries. The resultant geometry is the portion of inputGeometry not in the subtractor. The dimension of the subtractor has to be equal to or greater than that of the inputGeometry.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry?[]> Difference(System.Collections.Generic.IEnumerable<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry> geometries, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry subtractor, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometries System.Collections.Generic.IEnumerable<Geometry>

The input geometries to subtract from.

subtractor Geometry

The geometry being subtracted from inputGeometry.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Geometry[]>
Returns the geometry of inputGeometry minus the subtractor geometry.

GeometryEngine.Disjoint(Geometry, Geometry, CancellationToken) Method

Indicates if one geometry is disjoint (doesn't intersect in any way) with another geometry.

public System.Threading.Tasks.Task<bool> Disjoint(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry1, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry2, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry1 Geometry

The base geometry that is tested for the "disjoint" relationship to the other geometry.

geometry2 Geometry

The comparison geometry that is tested for the "disjoint" relationship to the other geometry.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<System.Boolean>
Returns true if geometry1 and geometry2 are disjoint (don't intersect in any way).

GeometryEngine.Distance(Geometry, Geometry, Nullable, CancellationToken) Method

Calculates the shortest planar distance between two geometries. Distance is reported in the linear units specified by distanceUnit or, if distanceUnit is null, the units of the spatialReference of input geometry.

public System.Threading.Tasks.Task<double> Distance(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry1, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry2, System.Nullable<dymaptic.GeoBlazor.Core.Enums.GeometryEngineLinearUnit> distanceUnit=null, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry1 Geometry

First input geometry.

geometry2 Geometry

Second input geometry.

distanceUnit System.Nullable<GeometryEngineLinearUnit>

Measurement unit of the return value. Defaults to the units of the input geometries.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<System.Double>
Distance between the two input geometries.

GeometryEngine.Expand(Extent, double, CancellationToken) Method

Expands the extent by the given factor. For example, a value of 1.5 will expand the extent to be 50 percent larger than the original extent.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Extent> Expand(dymaptic.GeoBlazor.Core.Components.Geometries.Extent extent, double factor, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

extent Extent

The input extent.

factor System.Double

The factor by which to expand the extent.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Extent>
The expanded extent.

GeometryEngine.ExtendedSpatialReferenceInfo(SpatialReference, CancellationToken) Method

Returns an object containing additional information about the input spatial reference.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Model.SpatialReferenceInfo> ExtendedSpatialReferenceInfo(dymaptic.GeoBlazor.Core.Components.SpatialReference spatialReference, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

spatialReference SpatialReference

The input spatial reference.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<SpatialReferenceInfo>
Resolves to a SpatialReferenceInfo object.

GeometryEngine.FlipHorizontal(Geometry, Point, CancellationToken) Method

Flips a geometry on the horizontal axis. Can optionally be flipped around a point.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry> FlipHorizontal(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, dymaptic.GeoBlazor.Core.Components.Geometries.Point? flipOrigin=null, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry Geometry

The input geometry to be flipped.

flipOrigin Point

Point to flip the geometry around. Defaults to the centroid of the geometry.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Geometry>
The flipped geometry.

GeometryEngine.FlipVertical(Geometry, Point, CancellationToken) Method

Flips a geometry on the vertical axis. Can optionally be flipped around a point.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry> FlipVertical(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, dymaptic.GeoBlazor.Core.Components.Geometries.Point? flipOrigin=null, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry Geometry

The input geometry to be flipped.

flipOrigin Point

Point to flip the geometry around. Defaults to the centroid of the geometry.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Geometry>
The flipped geometry.

GeometryEngine.FromArcGisJson(string, CancellationToken) Method

Creates a new instance of this class and initializes it with values from a JSON object generated from an ArcGIS product. The object passed into the input json parameter often comes from a response to a query operation in the REST API or a toJSON() method from another ArcGIS product. See the

Using

fromJSON()
topic in the Guide for details and examples of when and how to use this function.
public System.Threading.Tasks.Task<T> FromArcGisJson<T>(string json, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken))
    where T : dymaptic.GeoBlazor.Core.Components.Geometries.Geometry;

Type parameters

T

Parameters

json System.String

A JSON representation of the instance in the ArcGIS format. See the

ArcGIS

REST API documentation
for examples of the structure of various input JSON objects.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<T>
Returns a new geometry instance.

GeometryEngine.Generalize(Geometry, double, Nullable, Nullable, CancellationToken) Method

Performs the generalize operation on the geometries in the cursor. Point and Multipoint geometries are left unchanged. Envelope is converted to a Polygon and then generalized.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry?> Generalize(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, double maxDeviation, System.Nullable<bool> removeDegenerateParts=null, System.Nullable<dymaptic.GeoBlazor.Core.Enums.GeometryEngineLinearUnit> maxDeviationUnit=null, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry Geometry

The input geometry to be generalized.

maxDeviation System.Double

The maximum allowed deviation from the generalized geometry to the original geometry.

removeDegenerateParts System.Nullable<System.Boolean>

When true the degenerate parts of the geometry will be removed from the output (may be undesired for drawing).

maxDeviationUnit System.Nullable<GeometryEngineLinearUnit>

Measurement unit for maxDeviation. Defaults to the units of the input geometry.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Geometry>
The generalized geometry.

GeometryEngine.GeodesicArea(Polygon, Nullable, CancellationToken) Method

Calculates the area of the input geometry. As opposed to planarArea(), geodesicArea takes into account the curvature of the earth when performing this calculation. Therefore, when using input geometries with a spatial reference of either WGS84 (wkid: 4326) or Web Mercator, it is best practice to calculate areas using geodesicArea(). If the input geometries have a projected coordinate system other than Web Mercator, use planarArea() instead.

public System.Threading.Tasks.Task<double> GeodesicArea(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon geometry, System.Nullable<dymaptic.GeoBlazor.Core.Enums.GeometryEngineAreaUnit> unit=null, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry Polygon

The input polygon

unit System.Nullable<GeometryEngineAreaUnit>

Measurement unit of the return value. Defaults to the units of the input geometries.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<System.Double>
Area of the input geometry.

Remarks

This method only works with WGS84 (wkid: 4326) and Web Mercator spatial references.

GeometryEngine.GeodesicBuffer(Geometry, double, Nullable, CancellationToken) Method

Creates geodesic buffer polygons at a specified distance around the input geometries. When calculating distances, this method takes the curvature of the earth into account, which provides highly accurate results when dealing with very large geometries and/or geometries that spatially vary on a global scale where one projected coordinate system could not accurately plot coordinates and measure distances for all the geometries.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Polygon?> GeodesicBuffer(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, double distance, System.Nullable<dymaptic.GeoBlazor.Core.Enums.GeometryEngineLinearUnit> unit, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry Geometry

The buffer input geometry

distance System.Double

The specified distance for buffering.

unit System.Nullable<GeometryEngineLinearUnit>

Measurement unit of the distance. Defaults to the units of the input geometry.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Polygon>
The resulting buffers

Remarks

This method only works with WGS84 (wkid: 4326) and Web Mercator spatial references. In general, if your input geometries are assigned one of those two spatial references, you should always use geodesicBuffer() to obtain the most accurate results for those geometries. If needing to buffer points assigned a projected coordinate system other than Web Mercator, use buffer() instead. If the input geometries have a geographic coordinate system other than WGS84 (wkid: 4326), use geometryService.buffer().

GeometryEngine.GeodesicBuffer(Geometry, double, CancellationToken) Method

Creates geodesic buffer polygons at a specified distance around the input geometries. When calculating distances, this method takes the curvature of the earth into account, which provides highly accurate results when dealing with very large geometries and/or geometries that spatially vary on a global scale where one projected coordinate system could not accurately plot coordinates and measure distances for all the geometries.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Polygon?> GeodesicBuffer(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, double distance, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry Geometry

The buffer input geometry

distance System.Double

The specified distance for buffering.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Polygon>
The resulting buffers

Remarks

This method only works with WGS84 (wkid: 4326) and Web Mercator spatial references. In general, if your input geometries are assigned one of those two spatial references, you should always use geodesicBuffer() to obtain the most accurate results for those geometries. If needing to buffer points assigned a projected coordinate system other than Web Mercator, use buffer() instead. If the input geometries have a geographic coordinate system other than WGS84 (wkid: 4326), use geometryService.buffer().

GeometryEngine.GeodesicBuffer(IEnumerable, IEnumerable, Nullable, Nullable, CancellationToken) Method

Creates geodesic buffer polygons at a specified distance around the input geometries. When calculating distances, this method takes the curvature of the earth into account, which provides highly accurate results when dealing with very large geometries and/or geometries that spatially vary on a global scale where one projected coordinate system could not accurately plot coordinates and measure distances for all the geometries.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Polygon[]> GeodesicBuffer(System.Collections.Generic.IEnumerable<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry> geometries, System.Collections.Generic.IEnumerable<double> distances, System.Nullable<dymaptic.GeoBlazor.Core.Enums.GeometryEngineLinearUnit> unit, System.Nullable<bool> unionResults, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometries System.Collections.Generic.IEnumerable<Geometry>

The buffer input geometries

distances System.Collections.Generic.IEnumerable<System.Double>

The specified distance(s) for buffering. The length of the geometry array does not have to equal the length of the distance array. For example, if you pass an array of four geometries: [g1, g2, g3, g4] and an array with one distance: [d1], all four geometries will be buffered by the single distance value. If instead you use an array of three distances: [d1, d2, d3], g1 will be buffered by d1, g2 by d2, and g3 and g4 will both be buffered by d3. The value of the geometry array will be matched one to one with those in the distance array until the final value of the distance array is reached, in which case that value will be applied to the remaining geometries.

unit System.Nullable<GeometryEngineLinearUnit>

Measurement unit of the distance(s). Defaults to the units of the input geometries.

unionResults System.Nullable<System.Boolean>

Determines whether the output geometries should be unioned into a single polygon.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Polygon[]>
The resulting buffers

Remarks

This method only works with WGS84 (wkid: 4326) and Web Mercator spatial references. In general, if your input geometries are assigned one of those two spatial references, you should always use geodesicBuffer() to obtain the most accurate results for those geometries. If needing to buffer points assigned a projected coordinate system other than Web Mercator, use buffer() instead. If the input geometries have a geographic coordinate system other than WGS84 (wkid: 4326), use geometryService.buffer().

GeometryEngine.GeodesicBuffer(IEnumerable, IEnumerable, Nullable, CancellationToken) Method

Creates geodesic buffer polygons at a specified distance around the input geometries. When calculating distances, this method takes the curvature of the earth into account, which provides highly accurate results when dealing with very large geometries and/or geometries that spatially vary on a global scale where one projected coordinate system could not accurately plot coordinates and measure distances for all the geometries.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Polygon[]> GeodesicBuffer(System.Collections.Generic.IEnumerable<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry> geometries, System.Collections.Generic.IEnumerable<double> distances, System.Nullable<dymaptic.GeoBlazor.Core.Enums.GeometryEngineLinearUnit> unit, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometries System.Collections.Generic.IEnumerable<Geometry>

The buffer input geometries

distances System.Collections.Generic.IEnumerable<System.Double>

The specified distance(s) for buffering. The length of the geometry array does not have to equal the length of the distance array. For example, if you pass an array of four geometries: [g1, g2, g3, g4] and an array with one distance: [d1], all four geometries will be buffered by the single distance value. If instead you use an array of three distances: [d1, d2, d3], g1 will be buffered by d1, g2 by d2, and g3 and g4 will both be buffered by d3. The value of the geometry array will be matched one to one with those in the distance array until the final value of the distance array is reached, in which case that value will be applied to the remaining geometries.

unit System.Nullable<GeometryEngineLinearUnit>

Measurement unit of the distance(s). Defaults to the units of the input geometries.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Polygon[]>
The resulting buffers

Remarks

This method only works with WGS84 (wkid: 4326) and Web Mercator spatial references. In general, if your input geometries are assigned one of those two spatial references, you should always use geodesicBuffer() to obtain the most accurate results for those geometries. If needing to buffer points assigned a projected coordinate system other than Web Mercator, use buffer() instead. If the input geometries have a geographic coordinate system other than WGS84 (wkid: 4326), use geometryService.buffer().

GeometryEngine.GeodesicBuffer(IEnumerable, IEnumerable, CancellationToken) Method

Creates geodesic buffer polygons at a specified distance around the input geometries. When calculating distances, this method takes the curvature of the earth into account, which provides highly accurate results when dealing with very large geometries and/or geometries that spatially vary on a global scale where one projected coordinate system could not accurately plot coordinates and measure distances for all the geometries.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Polygon[]> GeodesicBuffer(System.Collections.Generic.IEnumerable<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry> geometries, System.Collections.Generic.IEnumerable<double> distances, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometries System.Collections.Generic.IEnumerable<Geometry>

The buffer input geometries

distances System.Collections.Generic.IEnumerable<System.Double>

The specified distance(s) for buffering. The length of the geometry array does not have to equal the length of the distance array. For example, if you pass an array of four geometries: [g1, g2, g3, g4] and an array with one distance: [d1], all four geometries will be buffered by the single distance value. If instead you use an array of three distances: [d1, d2, d3], g1 will be buffered by d1, g2 by d2, and g3 and g4 will both be buffered by d3. The value of the geometry array will be matched one to one with those in the distance array until the final value of the distance array is reached, in which case that value will be applied to the remaining geometries.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Polygon[]>
The resulting buffers

Remarks

This method only works with WGS84 (wkid: 4326) and Web Mercator spatial references. In general, if your input geometries are assigned one of those two spatial references, you should always use geodesicBuffer() to obtain the most accurate results for those geometries. If needing to buffer points assigned a projected coordinate system other than Web Mercator, use buffer() instead. If the input geometries have a geographic coordinate system other than WGS84 (wkid: 4326), use geometryService.buffer().

GeometryEngine.GeodesicDensify(Geometry, double, Nullable, CancellationToken) Method

Returns a geodesically densified version of the input geometry. Use this function to draw the line(s) of the geometry along great circles.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry?> GeodesicDensify(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, double maxSegmentLength, System.Nullable<dymaptic.GeoBlazor.Core.Enums.GeometryEngineLinearUnit> maxSegmentLengthUnit, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry Geometry

A polyline or polygon to densify.

maxSegmentLength System.Double

The maximum segment length allowed (in meters if a maxSegmentLengthUnit is not provided). This must be a positive value.

maxSegmentLengthUnit System.Nullable<GeometryEngineLinearUnit>

Measurement unit for maxSegmentLength. If not provided, the unit will default to meters.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Geometry>
Returns the densified geometry.

GeometryEngine.GeodesicDensify(Geometry, double, CancellationToken) Method

Returns a geodesically densified version of the input geometry. Use this function to draw the line(s) of the geometry along great circles.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry?> GeodesicDensify(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, double maxSegmentLength, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry Geometry

A polyline or polygon to densify.

maxSegmentLength System.Double

The maximum segment length allowed (in meters if a maxSegmentLengthUnit is not provided). This must be a positive value.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Geometry>
Returns the densified geometry.

GeometryEngine.GeodesicLength(Geometry, Nullable, CancellationToken) Method

Calculates the length of the input geometry. As opposed to planarLength(), geodesicLength() takes into account the curvature of the earth when performing this calculation. Therefore, when using input geometries with a spatial reference of either WGS84 (wkid: 4326) or Web Mercator, it is best practice to calculate lengths using geodesicLength(). If the input geometries have a projected coordinate system other than Web Mercator, use planarLength() instead.

public System.Threading.Tasks.Task<double> GeodesicLength(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, System.Nullable<dymaptic.GeoBlazor.Core.Enums.GeometryEngineLinearUnit> unit=null, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry Geometry

The input geometry.

unit System.Nullable<GeometryEngineLinearUnit>

Measurement unit of the return value. Defaults to the units of the input geometry.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<System.Double>
Length of the input geometry.

Remarks

This method only works with WGS84 (wkid: 4326) and Web Mercator spatial references.

GeometryEngine.GetExtentCenter(Extent, CancellationToken) Method

Retrieves the center point of the extent in map units.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Point?> GetExtentCenter(dymaptic.GeoBlazor.Core.Components.Geometries.Extent extent, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

extent Extent

The extent to measure

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Point>

GeometryEngine.GetExtentHeight(Extent, CancellationToken) Method

Retrieves the height of the extent in map units (the distance between ymin and ymax).

public System.Threading.Tasks.Task<System.Nullable<double>> GetExtentHeight(dymaptic.GeoBlazor.Core.Components.Geometries.Extent extent, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

extent Extent

The extent to measure

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<System.Nullable<System.Double>>

GeometryEngine.GetExtentWidth(Extent, CancellationToken) Method

Retrieves the width of the extent in map units (the distance between xmin and xmax).

public System.Threading.Tasks.Task<System.Nullable<double>> GetExtentWidth(dymaptic.GeoBlazor.Core.Components.Geometries.Extent extent, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

extent Extent

The extent to measure

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<System.Nullable<System.Double>>

GeometryEngine.GetPoint(Polygon, int, int, CancellationToken) Method

Returns a point specified by a ring and point in the ring.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Point> GetPoint(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon polygon, int ringIndex, int pointIndex, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

polygon Polygon

The polygon to get the point from.

ringIndex System.Int32

The index of the ring containing the desired point.

pointIndex System.Int32

The index of the desired point within the ring.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Point>
Returns the point at the specified ring index and point index.

GeometryEngine.GetPoint(Polyline, int, int, CancellationToken) Method

Returns a point specified by a path and point in the path.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Point> GetPoint(dymaptic.GeoBlazor.Core.Components.Geometries.Polyline polyline, int pathIndex, int pointIndex, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

polyline Polyline

The polyline to get the point from.

pathIndex System.Int32

The index of the path in the polyline.

pointIndex System.Int32

The index of the point in the path.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Point>
Returns the point along the Polyline located in the given path and point indices.

GeometryEngine.InsertPoint(Polygon, int, int, Point, CancellationToken) Method

Inserts a new point into the polygon.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Polygon> InsertPoint(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon polygon, int ringIndex, int pointIndex, dymaptic.GeoBlazor.Core.Components.Geometries.Point point, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

polygon Polygon

The polygon to insert the point into.

ringIndex System.Int32

The index of the ring in which to insert the point.

pointIndex System.Int32

The index of the point to insert within the ring.

point Point

The point to insert into the polygon.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Polygon>
Returns a new polygon with the inserted point.

GeometryEngine.InsertPoint(Polyline, int, int, Point, CancellationToken) Method

Inserts a new point into a polyline and returns the modified line.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Polyline> InsertPoint(dymaptic.GeoBlazor.Core.Components.Geometries.Polyline polyline, int pathIndex, int pointIndex, dymaptic.GeoBlazor.Core.Components.Geometries.Point point, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

polyline Polyline

The polyline to insert the point into.

pathIndex System.Int32

The index of the path in which to insert a point.

pointIndex System.Int32

The index of the inserted point in the path.

point Point

The point to insert into the polyline.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Polyline>
Returns a new polyline with the inserted point.

GeometryEngine.Intersect(Geometry, Geometry, CancellationToken) Method

Creates new geometries from the intersections between two geometries. If the input geometries have different dimensions (i.e. point = 0; polyline = 1; polygon = 2), then the result's dimension will be equal to the lowest dimension of the inputs.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry?> Intersect(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry1, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry2, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry1 Geometry

The input geometry.

geometry2 Geometry

The geometry to intersect with geometry1.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Geometry>
The intersections of the geometries.

GeometryEngine.Intersect(IEnumerable, Geometry, CancellationToken) Method

Creates new geometries from the intersections between two geometries. If the input geometries have different dimensions (i.e. point = 0; polyline = 1; polygon = 2), then the result's dimension will be equal to the lowest dimension of the inputs. The table below describes the expected output for various combinations of geometry types.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry[]> Intersect(System.Collections.Generic.IEnumerable<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry> geometries1, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry2, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometries1 System.Collections.Generic.IEnumerable<Geometry>

The input array of geometries.

geometry2 Geometry

The geometry to intersect with geometries1.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Geometry[]>
The intersections of the geometries.

GeometryEngine.Intersects(Geometry, Geometry, CancellationToken) Method

Indicates if one geometry intersects another geometry.

public System.Threading.Tasks.Task<bool> Intersects(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry1, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry2, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry1 Geometry

The geometry that is tested for the intersects relationship to the other geometry.

geometry2 Geometry

The geometry being intersected.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<System.Boolean>
Returns true if the input geometries intersect each other.

GeometryEngine.IsClockwise(Polygon, Point[], CancellationToken) Method

Checks if a Polygon ring is clockwise

public System.Threading.Tasks.Task<bool> IsClockwise(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon polygon, dymaptic.GeoBlazor.Core.Components.Geometries.Point[] ring, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

polygon Polygon

The polygon to check the ring on.

ring Point[]

A polygon ring defined as an array of Points. The first and last coordinates/points in the ring must be the same.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<System.Boolean>
Returns true if the ring is clockwise and false for counterclockwise.

GeometryEngine.IsClockwise(Polygon, MapPath, CancellationToken) Method

Checks if a Polygon ring is clockwise

public System.Threading.Tasks.Task<bool> IsClockwise(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon polygon, dymaptic.GeoBlazor.Core.Model.MapPath ring, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

polygon Polygon

The polygon to check the ring on.

ring MapPath

A polygon ring defined as a MapPath. The first and last coordinates/points in the ring must be the same.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<System.Boolean>
Returns true if the ring is clockwise and false for counterclockwise.

GeometryEngine.IsSimple(Geometry, CancellationToken) Method

Indicates if the given geometry is topologically simple. In a simplified geometry, no polygon rings or polyline paths will overlap, and no self-intersection will occur.

public System.Threading.Tasks.Task<bool> IsSimple(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry Geometry

The input geometry.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<System.Boolean>
Returns true if the geometry is topologically simple.

GeometryEngine.NearestCoordinate(Geometry, Point, CancellationToken) Method

Finds the coordinate of the geometry that is closest to the specified point.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Results.ProximityResult> NearestCoordinate(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, dymaptic.GeoBlazor.Core.Components.Geometries.Point inputPoint, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry Geometry

The geometry to consider.

inputPoint Point

The point used to search the nearest coordinate in the geometry.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<ProximityResult>
Returns an object containing the nearest coordinate.

GeometryEngine.NearestVertex(Geometry, Point, CancellationToken) Method

Finds the vertex on the geometry nearest to the specified point.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Results.ProximityResult> NearestVertex(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, dymaptic.GeoBlazor.Core.Components.Geometries.Point inputPoint, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry Geometry

The geometry to consider.

inputPoint Point

The point used to search the nearest vertex in the geometry.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<ProximityResult>
Returns an object containing the nearest vertex.

GeometryEngine.NearestVertices(Geometry, Point, double, int, CancellationToken) Method

Finds all vertices in the given distance from the specified point, sorted from the closest to the furthest and returns them as an array of Objects.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Results.ProximityResult[]> NearestVertices(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, dymaptic.GeoBlazor.Core.Components.Geometries.Point inputPoint, double searchRadius, int maxVertexCountToReturn, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry Geometry

The geometry to consider.

inputPoint Point

The point from which to measure.

searchRadius System.Double

The distance to search from the inputPoint in the units of the view's spatial reference.

maxVertexCountToReturn System.Int32

The maximum number of vertices to return.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<ProximityResult[]>
An array of objects containing the nearest vertices within the given searchRadius.

GeometryEngine.NormalizeExtent(Extent, CancellationToken) Method

Returns an array with either one Extent that's been shifted to within +/- 180 or two Extents if the original extent intersects the International Dateline.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Extent[]> NormalizeExtent(dymaptic.GeoBlazor.Core.Components.Geometries.Extent extent, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

extent Extent

The input extent.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Extent[]>
An array with either one Extent that's been shifted to within +/- 180 or two Extents if the original extent intersects the International Dateline.

GeometryEngine.NormalizePoint(Point, CancellationToken) Method

Modifies the point geometry in-place by shifting the X-coordinate to within +/- 180 span in map units.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Point> NormalizePoint(dymaptic.GeoBlazor.Core.Components.Geometries.Point point, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

point Point

The input point.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Point>
Returns a point with a normalized x-value.

GeometryEngine.Offset(Geometry, double, Nullable, Nullable, Nullable, Nullable, CancellationToken) Method

The offset operation creates a geometry that is a constant planar distance from an input polyline or polygon. It is similar to buffering, but produces a one-sided result. Point and multipoint geometries are not supported.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry?> Offset(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, double offsetDistance, System.Nullable<dymaptic.GeoBlazor.Core.Enums.GeometryEngineLinearUnit> offsetUnit, System.Nullable<dymaptic.GeoBlazor.Core.Enums.JoinType> joinType, System.Nullable<double> miterLimit, System.Nullable<double> flattenError, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry Geometry

The geometry to offset.

offsetDistance System.Double

The distance to offset the input geometry. Unless the unit option is set, the default is the geometry's spatial reference unit.

offsetUnit System.Nullable<GeometryEngineLinearUnit>

The length unit of the offset distance. The default is the input geometries spatial reference unit. An error will be thrown if this is set for Geographic Coordinate Systems.

joinType System.Nullable<JoinType>

The JoinType. Defines the join type of the offset geometry. Inner corners are always mitered. Default value: "round" - Round - a circular arc that is tangent to the ends of both offset line segments. - Miter - the offset line segments are extended to their intersection point forming a sharp angle, unless that extension exceeds the miterLimit, in which case the result is a bevel. - Bevel - the offset line segments are not extended; their endpoints are joined by a straight line. - Square - same as miter for minor arcs greater than 90 degrees. For all other minor arcs, the offset line segments are extended by an extra distance before their endpoints are joined.

miterLimit System.Nullable<System.Double>

Applicable only to mitered joins. Controls the appearance of angled lines to avoid excessively long and pointy corners. The miterLimit is multiplied by the offset distance and the result is the maximum mitered offset: joins which would result in a larger mitered offset will be beveled instead.

flattenError System.Nullable<System.Double>

The maximum distance of the resulting segments compared to the true circular arc (used only when joins is round). The algorithm never produces more than around 180 vertices for each round join.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Geometry>
The offset geometry.

GeometryEngine.Offset(Geometry, double, Nullable, Nullable, Nullable, CancellationToken) Method

The offset operation creates a geometry that is a constant planar distance from an input polyline or polygon. It is similar to buffering, but produces a one-sided result. Point and multipoint geometries are not supported.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry?> Offset(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, double offsetDistance, System.Nullable<dymaptic.GeoBlazor.Core.Enums.GeometryEngineLinearUnit> offsetUnit, System.Nullable<dymaptic.GeoBlazor.Core.Enums.JoinType> joinType, System.Nullable<double> miterLimit, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry Geometry

The geometry to offset.

offsetDistance System.Double

The distance to offset the input geometry. Unless the unit option is set, the default is the geometry's spatial reference unit.

offsetUnit System.Nullable<GeometryEngineLinearUnit>

The length unit of the offset distance. The default is the input geometries spatial reference unit. An error will be thrown if this is set for Geographic Coordinate Systems.

joinType System.Nullable<JoinType>

The JoinType. Defines the join type of the offset geometry. Inner corners are always mitered. Default value: "round" - Round - a circular arc that is tangent to the ends of both offset line segments. - Miter - the offset line segments are extended to their intersection point forming a sharp angle, unless that extension exceeds the miterLimit, in which case the result is a bevel. - Bevel - the offset line segments are not extended; their endpoints are joined by a straight line. - Square - same as miter for minor arcs greater than 90 degrees. For all other minor arcs, the offset line segments are extended by an extra distance before their endpoints are joined.

miterLimit System.Nullable<System.Double>

Applicable only to mitered joins. Controls the appearance of angled lines to avoid excessively long and pointy corners. The miterLimit is multiplied by the offset distance and the result is the maximum mitered offset: joins which would result in a larger mitered offset will be beveled instead.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Geometry>
The offset geometry.

GeometryEngine.Offset(Geometry, double, Nullable, Nullable, CancellationToken) Method

The offset operation creates a geometry that is a constant planar distance from an input polyline or polygon. It is similar to buffering, but produces a one-sided result. Point and multipoint geometries are not supported.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry?> Offset(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, double offsetDistance, System.Nullable<dymaptic.GeoBlazor.Core.Enums.GeometryEngineLinearUnit> offsetUnit, System.Nullable<dymaptic.GeoBlazor.Core.Enums.JoinType> joinType, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry Geometry

The geometry to offset.

offsetDistance System.Double

The distance to offset the input geometry. Unless the unit option is set, the default is the geometry's spatial reference unit.

offsetUnit System.Nullable<GeometryEngineLinearUnit>

The length unit of the offset distance. The default is the input geometries spatial reference unit. An error will be thrown if this is set for Geographic Coordinate Systems.

joinType System.Nullable<JoinType>

The JoinType. Defines the join type of the offset geometry. Inner corners are always mitered. Default value: "round" - Round - a circular arc that is tangent to the ends of both offset line segments. - Miter - the offset line segments are extended to their intersection point forming a sharp angle, unless that extension exceeds the miterLimit, in which case the result is a bevel. - Bevel - the offset line segments are not extended; their endpoints are joined by a straight line. - Square - same as miter for minor arcs greater than 90 degrees. For all other minor arcs, the offset line segments are extended by an extra distance before their endpoints are joined.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Geometry>
The offset geometry.

GeometryEngine.Offset(Geometry, double, Nullable, CancellationToken) Method

The offset operation creates a geometry that is a constant planar distance from an input polyline or polygon. It is similar to buffering, but produces a one-sided result. Point and multipoint geometries are not supported.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry?> Offset(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, double offsetDistance, System.Nullable<dymaptic.GeoBlazor.Core.Enums.GeometryEngineLinearUnit> offsetUnit, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry Geometry

The geometry to offset.

offsetDistance System.Double

The distance to offset the input geometry. Unless the unit option is set, the default is the geometry's spatial reference unit.

offsetUnit System.Nullable<GeometryEngineLinearUnit>

The length unit of the offset distance. The default is the input geometries spatial reference unit. An error will be thrown if this is set for Geographic Coordinate Systems.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Geometry>
The offset geometry.

GeometryEngine.Offset(Geometry, double, CancellationToken) Method

The offset operation creates a geometry that is a constant planar distance from an input polyline or polygon. It is similar to buffering, but produces a one-sided result. Point and multipoint geometries are not supported.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry?> Offset(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, double offsetDistance, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry Geometry

The geometry to offset.

offsetDistance System.Double

The distance to offset the input geometry. Unless the unit option is set, the default is the geometry's spatial reference unit.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Geometry>
The offset geometry.

GeometryEngine.Offset(IEnumerable, double, Nullable, Nullable, Nullable, Nullable, CancellationToken) Method

The offset operation creates a geometry that is a constant planar distance from an input polyline or polygon. It is similar to buffering, but produces a one-sided result. Point and multipoint geometries are not supported.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry?[]> Offset(System.Collections.Generic.IEnumerable<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry> geometries, double offsetDistance, System.Nullable<dymaptic.GeoBlazor.Core.Enums.GeometryEngineLinearUnit> offsetUnit, System.Nullable<dymaptic.GeoBlazor.Core.Enums.JoinType> joinType, System.Nullable<double> miterLimit, System.Nullable<double> flattenError, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometries System.Collections.Generic.IEnumerable<Geometry>

The geometries to offset.

offsetDistance System.Double

The distance to offset the input geometry. Unless the unit option is set, the default is the geometry's spatial reference unit.

offsetUnit System.Nullable<GeometryEngineLinearUnit>

The length unit of the offset distance. The default is the input geometries spatial reference unit. An error will be thrown if this is set for Geographic Coordinate Systems.

joinType System.Nullable<JoinType>

The JoinType. Defines the join type of the offset geometry. Inner corners are always mitered. Default value: "round" - Round - a circular arc that is tangent to the ends of both offset line segments. - Miter - the offset line segments are extended to their intersection point forming a sharp angle, unless that extension exceeds the miterLimit, in which case the result is a bevel. - Bevel - the offset line segments are not extended; their endpoints are joined by a straight line. - Square - same as miter for minor arcs greater than 90 degrees. For all other minor arcs, the offset line segments are extended by an extra distance before their endpoints are joined.

miterLimit System.Nullable<System.Double>

Applicable only to mitered joins. Controls the appearance of angled lines to avoid excessively long and pointy corners. The miterLimit is multiplied by the offset distance and the result is the maximum mitered offset: joins which would result in a larger mitered offset will be beveled instead.

flattenError System.Nullable<System.Double>

The maximum distance of the resulting segments compared to the true circular arc (used only when joins is round). The algorithm never produces more than around 180 vertices for each round join.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Geometry[]>
The offset geometries.

GeometryEngine.Offset(IEnumerable, double, Nullable, Nullable, Nullable, CancellationToken) Method

The offset operation creates a geometry that is a constant planar distance from an input polyline or polygon. It is similar to buffering, but produces a one-sided result. Point and multipoint geometries are not supported.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry?[]> Offset(System.Collections.Generic.IEnumerable<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry> geometries, double offsetDistance, System.Nullable<dymaptic.GeoBlazor.Core.Enums.GeometryEngineLinearUnit> offsetUnit, System.Nullable<dymaptic.GeoBlazor.Core.Enums.JoinType> joinType, System.Nullable<double> miterLimit, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometries System.Collections.Generic.IEnumerable<Geometry>

The geometries to offset.

offsetDistance System.Double

The distance to offset the input geometry. Unless the unit option is set, the default is the geometry's spatial reference unit.

offsetUnit System.Nullable<GeometryEngineLinearUnit>

The length unit of the offset distance. The default is the input geometries spatial reference unit. An error will be thrown if this is set for Geographic Coordinate Systems.

joinType System.Nullable<JoinType>

The JoinType. Defines the join type of the offset geometry. Inner corners are always mitered. Default value: "round" - Round - a circular arc that is tangent to the ends of both offset line segments. - Miter - the offset line segments are extended to their intersection point forming a sharp angle, unless that extension exceeds the miterLimit, in which case the result is a bevel. - Bevel - the offset line segments are not extended; their endpoints are joined by a straight line. - Square - same as miter for minor arcs greater than 90 degrees. For all other minor arcs, the offset line segments are extended by an extra distance before their endpoints are joined.

miterLimit System.Nullable<System.Double>

Applicable only to mitered joins. Controls the appearance of angled lines to avoid excessively long and pointy corners. The miterLimit is multiplied by the offset distance and the result is the maximum mitered offset: joins which would result in a larger mitered offset will be beveled instead.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Geometry[]>
The offset geometries.

GeometryEngine.Offset(IEnumerable, double, Nullable, Nullable, CancellationToken) Method

The offset operation creates a geometry that is a constant planar distance from an input polyline or polygon. It is similar to buffering, but produces a one-sided result. Point and multipoint geometries are not supported.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry?[]> Offset(System.Collections.Generic.IEnumerable<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry> geometries, double offsetDistance, System.Nullable<dymaptic.GeoBlazor.Core.Enums.GeometryEngineLinearUnit> offsetUnit, System.Nullable<dymaptic.GeoBlazor.Core.Enums.JoinType> joinType, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometries System.Collections.Generic.IEnumerable<Geometry>

The geometries to offset.

offsetDistance System.Double

The distance to offset the input geometry. Unless the unit option is set, the default is the geometry's spatial reference unit.

offsetUnit System.Nullable<GeometryEngineLinearUnit>

The length unit of the offset distance. The default is the input geometries spatial reference unit. An error will be thrown if this is set for Geographic Coordinate Systems.

joinType System.Nullable<JoinType>

The JoinType. Defines the join type of the offset geometry. Inner corners are always mitered. Default value: "round" - Round - a circular arc that is tangent to the ends of both offset line segments. - Miter - the offset line segments are extended to their intersection point forming a sharp angle, unless that extension exceeds the miterLimit, in which case the result is a bevel. - Bevel - the offset line segments are not extended; their endpoints are joined by a straight line. - Square - same as miter for minor arcs greater than 90 degrees. For all other minor arcs, the offset line segments are extended by an extra distance before their endpoints are joined.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Geometry[]>
The offset geometries.

GeometryEngine.Offset(IEnumerable, double, Nullable, CancellationToken) Method

The offset operation creates a geometry that is a constant planar distance from an input polyline or polygon. It is similar to buffering, but produces a one-sided result. Point and multipoint geometries are not supported.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry?[]> Offset(System.Collections.Generic.IEnumerable<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry> geometries, double offsetDistance, System.Nullable<dymaptic.GeoBlazor.Core.Enums.GeometryEngineLinearUnit> offsetUnit, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometries System.Collections.Generic.IEnumerable<Geometry>

The geometries to offset.

offsetDistance System.Double

The distance to offset the input geometry. Unless the unit option is set, the default is the geometry's spatial reference unit.

offsetUnit System.Nullable<GeometryEngineLinearUnit>

The length unit of the offset distance. The default is the input geometries spatial reference unit. An error will be thrown if this is set for Geographic Coordinate Systems.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Geometry[]>
The offset geometries.

GeometryEngine.Offset(IEnumerable, double, CancellationToken) Method

The offset operation creates a geometry that is a constant planar distance from an input polyline or polygon. It is similar to buffering, but produces a one-sided result. Point and multipoint geometries are not supported.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry?[]> Offset(System.Collections.Generic.IEnumerable<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry> geometries, double offsetDistance, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometries System.Collections.Generic.IEnumerable<Geometry>

The geometries to offset.

offsetDistance System.Double

The distance to offset the input geometry. Unless the unit option is set, the default is the geometry's spatial reference unit.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Geometry[]>
The offset geometries.

GeometryEngine.OffsetExtent(Extent, double, double, double, CancellationToken) Method

Modifies the extent geometry in-place with X and Y offsets in map units.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Extent> OffsetExtent(dymaptic.GeoBlazor.Core.Components.Geometries.Extent extent, double dx, double dy, double dz=0.0, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

extent Extent

The input extent.

dx System.Double

The offset distance in map units for the X-coordinate.

dy System.Double

The offset distance in map units for the Y-coordinate.

dz System.Double

The offset distance in map units for the Z-coordinate.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Extent>

GeometryEngine.Overlaps(Geometry, Geometry, CancellationToken) Method

Indicates if one geometry overlaps another geometry.

public System.Threading.Tasks.Task<bool> Overlaps(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry1, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry2, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry1 Geometry

The base geometry that is tested for the "overlaps" relationship with the other geometry.

geometry2 Geometry

The comparison geometry that is tested for the "overlaps" relationship with the other geometry.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<System.Boolean>
Returns true if the two geometries overlap.

GeometryEngine.PlanarArea(Polygon, Nullable, CancellationToken) Method

Calculates the area of the input geometry. As opposed to geodesicArea(), planarArea() performs this calculation using projected coordinates and does not take into account the earth's curvature. When using input geometries with a spatial reference of either WGS84 (wkid: 4326) or Web Mercator, it is best practice to calculate areas using geodesicArea(). If the input geometries have a projected coordinate system other than Web Mercator, use planarArea() instead.

public System.Threading.Tasks.Task<double> PlanarArea(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon geometry, System.Nullable<dymaptic.GeoBlazor.Core.Enums.GeometryEngineAreaUnit> unit, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry Polygon

The input polygon.

unit System.Nullable<GeometryEngineAreaUnit>

Measurement unit of the return value. Defaults to the units of the input geometries.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<System.Double>
The area of the input geometry.

GeometryEngine.PlanarArea(Polygon, CancellationToken) Method

Calculates the area of the input geometry. As opposed to geodesicArea(), planarArea() performs this calculation using projected coordinates and does not take into account the earth's curvature. When using input geometries with a spatial reference of either WGS84 (wkid: 4326) or Web Mercator, it is best practice to calculate areas using geodesicArea(). If the input geometries have a projected coordinate system other than Web Mercator, use planarArea() instead.

public System.Threading.Tasks.Task<double> PlanarArea(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon geometry, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry Polygon

The input polygon.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<System.Double>

GeometryEngine.PlanarLength(Geometry, Nullable, CancellationToken) Method

Calculates the length of the input geometry. As opposed to geodesicLength(), planarLength() uses projected coordinates and does not take into account the curvature of the earth when performing this calculation. When using input geometries with a spatial reference of either WGS84 (wkid: 4326) or Web Mercator, it is best practice to calculate lengths using geodesicLength(). If the input geometries have a projected coordinate system other than Web Mercator, use planarLength() instead.

public System.Threading.Tasks.Task<double> PlanarLength(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, System.Nullable<dymaptic.GeoBlazor.Core.Enums.GeometryEngineLinearUnit> unit, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry Geometry

The input geometry.

unit System.Nullable<GeometryEngineLinearUnit>

Measurement unit of the return value. Defaults to the units of the input geometries.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<System.Double>
The length of the input geometry.

GeometryEngine.PlanarLength(Geometry, CancellationToken) Method

Calculates the length of the input geometry. As opposed to geodesicLength(), planarLength() uses projected coordinates and does not take into account the curvature of the earth when performing this calculation. When using input geometries with a spatial reference of either WGS84 (wkid: 4326) or Web Mercator, it is best practice to calculate lengths using geodesicLength(). If the input geometries have a projected coordinate system other than Web Mercator, use planarLength() instead.

public System.Threading.Tasks.Task<double> PlanarLength(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry Geometry

The input geometry.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<System.Double>
The length of the input geometry.

GeometryEngine.PolygonFromExtent(Extent, CancellationToken) Method

Converts the given Extent to a Polygon instance. This is useful for scenarios in which you would like to display an area of interest, which is typically defined by an Extent or bounding box, as a polygon with a fill symbol in the view. Some geoprocessing tools require input geometries to be of a Polygon type and not an Extent.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Polygon> PolygonFromExtent(dymaptic.GeoBlazor.Core.Components.Geometries.Extent extent, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

extent Extent

An extent object to convert to a polygon.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Polygon>
A polygon instance representing the given extent.

GeometryEngine.Relate(Geometry, Geometry, string, CancellationToken) Method

Indicates if the given DE-9IM relation is true for the two geometries.

public System.Threading.Tasks.Task<bool> Relate(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry1, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry2, string relation, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry1 Geometry

The first geometry for the relation.

geometry2 Geometry

The second geometry for the relation.

relation System.String

The Dimensionally Extended 9 Intersection Model (DE-9IM) matrix relation (encoded as a string) to test against the relationship of the two geometries. This string contains the test result of each intersection represented in the DE-9IM matrix. Each result is one character of the string and may be represented as either a number (maximum dimension returned: 0,1,2), a Boolean value (T or F), or a mask character (for ignoring results: ''). For example, each of the following DE-9IM string codes are valid for testing whether a polygon geometry completely contains a line geometry: TTTFFTFFT (Boolean), 'T*****FF*' (ignore irrelevant intersections), or '102FFFF' (dimension form). Each returns the same result. See this article and

this

ArcGIS help page
for more information about the DE-9IM model and how string codes are constructed.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<System.Boolean>
Returns true if the relation of the input geometries is accurate.

GeometryEngine.RemovePath(Polyline, int, CancellationToken) Method

Removes a path from the Polyline. The index specifies which path to remove.

public System.Threading.Tasks.Task<(dymaptic.GeoBlazor.Core.Components.Geometries.Polyline PolyLine,dymaptic.GeoBlazor.Core.Components.Geometries.Point[] Path)> RemovePath(dymaptic.GeoBlazor.Core.Components.Geometries.Polyline polyline, int index, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

polyline Polyline

The polyline to remove the path from.

index System.Int32

The index of the path to remove.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<<Polyline,Point[]>>
Returns an object with the modified polyline and the removed path.

GeometryEngine.RemovePoint(Polygon, int, int, CancellationToken) Method

Removes a point from the polygon at the given pointIndex within the ring identified by the given ringIndex.

public System.Threading.Tasks.Task<(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon Polygon,dymaptic.GeoBlazor.Core.Components.Geometries.Point Point)> RemovePoint(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon polygon, int ringIndex, int pointIndex, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

polygon Polygon

The polyline to remove the point from.

ringIndex System.Int32

The index of the ring containing the point to remove.

pointIndex System.Int32

The index of the point to remove within the ring.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<<Polygon,Point>>
Returns an object with the modified polygon and the removed point.

GeometryEngine.RemovePoint(Polyline, int, int, CancellationToken) Method

Removes a point from the polyline at the given pointIndex within the path identified by the given pathIndex.

public System.Threading.Tasks.Task<(dymaptic.GeoBlazor.Core.Components.Geometries.Polyline Polyline,dymaptic.GeoBlazor.Core.Components.Geometries.Point Point)> RemovePoint(dymaptic.GeoBlazor.Core.Components.Geometries.Polyline polyline, int pathIndex, int pointIndex, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

polyline Polyline

The polyline to remove the point from.

pathIndex System.Int32

The index of the path in which to remove a point.

pointIndex System.Int32

The index of the point in the path to remove.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<<Polyline,Point>>
Returns an object with the modified polyline and the removed point.

GeometryEngine.RemoveRing(Polygon, int, CancellationToken) Method

Removes a ring from the Polygon. The index specifies which ring to remove.

public System.Threading.Tasks.Task<(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon Polygon,dymaptic.GeoBlazor.Core.Components.Geometries.Point[] Ring)> RemoveRing(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon polygon, int index, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

polygon Polygon

The polygon to remove the ring from.

index System.Int32

The index of the ring to remove.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<<Polygon,Point[]>>
Returns an object with the modified polygon and the removed ring.

GeometryEngine.Rotate(Geometry, double, Point, CancellationToken) Method

Rotates a geometry counterclockwise by the specified number of degrees. Rotation is around the given rotation point, or the centroid if not specified.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry> Rotate(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, double angle, dymaptic.GeoBlazor.Core.Components.Geometries.Point? rotationOrigin, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry Geometry

The geometry to rotate.

angle System.Double

The rotation angle in degrees.

rotationOrigin Point

Point to rotate the geometry around. Defaults to the centroid of the geometry.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Geometry>
The rotated geometry.

GeometryEngine.SetPoint(Polygon, int, int, Point, CancellationToken) Method

Updates a point in a polygon and returns the modified polygon.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Polygon> SetPoint(dymaptic.GeoBlazor.Core.Components.Geometries.Polygon polygon, int ringIndex, int pointIndex, dymaptic.GeoBlazor.Core.Components.Geometries.Point point, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

polygon Polygon

The polygon to update the point in.

ringIndex System.Int32

The index of the ring containing the point to update.

pointIndex System.Int32

The index of the point to update within the ring.

point Point

The new point to update the polygon with.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Polygon>
Returns a new polygon with the updated point.

GeometryEngine.SetPoint(Polyline, int, int, Point, CancellationToken) Method

Updates a point in a polyline and returns the modified polyline.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Polyline> SetPoint(dymaptic.GeoBlazor.Core.Components.Geometries.Polyline polyline, int pathIndex, int pointIndex, dymaptic.GeoBlazor.Core.Components.Geometries.Point point, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

polyline Polyline

The polyline to update the point in.

pathIndex System.Int32

The index of the path in which to update a point.

pointIndex System.Int32

The index of the point in the path to update.

point Point

The new point to update the polyline with.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Polyline>
Returns a new polyline with the updated point.

GeometryEngine.Simplify(Geometry, CancellationToken) Method

Performs the simplify operation on the geometry, which alters the given geometries to make their definitions topologically legal with respect to their geometry type. At the end of a simplify operation, no polygon rings or polyline paths will overlap, and no self-intersection will occur.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry?> Simplify(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry Geometry

The geometry to be simplified.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Geometry>
The simplified geometry.

GeometryEngine.SymmetricDifference(Geometry, Geometry, CancellationToken) Method

Creates the symmetric difference of two geometries. The symmetric difference includes the parts that are in either of the sets, but not in both.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry> SymmetricDifference(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry leftGeometry, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry rightGeometry, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

leftGeometry Geometry

One of the Geometry instances in the XOR operation.

rightGeometry Geometry

One of the Geometry instances in the XOR operation.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Geometry>
The symmetric differences of the two geometries.

GeometryEngine.SymmetricDifference(IEnumerable, Geometry, CancellationToken) Method

Creates the symmetric difference of two geometries. The symmetric difference includes the parts that are in either of the sets, but not in both.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry[]> SymmetricDifference(System.Collections.Generic.IEnumerable<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry> leftGeometries, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry rightGeometry, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

leftGeometries System.Collections.Generic.IEnumerable<Geometry>

One of the Geometry instances in the XOR operation.

rightGeometry Geometry

One of the Geometry instances in the XOR operation.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Geometry[]>
The symmetric differences of the two geometries.

GeometryEngine.ToArcGisJson(T, CancellationToken) Method

Converts an instance of this class to its ArcGIS portal JSON representation. See the

Using

fromJSON()
guide topic for more information.
public System.Threading.Tasks.Task<string> ToArcGisJson<T>(T geometry, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken))
    where T : dymaptic.GeoBlazor.Core.Components.Geometries.Geometry;

Type parameters

T

Parameters

geometry T

The geometry to convert.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<System.String>
The

ArcGIS

portal JSON
representation of an instance of this class.

GeometryEngine.Touches(Geometry, Geometry, CancellationToken) Method

Indicates if one geometry touches another geometry.

public System.Threading.Tasks.Task<bool> Touches(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry1, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry geometry2, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometry1 Geometry

The geometry to test the "touches" relationship with the other geometry.

geometry2 Geometry

The geometry to be touched.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<System.Boolean>
When true, geometry1 touches geometry2.

GeometryEngine.Union(Geometry[]) Method

All inputs must be of the same type of geometries and share one spatial reference.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry?> Union(params dymaptic.GeoBlazor.Core.Components.Geometries.Geometry[] geometries);

Parameters

geometries Geometry[]

An array of Geometries to union.

Returns

System.Threading.Tasks.Task<Geometry>
The union of the geometries

GeometryEngine.Union(IEnumerable, CancellationToken) Method

All inputs must be of the same type of geometries and share one spatial reference.

public System.Threading.Tasks.Task<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry?> Union(System.Collections.Generic.IEnumerable<dymaptic.GeoBlazor.Core.Components.Geometries.Geometry> geometries, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

geometries System.Collections.Generic.IEnumerable<Geometry>

An array of Geometries to union.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<Geometry>
The union of the geometries

GeometryEngine.Within(Geometry, Geometry, CancellationToken) Method

Indicates if one geometry is within another geometry.

public System.Threading.Tasks.Task<bool> Within(dymaptic.GeoBlazor.Core.Components.Geometries.Geometry innerGeometry, dymaptic.GeoBlazor.Core.Components.Geometries.Geometry outerGeometry, System.Threading.CancellationToken cancellationToken=default(System.Threading.CancellationToken));

Parameters

innerGeometry Geometry

The base geometry that is tested for the "within" relationship to the other geometry.

outerGeometry Geometry

The comparison geometry that is tested for the "contains" relationship to the other geometry.

cancellationToken System.Threading.CancellationToken

The cancellation token to use for the operation.

Returns

System.Threading.Tasks.Task<System.Boolean>
Returns true if innerGeometry is within outerGeometry.