フィーチャ → JSON (Features To JSON) (変換)

概要

フィーチャを JSON または GeoJSON 形式に変換します。フィーチャのフィールド、ジオメトリ、および空間参照を、対応する JSON 表現に変換して、拡張子が .json または .geojson のファイルに書き込みます。

使用法

  • 出力ファイルの JSON 表現を読みやすくするために、書式設定を有効にできます。出力ファイルを空白、タブ、および改行で書式設定し、可読性を向上させます。書式設定された JSON は、アプリケーションを開発したりテストしたりする際に有効です。ただし、JSON パーサーでは空白は不要であり無視されるため、本番環境のアプリケーションでは書式設定をお勧めしません。また、書式設定された JSON は、同等の JSON に比べると非常に大きくなり、ファイル サイズが、対応する JSON 表現よりも大きくなります。これはアプリケーションのパフォーマンスに影響を与える可能性があります。

  • 変換は、フィーチャの結合、リレート、およびアタッチメントをサポートしていません。

  • フィーチャクラスまたはレイヤーのフィーチャのサブセットを変換するには、[フィーチャ → JSON (Features To JSON)] を使用する前に、[属性検索 (Select Layer By Attribute)] または [空間検索 (Select Layer By Location)] ツールを使用して変換するフィーチャのサブセットを選択します。

  • [GeoJSON に出力] パラメーター (Python では geoJSON='GEOJSON') を使用して、GeoJSON 仕様に準拠する .geojson ファイル出力を作成します。Esri JSON 出力がデフォルトです。

  • 出力が GeoJSON ファイルの場合、GeoJSON 仕様の標準である WGS 1984 座標系に入力フィーチャを投影するオプションがあります。必要に応じて、デフォルトの地理座標系変換が適用されます。このオプションを使用しない場合、出力 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
(オプション)

ArcGIS REST API 仕様の PJSON (Pretty JSON) 形式と同様に、可読性を向上させるために JSON を書式設定するかどうかを指定します。

  • NOT_FORMATTED フィーチャは書式設定されません。これがデフォルトです。
  • FORMATTEDフィーチャは、書式設定され可読性が向上します。
Boolean
include_z_values
(オプション)

フィーチャの Z 値を JSON に含めるかどうかを指定します。

  • NO_Z_VALUES Z 値はジオメトリに含まれません。また、JSON の hasZ プロパティは含まれません。これがデフォルトです。
  • Z_VALUESZ 値はジオメトリに含まれます。また、JSON の hasZ プロパティは True に設定されます。
Boolean
include_m_values
(オプション)

フィーチャの M 値を JSON に含めるかどうかを指定します。

  • NO_M_VALUES M 値はジオメトリに含まれません。また、JSON の hasM プロパティは含まれません。これがデフォルトです。
  • M_VALUESM 値はジオメトリに含まれます。また、JSON の hasM プロパティは True に設定されます。
Boolean
geoJSON
(オプション)

GeoJSON 仕様に準拠する GeoJSON として出力を作成するかどうかを指定します。

  • GEOJSON 出力が GeoJSON 形式 (*.geojson) で作成されます。
  • NO_GEOJSON出力が Esri JSON (*.json) として作成されます。これがデフォルトです。
Boolean
outputToWGS84
(オプション)

デフォルトの地理座標系変換で入力フィーチャを地理座標系 WGS_1984 に投影するかどうかを指定します。このパラメーターは、出力が GeoJSON の場合にのみ適用されます。

  • WGS84 フィーチャは WGS_1984 に投影されます。
  • KEEP_INPUT_SRフィーチャは WGS_1984 に投影されません。GeoJSON には、座標系を定義する CRS タグが含まれます。これがデフォルトです。
Boolean
use_field_alias
(オプション)

出力ファイルでフィーチャ属性にフィールド エイリアスを使用するかどうかを指定します。

  • USE_FIELD_NAME 出力フィーチャ属性にはフィールド名を使用します。これがデフォルトです。
  • USE_FIELD_ALIAS出力フィーチャ属性にはフィールド エイリアスを使用します。
Boolean

コードのサンプル

FeaturesToJSON (フィーチャ → JSON) の例 1 (Python ウィンドウ)

次の 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")
FeaturesToJSON (フィーチャ → JSON) の例 2 (Python ウィンドウ)

次の Python ウィンドウ スクリプトは、Z 値および M 値を使用して FeaturesToJSON 関数を使用する方法を示しています。

import arcpy
import os
arcpy.env.workspace = "c:/data"
arcpy.FeaturesToJSON_conversion(os.path.join("outgdb.gdb", "myfeatures"), 
                                "myjsonfeatures.json", "NOT_FORMATTED",	
                                "Z_VALUES", "M_VALUES")
FeaturesToJSON (フィーチャ → JSON) の例 3 (スタンドアロン スクリプト)

SelectLayerByAttributeSelectLayerByLocation を使用し、フィーチャのサブセットを JSON に変換します。

# Import system modules
import arcpy
# Set the workspace
arcpy.env.workspace = "c:/data/mexico.gdb"
# Make a layer from the feature class
arcpy.MakeFeatureLayer_management("cities", "cities_lyr") 
 
# Select all cities that overlap the chihuahua polygon
arcpy.SelectLayerByLocation_management("cities_lyr", "intersect", "chihuahua", 
                                       0, "new_selection")
# Within selected features, further select only those cities that have a 
# population > 10,000   
arcpy.SelectLayerByAttribute_management("cities_lyr", "SUBSET_SELECTION", 
                                        '"population" > 10000')
 
# Convert the selected features to JSON
arcpy.FeaturesToJSON_conversion("cities_lyr", r"c:\data\myjsonfeatures.json")

ライセンス情報

  • Basic: はい
  • Standard: はい
  • Advanced: はい

関連トピック