Class: GPX

ol/format/GPX~GPX


import GPX from 'ol/format/GPX.js';

用于读写 GPX 格式数据的要素格式。

注意 read要素 仅读取源中的第一个 要素。

读取时,路由(<rte>)将被转换为 LineString 几何对象, 轨迹(<trk>)转换为 MultiLineString。路由和轨迹的航点属性将被忽略。

写入时,LineString 几何对象作为路由(<rte>)输出, MultiLineString 作为轨迹(<trk>)输出。

new GPX(options)

Name Type Description
readExtensions function | undefined

用于处理 extensions 节点的回调函数。为防止内存泄漏,此回调函数不得存储对节点的任何引用。注意 extensions 节点在 GPX 1.0 中不允许使用。此外,只能处理来自 wptrtetrkextensions 节点,因为它们直接映射到要素。

Extends

Methods

read要素(source, options){要素} inherited

读取单个要素。

Name Type Description
source Document | Element | Object | string

源。

options

读取选项。

Name Type Description
dataProjection ProjectionLike | undefined

正在读取的数据的投影。 如果未提供,将从数据中推导投影(在可能的情况下),或 分配格式的 dataProjection(在已设置的情况下)。如果无法从数据中推导投影 且未为格式设置 dataProjection, 则要素将不会被重新投影。

extent Extent | undefined

正在读取的瓦片在地图单位中的范围。 仅当读取以瓦片像素为几何单位的数据时才需要。配置后, 需要提供以 TILE_PIXELSunitsdataProjection 和瓦片的像素范围作为 extent

featureProjection ProjectionLike | undefined

格式读取器创建的要素几何对象的投影。 如果未提供,要素将以 dataProjection 返回。

返回值:
要素。

read要素s(source, options){Array<要素>} inherited

从要素集合中读取所有要素。

Name Type Description
source Document | Element | Object | string

源。

options

选项。

Name Type Description
dataProjection ProjectionLike | undefined

正在读取的数据的投影。 如果未提供,将从数据中推导投影(在可能的情况下),或 分配格式的 dataProjection(在已设置的情况下)。如果无法从数据中推导投影 且未为格式设置 dataProjection, 则要素将不会被重新投影。

extent Extent | undefined

正在读取的瓦片在地图单位中的范围。 仅当读取以瓦片像素为几何单位的数据时才需要。配置后, 需要提供以 TILE_PIXELSunitsdataProjection 和瓦片的像素范围作为 extent

featureProjection ProjectionLike | undefined

格式读取器创建的要素几何对象的投影。 如果未提供,要素将以 dataProjection 返回。

返回值:
要素数组。

readMetadata(source){GPXMetadata | null}

读取 GPX 文件的元数据标签,读取内容包括:

  • 此 GPX 的名称和描述
  • 其作者
  • 与此 GPX 文件关联的版权信息

如果不存在元数据标签(或未提供有效源),将返回 null。

Name Type Description
source Document | Element | Object | string

源。

返回值:
元数据

从源中读取投影。

Name Type Description
source Document | Element | Object | string

源。

返回值:
投影。

write要素s(features, options){string} inherited

将要素数组编码为字符串。

Name Type Description
features Array<要素>

要素数组。

options

写入选项。

Name Type Description
dataProjection ProjectionLike | undefined

正在写入的数据的投影。 如果未提供,将分配格式的 dataProjection(在已设置的情况下)。 如果未为格式设置 dataProjection,要素将以 featureProjection 返回。

featureProjection ProjectionLike | undefined

将由格式写入器序列化的要素几何对象的投影。 如果未提供,假设几何对象在 dataProjection 中(如果已设置); 换句话说,它们不会被转换。

rightHanded boolean | undefined

写入几何对象时,遵循线性环方向的右手 规则。这意味着多边形将具有逆时针的 外环和顺时针的内环。默认情况下,坐标按构造时 提供的方式序列化。如果为 true,将应用右手规则。 如果为 false,将应用左手规则(外环顺时针, 内环逆时针)。注意并非所有格式都支持此属性。 GeoJSON 格式在写入几何对象时确实使用此属性。

decimals number | undefined

坐标的最大小数位数。 坐标在内部存储为浮点数,但浮点运算可能产生 大量小数位的坐标,这通常不是输出所需的。 在此设置数字以对坐标进行四舍五入。也可用于确保 读入的坐标能以相同的小数位数写回。 默认不进行四舍五入。

返回值:
结果。

write要素sNode(features, options){Node}

将要素数组以 GPX 格式编码为 XML 节点。 LineString 几何对象作为路由(<rte>)输出,MultiLineString 作为轨迹(<trk>)输出。

Name Type Description
features Array<要素>

要素数组。

options

选项。

Name Type Description
dataProjection ProjectionLike | undefined

正在写入的数据的投影。 如果未提供,将分配格式的 dataProjection(在已设置的情况下)。 如果未为格式设置 dataProjection,要素将以 featureProjection 返回。

featureProjection ProjectionLike | undefined

将由格式写入器序列化的要素几何对象的投影。 如果未提供,假设几何对象在 dataProjection 中(如果已设置); 换句话说,它们不会被转换。

rightHanded boolean | undefined

写入几何对象时,遵循线性环方向的右手 规则。这意味着多边形将具有逆时针的 外环和顺时针的内环。默认情况下,坐标按构造时 提供的方式序列化。如果为 true,将应用右手规则。 如果为 false,将应用左手规则(外环顺时针, 内环逆时针)。注意并非所有格式都支持此属性。 GeoJSON 格式在写入几何对象时确实使用此属性。

decimals number | undefined

坐标的最大小数位数。 坐标在内部存储为浮点数,但浮点运算可能产生 大量小数位的坐标,这通常不是输出所需的。 在此设置数字以对坐标进行四舍五入。也可用于确保 读入的坐标能以相同的小数位数写回。 默认不进行四舍五入。

返回值:
节点。