projection

AMD: require(["geoscene/geometry/projection"], (projection) => { /* 代码 */ });
ESM: import * as projection from "@geoscene/core/geometry/projection";
对象: geoscene/geometry/projection
起始版本: GeoScene API for JavaScript 4.22

客户端投影引擎,用于将几何从一个 SpatialReference 转换为另一个几何。投影几何时,必须在输入几何上指定起始空间参考。您可以为 projection 操作指定特定的地理(基准面)变换,或者接受默认变换(如果需要)。

已知限制

  • 浏览器必须支持 WebAssembly 才能使客户端引擎正常工作。

  • 目前,仅支持基于公式的地理变换。

方法列表

名称 返回值类型 描述 对象
GeographicTransformation更多信息

返回用于将几何从输入空间参考转换为输出空间参考的默认地理变换。

更多信息projection
GeographicTransformation[]更多信息

返回适用于将几何从输入空间参考转换为指定输出空间参考的所有地理变换的列表。

更多信息projection
Boolean更多信息

指示是否已加载此模块的所有依赖项。

更多信息projection
Promise更多信息

加载此模块的依赖项。

更多信息projection
Geometry|Geometry[]更多信息

将几何或几何数组投影到指定的输出空间参考。

更多信息projection

方法详细说明

getTransformation(inSpatialReference, outSpatialReference, extent){GeographicTransformation}

返回用于将几何从输入空间参考转换为输出空间参考的默认地理变换。 当投影几何需要进行基准面转换但未在 geographicTransformation 参数中指定时,使用默认变换。

已知限制

  • 此方法仅返回基于方程的地理变换。
  • 地理变换将以其最大步骤数返回。目前,步骤数限制为 2。
参数:
inSpatialReference SpatialReference autocast
自动转换自 Object

要从中投影几何的输入空间参考。这是输入几何的空间参考。

outSpatialReference SpatialReference autocast
自动转换自 Object

将几何转换为的空间参考。

extent Extent
optional

用于确定返回转换的适用性的范围。 如果有不同的空间参考,范围将被重新投影到 inSpatialReference

返回值:
类型 描述
GeographicTransformation

返回给定参数的默认地理变换。 如果不需要转换或没有合适的转换,则返回 null

getTransformations(inSpatialReference, outSpatialReference, extent){GeographicTransformation[]}

返回适用于将几何从输入空间参考转换为指定输出空间参考的所有地理变换的列表。该列表按适用性降序排列,最合适的排在列表的第一位。

已知限制

  • 此方法返回所有合适的基于方程的地理变换。
  • 地理变换将以其最大步骤数返回。目前,步骤数限制为 2。
参数:
inSpatialReference SpatialReference autocast
自动转换自 Object

几何当前正在使用的空间参考。

outSpatialReference SpatialReference autocast
自动转换自 Object

要将几何转换为的空间参考。

extent Extent
optional

用于确定返回的转换的适用性的范围。如有必要,范围将重新投影到输入空间参考。

返回值:
类型 描述
GeographicTransformation[] 返回一个数组,其中包含可用于在输入和输出空间参考之间转换几何的合适地理变换的最大数量。如果提供的范围不在输入空间参考的使用区域之外,则该列表将为空。
示例代码:
const cs1 = new SpatialReference({
  wkid: 4272 //PE_GCS_ED_1950
});

const cs2 = new SpatialReference({
  wkid: 4167
});

const extent = new Extent({
  xmin: -186.0,
  ymin: -42.0,
  xmax: -179.0,
  ymax: -38.0
});

const geogtrans = projection.getTransformations(cs1, cs2, extent);
geogtrans.forEach(function(geogtran, index) {
  geogtran.steps.forEach(function(step, index) {
    console.log("step wkid: ", step.wkid);
  });
});
isLoaded(){Boolean}

指示是否已加载此模块的所有依赖项。

返回值:
类型 描述
Boolean 如果已加载此模块的依赖项,则返回 true
load(){Promise}

加载此模块的依赖项。在投影几何之前,必须调用此方法。

返回值:
类型 描述
Promise 在加载依赖项时解析。
另参阅:
示例代码:
projection.load().then(function() {
  // 投影模块已加载。 几何可以重新投影。
// 投影数组中的每个面 // project() 将使用数组中第一个几何的空间参考 // 作为输入空间参考。 // 从输入空间参考转换为输出空间参考时 // 如果需要,它将使用默认转换。 let outSpatialReference = new SpatialReference({ wkid: 53008 //Sphere_Sinusoidal 投影 }); polygonGraphics.forEach(function(graphic) { graphic.geometry = projection.project(graphic.geometry, outSpatialReference); }); });
project(geometry, outSpatialReference, geographicTransformation){Geometry|Geometry[]}

将几何或几何数组投影到指定的输出空间参考。 如果未明确提供但需要,则使用默认地理变换。 使用 getTransformation() 方法找出给定输入和输出空间参考默认使用的转换。

请注意,在尝试投影几何之前,必须加载此模块。

已知限制

此方法使用第一个几何的空间参考作为输入空间参考。因此,数组中的所有几何必须具有相同的空间参考。

参数:
geometry Geometry|Geometry[]

要投影的一个或多个几何。

outSpatialReference SpatialReference autocast
自动转换自 Object

要将几何坐标转换为的空间参考。

geographicTransformation GeographicTransformation
optional

用于变换几何的地理变换。指定此参数可在默认变换不适合您的要求时投影几何。

返回值:
类型 描述
Geometry | Geometry[] 如果将几何数组用作输入,则结果将是一个数组。如果将单个几何用作输入,则它将是单个几何。
示例代码:
// 投影数组中的每个面
// project() 将使用数组中第一个几何的空间参考
// 作为输入空间参考。
// 从输入空间参考转换为输出空间参考时
// 如果需要,它将使用默认转换。
let outSpatialReference = new SpatialReference({ wkid: 53008 //Sphere_Sinusoidal 投影 }); polygonGraphics.forEach(function(graphic) { graphic.geometry = projection.project(graphic.geometry, outSpatialReference); });
let outSpatialReference = {
  wkid: 54044
};
// 投影一系列点
let projectedPoints = projection.project(wgsPoints, outSpatialReference); projectedPoints.forEach(function(point) { console.log(point.x, point.y); });

Your browser is no longer supported. Please upgrade your browser for the best experience. See our browser deprecation post for more details.