Esri- json (Esri JavaScript Object Notation) Reader/Writer

许可选项对于这种格式,从FME专业版开始。

Esri-JSON是在JSON结构化文本中编码空间数据的标准。

FME目前支持Esri特性集,定义见http://resources.esri.com/help/9.3/BusinessAnalyst/Online_apis/apis/REST/types.html#FeatureSet

概述

Esri-JSON将几何和特征信息编码到对象中。Esri特征集是具有相同几何类型和坐标系统的特征集合。在JSON文档中,特性集由JSON对象表示。JSON对象有三个键:

  • GeometryType,
  • spatialReference,
  • 特性。

几何类型键的值是一个字符串,表示数据集中的特征所包含的几何类型。有效的几何类型是点、折线、多边形、信封和多点。

spatialReference键的值是一个JSON对象,其中包含数据集中特征的坐标系统数据。在ESRIJSON中,坐标系统由其众所周知的ID表示,通常是EPSG编号。spatialReference键和值在数据集中的每个特征的几何对象中重复。下面显示了一个表示EPSG:4326坐标系的空间参考对象。

{" wkid ": 4326}

feature键的值是一个JSON对象数组,表示数据集中的各个特性。每个特征对象有两个关键字,几何和属性。属性键的值是一个JSON对象,其键和值表示特性属性名称和值。几何键的值是一个Esri-JSON几何对象。下面列出了各种类型的几何对象。

观点

所有点几何形状都是简单的二维几何形状。

折线

折线是线段的数组。每个线段都是点的数组。一个点被表示为两个元素数组。第一个元素总是x坐标,第二个元素总是y坐标,不管使用的是什么坐标系。

多边形

多边形几何与折线具有相似的结构。多边形由一组环组成,每个环都是一组点。与折线一样,一点上的第一个元素总是x坐标,第二个元素总是y坐标。

信封

包络几何仅仅是包围盒的特征,由两个点表示。

多点

多点几何图形由二维点的数组表示。与其他几何图形一样,每个点的第一个元素是x坐标,第二个元素是y坐标。

读者概述

ESRI-JSON阅读器可以读取许多不同类型的JSON文本。

它可以用于读取ESRI特征集对象,如上面的概述部分所述。它还可用于读取单个几何对象或几何对象数组。最后,如果DataSet中的根JSON对象或数组不是已知的ESRI-JSON对象,则读取器将检查对象或数组中的每个值,并尝试使用这些值来创建功能。

坐标系统

Esrijson Reader目前支持具有EPSG编号的坐标系统。

在SpatialReference JSON对象中,读者将使用WKID键的值作为EPSG坐标系号。例如,如果数据集包含以下空间引用,则坐标系将是EPSG:4326。

{" spatialReference ":{“wkid”:4326}}

作家概述

Esri-JSON编写器为每个特性类型写出一个文件。每个文件都包含一个JSON对象,其RecordSet属性包含一个Esri-JSON FeatureSet对象。

坐标系统

每个特征类型都可以具有独特的坐标系。ESRI-JSON Writer将输出坐标系的ESRI众所周知的ID,作为顶级对象中的SpatialReference键的值。

通常,众所周知的ID是EPSG坐标系数。如果无法为特定坐标系确定众所周知的ID,则将输出坐标系名称。

几何

FME特征几何被写入Esri-JSON几何对象中,作为ESRIJSON特征对象中几何键的值。因为Esri-JSON只支持线性几何,所以弧线将被描成直线,而椭圆将被描成多边形。

包含不支持的几何图形的特性将有一个空值写入几何键。