标注 | 说明 | 数据类型 |
输入要素 | 要转换为 JSON 格式的要素。 | Feature Layer |
输出 JSON | 输出 .json 或 .geojson 文件。 | File |
格式化的 JSON (可选) | 用于指定是否设置 JSON 的格式,以提高与 ArcGIS REST API 规范的 PJSON (美观的 JSON)格式相似的可读性。
| Boolean |
包括 Z 值 (可选) | 指定要素的 z 值是否将包含在 JSON 中。
| Boolean |
包括 M 值 (可选) | 指定要素的 m 值是否将包含在 JSON 中。
| Boolean |
输出至 GeoJSON (可选) | 用于指定是否将创建 GeoJSON 格式的输出。
| Boolean |
投影到 WGS_1984 (可选) | 用于指定是否将输入要素投影到采用默认地理变换的地理坐标系 WGS_1984。 该参数仅适用于输出为 GeoJSON 的情况。
| Boolean |
使用字段别名 (可选) | 指定输出文件是否将使用要素属性的字段别名。
| Boolean |
摘要
将要素转换为 Esri JSON 或 GeoJSON 格式。 要素的字段、几何和空间参考将转换为相应的 JSON 表示,并写入到扩展名为 .json 或 .geojson 的文件中。
使用情况
您可以启用格式设置以使输出文件中的 JSON 表示更具可读性。 通过空格、制表符和回车设置输出文件的格式,以提高其可读性。 经过格式设置的 JSON 可能会有助于应用程序的开发和测试。 但是,建议您不要将其用于生产应用程序,因为任何空格均不必要,且会为 JSON 解析程序所忽略。 此外,经过格式设置的 JSON 比其相应的 JSON 更具有意义,而且文件大小也比其相应的 JSON 表示大得多。 这会影响应用程序的性能。
转换不支持要素的连接、关联和附件。
要转换要素类或图层中的要素子集,请使用按属性选择图层或按位置选择图层工具,并且在使用要素转 JSON 之前,请选择要转换的要素子集。
使用输出至 GeoJSON 参数来创建符合 GeoJSON 规范的 .geojson 文件。 GeoJSON 规范不支持曲线几何;包含曲线的输入要素将在转换过程中被增密。
一旦输出为 .geojson 文件,您可以选择将输入要素投影到 WGS 1984 坐标系,这是 GeoJSON 规范的标准设置。 如有必要,可应用默认地理变换。 如果未使用此选项,则输出 .geojson 文件将包含,可在某些应用程序中用于定义坐标系或坐标参考系的 crs 标签。 GeoJSON 规范并未完全支持此标签。
该工具的输出仅包含输入中的可见属性字段。 要包含所有字段,您必须使其全部可见。 另外,你可以使用使用字段别名参数,使输出使用字段别名而不是字段名称。
参数
arcpy.conversion.FeaturesToJSON(in_features, out_json_file, {format_json}, {include_z_values}, {include_m_values}, {geoJSON}, {outputToWGS84}, {use_field_alias})
名称 | 说明 | 数据类型 |
in_features | 要转换为 JSON 格式的要素。 | Feature Layer |
out_json_file | 输出 .json 或 .geojson 文件。 | File |
format_json (可选) | 用于指定是否设置 JSON 的格式,以提高与 ArcGIS REST API 规范的 PJSON (美观的 JSON)格式相似的可读性。
| Boolean |
include_z_values (可选) | 指定要素的 z 值是否将包含在 JSON 中。
| Boolean |
include_m_values (可选) | 指定要素的 m 值是否将包含在 JSON 中。
| Boolean |
geoJSON (可选) | 用于指定是否将创建符合 GeoJSON 规范的 GeoJSON 格式的输出。
| Boolean |
outputToWGS84 (可选) | 用于指定是否将输入要素投影到采用默认地理变换的地理坐标系 WGS_1984。 该参数仅适用于输出为 GeoJSON 的情况。
| Boolean |
use_field_alias (可选) | 指定输出文件是否将使用要素属性的字段别名。
| Boolean |
代码示例
以下 Python 窗口脚本演示了如何使用 FeaturesToJSON 函数来创建 .json 和 .pjson 文件。
import arcpy
import os
arcpy.env.workspace = "c:/data"
arcpy.FeaturesToJSON_conversion(os.path.join("outgdb.gdb", "myfeatures"),
"myjsonfeatures.json")
arcpy.FeaturesToJSON_conversion(os.path.join("outgdb.gdb", "myfeatures"),
"mypjsonfeatures.json", "FORMATTED")
以下 Python 窗口脚本演示了如何通过 Z 值和 M 值使用 FeaturesToJSON 函数。
import arcpy
import os
arcpy.env.workspace = "c:/data"
arcpy.conversion.FeaturesToJSON(os.path.join("outgdb.gdb", "myfeatures"),
"myjsonfeatures.json", "NOT_FORMATTED",
"Z_VALUES", "M_VALUES")
使用 SelectLayerByAttribute 和 SelectLayerByLocation 函数将要素子集转换为 JSON。
# Import system modules
import arcpy
# Set the workspace
arcpy.env.workspace = "c:/data/mexico.gdb"
# Make a layer from the feature class
arcpy.management.MakeFeatureLayer("cities", "cities_lyr")
# Select all cities that overlap the chihuahua polygon
arcpy.management.SelectLayerByLocation("cities_lyr", "intersect", "chihuahua",
0, "new_selection")
# Within selected features, further select only those cities that have a
# population > 10,000
arcpy.management.SelectLayerByAttribute("cities_lyr", "SUBSET_SELECTION",
'"population" > 10000')
# Convert the selected features to JSON
arcpy.conversion.FeaturesToJSON("cities_lyr", r"c:\data\myjsonfeatures.json")