方法概述
名称 | 返回值类值 | 描述 | 对象 |
---|---|---|---|
Number[] | 通过测地线计算一个或多个面的面积。 更多详情 | geodesicUtils | |
Polyline|Polygon | 计算并返回增密的线或面。 更多详情 | geodesicUtils | |
GeodesicDistanceResult | 通过测地线计算两个已知位置之间的方向和距离。 更多详情 | geodesicUtils | |
Number[] | 通过测地线计算一个或多个几何的面周长或折线长度。 更多详情 | geodesicUtils | |
Point | 在距已知位置的定义距离和方向上,通过测地线计算位置。 更多详情 | geodesicUtils |
方法详细说明
-
通过测地线计算一个或多个面的面积。
参数要计算其面积的多边形。
unit Stringoptional默认值:"square-meters"输出面积单位。
可能的值:"square-millimeters"|"square-centimeters"|"square-decimeters"|"square-meters"|"square-kilometers"|"square-inches"|"square-feet"|"square-yards"|"square-miles"|"square-us-feet"|"acres"|"ares"|"hectares"
返回类型 描述 Number[] 与源多边形对应的面积数组。 示例// 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²
-
计算并返回增密的线或面。
参数输入折线或面。
maxSegmentLength Number折点之间的最大长度 (以米为单位)。
返回类型 描述 Polyline | Polygon 增密的折线或面。 示例// 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
-
-
通过测地线计算两个已知位置之间的方向和距离。两个输入点必须具有相同的地理坐标系。
参数from Point起始位置。
to Point目标位置。
unit Stringoptional默认值:"meters"输出线性单位。
可能的值:"millimeters"|"centimeters"|"decimeters"|"meters"|"kilometers"|"inches"|"feet"|"yards"|"miles"|"nautical-miles"|"us-feet"
返回类型 描述 GeodesicDistanceResult 计算两个已知位置之间的距离和方向。 名称 类型 描述 distance number 两个位置之间的距离。 azimuth number 方位角 (或“方向角”) 以度为单位。值范围从 0° 到 360°。 reverseAzimuth number 以度为单位的反方位角。值范围从 0° 到 360°。 示例// 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);
-
通过测地线计算一个或多个几何的面周长或折线长度。
参数输入折线或面。
unit Stringoptional默认值:"meters"输出线性单位。
可能的值:"millimeters"|"centimeters"|"decimeters"|"meters"|"kilometers"|"inches"|"feet"|"yards"|"miles"|"nautical-miles"|"us-feet"
返回类型 描述 Number[] 与输入几何对应的长度/周长数组。 示例// 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
-
-
在距已知位置的定义距离和方向上,通过测地线计算位置。
参数point Point源位置。
distance Number与原点的距离,以米为单位。
azimuth Number从原点开始的方向,以度为单位。
返回类型 描述 Point 计算点。 示例// 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);