Skip to content

BaseFn

空间距离计算函数 getSpaceDistance

  • @param
参数名type描述默认值
positionsArray点位的三维坐标数组-
  • @returns
返回值type描述
distanceObject距离;单位米
js
let distance = CM.BaseFn.getSpaceDistance(positions);

计算多边形面积 getArea

  • @param
参数名type描述默认值
pointsArray多边形点位的三维坐标数组-
  • @returns
返回值type描述
areaObject面积;单位平方米。
js
let area = CM.BaseFn.getArea(points);

根据多个坐标点,计算中心点坐标 getPointsCenter

  • @param
参数名type描述默认值
pointsArray点位的坐标数组-
  • @returns
返回值type描述
pointCenterObject中心点。
js
let pointCenter = CM.BaseFn.getPointsCenter(points);

使用 canvas 根据图片和文字绘制图片 canvasToImage

  • @param
参数名type描述默认值
iconString图片地址,可以是 url 及 base64 或者 require 引入的图片-
textString图文本内容-
imgConfigObject其它配置;参考下表-
imgConfig 属性
属性名type描述默认值
iconWidthNumbericon 宽度152
iconHeightNumbericon 高度152
txtColorString文本颜色#fff
txtFontSizeString文本大小16px
txtLeftNumber文本距离左边的位置
txtTopNumber文本距离顶部的位置
  • @returns
返回值type描述
PromisePromise返回绘制的图片。
js
let icon = require("../**/test.png");
let imgConfig = {
  iconWidth: 112,
  iconHeight: 112,
  txtColor: "#212121",
  txtFontSize: "16px",
};
let pointCenter = CM.BaseFn.canvasToImage(icon, "测试文字", imgConfig);

计算 WGS_84 数组的最大和最小经纬度生成 rectangle 范围 computedRectangle

  • @param
参数名type描述默认值
wgs84ArrArray84 坐标数组-
callbackFunction回调函数,返回最大经纬度和最小经纬度 和 Cesium.Rectangle 对象-
extendedFunctionRectangle 对象需要扩大的值。值越大显示的 Rectangle 范围越大0.0005
js
let wgs84Arr = [
  { lng: "", lat: "" },
  { lng: "", lat: "" },
  { lng: "", lat: "" },
];
CM.BaseFn.computedRectangle(wgs84Arr, (positionArr, rectangle) => {
  console.log(positionArr);
  //跳转到此范围
  viewer.camera.flyTo({
    destination: rectangle,
    duration: 1,
    orientation: {
      heading: Cesium.Math.toRadians(0),
      pitch: Cesium.Math.toRadians(-90.0),
      roll: Cesium.Math.toRadians(0),
    },
  });
});

坐标插值函数(多点位) coordinateInterpolation

注意

  1. 对给定的坐标序列进行插值处理,可以在地形高度上平滑插值或直接进行坐标转换!
  2. 支持拐角点检测,在拐角处进行更密集的插值。
  • @param
参数名type描述默认值
wgs84ArrArray84 坐标数组-
targetDistanceNumber目标插值间距(米),控制插值点的密度 ;值越小性能消耗越高100
isGetTerrainHeightBoolean是否获取地形高度,true 时从地形服务获取高程false
heightOffsetNumber高度偏移量,在地形高度基础上增加的偏移值0.5
defaultHeightNumber默认高度值,当 isGetTerrainHeight 为 false 时生效,可设置管道高度0
返回值type描述
cartesianPromise<Array>返回包含所有插值点笛卡尔坐标的 Promise 数组
js
let wgs_84Arr = [
  {
    lng: 111.17831238175873,
    lat: 24.49778743,
    height: 0,
  },
  {
    lng: 111.1784,
    lat: 24.4988,
    height: 0,
  },
  {
    lng: 111.2018438418352,
    lat: 24.5036940694,
    height: 0,
  },
  {
    lng: 111.20228120412749,
    lat: 24.5049655488217,
    height: 0,
  },
];
let cartesian = await CM.BaseFn.coordinateInterpolation(wgs_84Arr, 200, true, 2);

计算抛物线轨迹点(2 点位) parabolaCalculate

  • @param
参数名type描述默认值
startPositionArray起始位置的经纬度坐标-
endPositionArray结束位置的经纬度坐标-
heightNumber抛物线的最大高度,最小为 1000
countNumber轨迹点的数量,最小为 5050
返回值type描述
ArrayArray包含抛物线轨迹点的 Cartesian 数组
js
let positionWgs84 = [
  [-79, 35],
  [-80, 35],
];
let cartesianArr = CM.BaseFn.parabolaCalculate(positionWgs84[0], positionWgs84[1], 10000, 1000);
let wgs84Arr = CM.Position.transformCartesianArrayToWGS84Array(cartesianArr);
console.log(wgs84Arr);