方法列表
名称 | 返回值类型 | 描述 | 对象 | |
---|---|---|---|---|
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[] 与源多边形对应的区域数组。 示例代码:// 显示百慕大三角的面积。
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²"); // 面积: 1150498 km²
-
计算并返回致密化的线或面。
参数:输入线或面。
maxSegmentLength Number折点之间的最大长度(以米为单位)。
返回值:类型 描述 Polyline | Polygon 致密化的线或面。 示例代码:// 将表示百慕大三角的面致密化,最大分段大小为 100 公里。
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); // 之前: 4,之后: 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°。 示例代码:// 显示洛杉矶和纽约市之间的距离和方向。
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[] 与输入几何对应的长度/周长数组。 示例代码:// 显示百慕大三角的周长。
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"); // 周长: 4879 km
-
-
在与已知位置的定义距离和方向上,通过大地测量计算位置。
参数:point Point源位置。
distance Number与原点的距离(以米为单位)。
azimuth Number从原点开始的方向(以度为单位)。
返回值:类型 描述 Point 计算点。 示例代码:// 显示洛杉矶以东 10 公里的点的位置。
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);