- See also
Method Overview
Name | Return Type | Summary | Object |
---|---|---|---|
Number[] | Geodetically computes the area for one or more polygons. more details | geodesicUtils | |
Polyline|Polygon | Computes and returns a densified polyline or polygon. more details | geodesicUtils | |
GeodesicDistanceResult | Geodetically computes the direction and distance between two known locations. more details | geodesicUtils | |
Number[] | Geodetically computes polygon perimeter or polyline length for one or more geometries. more details | geodesicUtils | |
Point | Geodetically computes the location at a defined distance and direction from a known location. more details | geodesicUtils |
Method Details
-
Geodetically computes the area for one or more polygons.
ParametersThe polygons to compute the area for.
unit StringoptionalDefault Value: "square-meters"Output area units.
Possible Values:"square-millimeters"|"square-centimeters"|"square-decimeters"|"square-meters"|"square-kilometers"|"square-inches"|"square-feet"|"square-yards"|"square-miles"|"square-us-feet"|"acres"|"ares"|"hectares"
ReturnsType Description Number[] An array of areas corresponding to the source polygons. Example// Display the area of the Bermuda Triangle. const MIAMI = { lat: 25.775278, lon: -80.208889 }; // Florida const HAMILTON = { lat: 32.293, lon: -64.782 }; // Bermuda const SANJUAN = { lat: 18.406389, lon: -66.063889 }; // Puerto Rico const polygon = new Polygon({ rings: [[ [MIAMI.lon, MIAMI.lat], [HAMILTON.lon, HAMILTON.lat], [SANJUAN.lon, SANJUAN.lat], [MIAMI.lon, MIAMI.lat] ]] }); const areas = geodesicUtils.geodesicAreas([polygon], "square-kilometers"); const area = Math.round(areas[0]); console.log("Area: ", area, " km²"); // Area: 1150498 km²
-
Computes and returns a densified polyline or polygon.
ParametersThe input polyline or polygon.
maxSegmentLength NumberThe maximum length (in meters) between vertices.
ReturnsType Description Polyline | Polygon The densified polyline or polygon. Example// Densify the polygon representing Bermuda Triangle with maximum segment size of 100km. const MIAMI = { lat: 25.775278, lon: -80.208889 }; // Florida const HAMILTON = { lat: 32.293, lon: -64.782 }; // Bermuda const SANJUAN = { lat: 18.406389, lon: -66.063889 }; // Puerto Rico const polygon = new Polygon({ rings: [[ [MIAMI.lon, MIAMI.lat], [HAMILTON.lon, HAMILTON.lat], [SANJUAN.lon, SANJUAN.lat], [MIAMI.lon, MIAMI.lat] ]] }); const densifiedPolygon = geodesicUtils.geodesicDensify(polygon, 100000); const vertexCountBefore = polygon.rings[0].length; const vertexCountAfter = densifiedPolygon.rings[0].length; console.log("Before: ", vertexCountBefore, ", After: ", vertexCountAfter); // Before: 4, After: 51
-
-
Geodetically computes the direction and distance between two known locations. Both input points must have the same geographic coordinate system.
Parametersfrom PointThe origin location.
to PointThe destination location.
unit StringoptionalDefault Value: "meters"Output linear units.
Possible Values:"millimeters"|"centimeters"|"decimeters"|"meters"|"kilometers"|"inches"|"feet"|"yards"|"miles"|"nautical-miles"|"us-feet"
ReturnsType Description GeodesicDistanceResult Computed distance and direction between the two known locations. Name Type Description distance number The distance between the two locations. azimuth number The azimuth (or "bearing") in degrees. Values range from 0° to 360°. reverseAzimuth number The reverse azimuth in degrees. Values range from 0° to 360°. Example// Display the distance and direction between Los Angeles and New York City. const LA = { latitude: 34.05, longitude: -118.25 }; const NY = { latitude: 40.7127, longitude: -74.0059 }; const join = geodesicUtils.geodesicDistance( new Point({ x: LA.longitude, y: LA.latitude }), new Point({ x: NY.longitude, y: NY.latitude }), "kilometers" ); const { distance, azimuth } = join; console.log("Distance: ", distance, ", Direction: ", azimuth);
-
Geodetically computes polygon perimeter or polyline length for one or more geometries.
ParametersThe input polylines or polygons.
unit StringoptionalDefault Value: "meters"Output linear units.
Possible Values:"millimeters"|"centimeters"|"decimeters"|"meters"|"kilometers"|"inches"|"feet"|"yards"|"miles"|"nautical-miles"|"us-feet"
ReturnsType Description Number[] An array of lengths/perimeters corresponding to the input geometries. Example// Display the perimeter of the Bermuda Triangle. const MIAMI = { lat: 25.775278, lon: -80.208889 }; // Florida const HAMILTON = { lat: 32.293, lon: -64.782 }; // Bermuda const SANJUAN = { lat: 18.406389, lon: -66.063889 }; // Puerto Rico const polygon = new Polygon({ rings: [[ [MIAMI.lon, MIAMI.lat], [HAMILTON.lon, HAMILTON.lat], [SANJUAN.lon, SANJUAN.lat], [MIAMI.lon, MIAMI.lat] ]] }); const perimeters = geodesicUtils.geodesicLengths([polygon], "kilometers"); const perimeter = Math.round(perimeters[0]); console.log("Perimeter: ", perimeter, " km"); // Perimeter: 4879 km
-
-
Geodetically computes the location at a defined distance and direction from a known location.
Parameterspoint PointOrigin location.
distance NumberDistance from the origin in meters.
azimuth NumberDirection from the origin in degrees.
ReturnsType Description Point The computed point. Example// Display the location of a point 10km East of Los Angeles. const LA = { latitude: 34.05, longitude: -118.25 }; const destination = geodesicUtils.pointFromDistance( new Point({ x: LA.longitude, y: LA.latitude }), 10000, 90 ); const { latitude, longitude } = destination; console.log("Latitude: ", latitude, ", Longitude: ", longitude);
Type Definitions
-
GeodesicDistanceResult
-
Computed distance and direction between two known locations.