类:GeoJSON

ol/format/GeoJSON~地理JSON


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

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

new GeoJSON(options)

Name Type 描述
dataProjection ProjectionLike (defaults to 'EPSG:4326')

默认数据投影。

featureProjection ProjectionLike | undefined

用于格式读取或写入要素的投影。传递给读取或写入方法的选项将优先生效。

geometryName string | undefined

创建要素时使用的几何名称。

extractGeometryName boolean (defaults to false)

部分 GeoJSON 数据提供者会在要素的 GeoJSON 中包含 geometry_name 字段。如果设置为trueGeoJSON 阅读器将检索该字段以设定几何名称。如果该字段被设置为true和一个geometryName若已提供,则geometryName将优先。

featureClass FeatureToFeatureClass<FeatureType> | undefined

用于读取要素的要素类。默认为Feature如果性能是首要考虑因素,并且要素不会通过该格式进行修改或往返处理,请考虑使用RenderFeature

继承

方法

readFeature(source, options){FeatureType | Array.<FeatureType>} inherited

读取一个要素。仅适用于单个要素。使用 readFeatures 读取要素集合。

Name Type 描述
source ArrayBuffer | Document | Element | Object | string

数据源.

options

Read options.

Name Type 描述
dataProjection ProjectionLike | undefined

所读取数据的投影。若未提供,投影将基于数据(如可能)或dataProjection格式的指定(如果已设置)。如果投影无法从数据中推导出,并且如果没有dataProjection设置为格式后,要素不会被重新投影。

extent Extent | undefined

当前读取图块的地图单位范围。仅当读取将平铺像素作为几何单位的数据时才需要此设置。配置后,将出现一个dataProjection使用TILE_PIXELS作为units以及瓦片的像素范围为extent必须提供。

featureProjection ProjectionLike | undefined

由格式阅读器创建的要素几何图形的投影。如果未提供,要素将以该投影返回。dataProjection.

返回:
要素.

readFeatures(source, options){Array.<FeatureType>} inherited

读取所有要素,支持单个要素和要素集合。

Name Type 描述
source ArrayBuffer | Document | Element | Object | string

数据源.

options

Read options.

Name Type 描述
dataProjection ProjectionLike | undefined

所读取数据的投影。如果未提供,投影将从数据中推导(如果可能),或dataProjection格式的指定(如果已设置)。如果无法从数据中推导出投影,并且如果没有dataProjection若指定了格式,则要素将不会进行重投影。

extent Extent | undefined

正在读取的瓦片的地图单位范围。仅当数据以瓦片像素作为几何单位读取时才需要。配置后,会出现一个dataProjection使用TILE_PIXELS作为units以及瓦片的像素范围为extent需提供。

featureProjection ProjectionLike | undefined

由格式阅读器创建的要素几何图形的投影。如果未提供,要素将返回默认投影。dataProjection.

返回:
要素。

readGeometry(source, options){Geometry} inherited

读取几何。

Name Type 描述
source ArrayBuffer | Document | Element | Object | string

数据源.

options

Read options.

Name Type 描述
dataProjection ProjectionLike | undefined

所读取数据的投影。若未提供,投影将从数据中推导(如可能)或dataProjection格式若已设置则被指定。如果投影无法从数据中推导,并且如果没有dataProjection设置格式后,要素将不会被重新投影。

extent Extent | undefined

读取中图块的地图单位范围。仅当读取以图块像素作为几何单位的数据时才需配置。配置后,会出现一个dataProjectionTILE_PIXELS作为units以及瓦片的像素范围extent需提供。

featureProjection ProjectionLike | undefined

由格式阅读器创建的要素几何图形的投影。如果未提供,要素将返回在该投影中。dataProjection.

返回:
几何.

读取投影。

Name Type 描述
source ArrayBuffer | Document | Element | Object | string

数据源.

返回:
投影.

writeFeature(feature, options){string} inherited

将要素编码为字符串。

Name Type 描述
feature Feature

要素.

options

Write options.

Name Type 描述
dataProjection ProjectionLike | undefined

所写入数据的投影。若未提供,则dataProjection格式的分配(若已设置)。如果没有dataProjection当格式设置后,要素将以该格式返回。featureProjection.

featureProjection ProjectionLike | undefined

将被格式编写器序列化的要素几何图形的投影。若未指定,则假定其位于dataProjection如果已设置;换句话说,它们未被转换。

rightHanded boolean | undefined

在编写几何图形时,请遵循线性环定向的右手定则:多边形外环应为逆时针方向,内环应为顺时针方向。默认情况下,坐标按构造时提供的顺序进行序列化。如果true,将应用右手定则。如果false,将应用左手法则(外环顺时针,内环逆时针)。需注意,并非所有格式均支持此属性。GeoJSON 格式在写入几何数据时确实使用此属性。

decimals number | undefined

坐标小数位数的最大值。坐标在内部以浮点数形式存储,但浮点运算可能生成具有大量小数位的坐标,这在输出中通常是不需要的。在此设置数值以对坐标进行舍入。还可用于确保读入的坐标能以相同的小数位数写回。默认不进行舍入。

返回:
编码要素。

writeFeatureObject(feature, options){GeoJSONFeature}

将要素编码为 GeoJSON 要素对象。

Name Type 描述
feature Feature

要素.

options

Write options.

Name Type 描述
dataProjection ProjectionLike | undefined

所写入数据的投影。如果未提供,则dataProjection格式的指定(如果已设置)。如果没有dataProjection若格式已设置,要素将按该格式返回。featureProjection.

featureProjection ProjectionLike | undefined

将被格式写入器序列化的要素几何图形的投影。如果未提供,则假定几何图形位于dataProjection如果已设置;换言之,它们未被变换。

rightHanded boolean | undefined

创建几何图形时,需遵循线性环定向的右手法则。这意味着多边形的外环应逆时针定向,内环应顺时针定向。默认情况下,坐标将按照构造时提供的顺序进行序列化输出。如果true将应用右手定则。如果false将采用左手法则(外环顺时针,内环逆时针)。请注意,并非所有格式都支持此特性。GeoJSON格式在写入几何图形时确实使用该属性。

decimals number | undefined

坐标的小数位数上限。坐标内部以浮点数存储,但浮点运算可能产生小数位过多的坐标,输出时通常不需要。在此设置数值以舍入坐标,还可确保读入的坐标能以相同小数位数写回。默认不进行舍入。

返回:
对象。

writeFeatures(features, options){string} inherited

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

Name Type 描述
features Array<Feature>

要素。

options

Write options.

Name Type 描述
dataProjection ProjectionLike | undefined

所写入数据的投影。若未提供,则dataProjection格式的指定(如果已设置)。如果没有dataProjection当格式设置完成后,要素将按该格式返回。featureProjection.

featureProjection ProjectionLike | undefined

将被格式写入器序列化的要素几何的投影。如果未提供,则假定几何位于dataProjection如果已设置,换言之,它们不会被变换。

rightHanded boolean | undefined

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

decimals number | undefined

坐标的最大小数位数设置。坐标在内部以浮点数形式存储,但浮点运算可能生成小数位过多的坐标,这在输出中通常不必要。在此处输入数值以对坐标进行舍入,同时可确保读入的坐标能以相同的小数位数输出。默认情况下不进行舍入。

返回:
编码要素。

writeFeaturesObject(features, options){GeoJSONFeatureCollection}

将要素数组编码为GeoJSON对象。

Name Type 描述
features Array<Feature>

要素。

options

Write options.

Name Type 描述
dataProjection ProjectionLike | undefined

所写入数据的投影。若未提供,则dataProjection格式的指定(若已设置)。若无dataProjection若格式已设置,要素将以该格式返回。featureProjection.

featureProjection ProjectionLike | undefined

将被格式写入器序列化的要素几何图形的投影。如果未提供,则假定几何图形位于dataProjection若已设置,则它们不会被转换。

rightHanded boolean | undefined

创建几何图形时,应遵循线性环方向的右手定则,即多边形外环为逆时针方向,内环为顺时针方向。默认情况下,坐标按构造时提供的顺序进行序列化。如果true,将应用右手定则。如果false采用左手法则(外环顺时针,内环逆时针)。注意:并非所有格式都支持此规则。GeoJSON 格式在写入几何图形时使用此属性。

decimals number | undefined

坐标的最大小数位数。坐标在内部以浮点数形式存储,但浮点运算可能产生大量小数位,通常不希望出现在输出结果中。在此处设置数值以对坐标进行舍入。此设置还可确保读取的坐标能以相同的小数位数写回。默认不进行舍入。

返回:
GeoJSON对象。

writeGeometry(geometry, options){string} inherited

将几何编码为字符串。

Name Type 描述
geometry Geometry

几何.

options

Write options.

Name Type 描述
dataProjection ProjectionLike | undefined

所写入数据的投影。若未提供,则dataProjection若已指定格式。若未指定。dataProjection若指定了格式,要素将按此格式返回。featureProjection.

featureProjection ProjectionLike | undefined

将被格式编写器序列化的要素几何图形的投影。如果未提供,则假定几何图形位于dataProjection若已设置;换言之,它们未被变换。

rightHanded boolean | undefined

创建几何图形时,应遵循线性环方向的右手定则。这意味着多边形应具有逆时针的外环与顺时针的内环。默认情况下,坐标将按构造时提供的顺序进行序列化。如果true,将应用右手定则。如果false,将采用环方向规则,即外环顺时针、内环逆时针。需注意,此规则并非所有格式都支持。GeoJSON 格式在序列化几何图形时会应用此方向属性。

decimals number | undefined

坐标的最大小数位数设置。坐标在内部以浮点数形式存储,但浮点运算可能生成具有大量小数位的坐标,这在输出时通常不期望。在此处设置数值以对坐标进行舍入。此外,该设置还可确保读入的坐标在写回时能保持相同的小数位数。默认情况下不进行舍入。

返回:
编码几何。

writeGeometryObject(geometry, options){GeoJSONGeometry | GeoJSONGeometryCollection}

将几何编码为GeoJSON对象。

Name Type 描述
geometry Geometry

几何.

options

Write options.

Name Type 描述
dataProjection ProjectionLike | undefined

所写入数据的投影。若未提供,则dataProjection格式被赋值(如果已设置)。如果没有dataProjection如果格式已设置,要素将以该格式返回。featureProjection.

featureProjection ProjectionLike | undefined

将被格式编写器序列化的要素几何的投影。如果未提供,则假定几何位于dataProjection如果已设置;换言之,它们未被转换。

rightHanded boolean | undefined

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

decimals number | undefined

坐标的最大小数位数设置:坐标在内部以浮点数形式存储,但浮点运算可能产生大量小数位的坐标,这在输出时通常不必要。在此设置数值以对坐标进行舍入,还可确保读入的坐标在写回时使用相同的小数位数。默认情况下不进行舍入。

返回:
对象。