フィーチャ → JSON(Features To JSON) (変換)
サマリ
フィーチャを JSON フォーマットに変換します。フィーチャのフィールド、ジオメトリ、および空間参照を、対応する JSON 表現に変換して、拡張子が .json のファイルに書き込みます。
使用法
出力ファイルの JSON 表現を読みやすくするために、フォーマットすることができます。JSON を空白、タブ、および改行でフォーマットし、可読性を向上させます。フォーマットされた JSON は、アプリケーションを開発したりテストしたりする際に効果があります。ただし、JSON パーサーでは空白は不要で無視されるため、本番環境のアプリケーションではフォーマットをお勧めしません。また、フォーマットされた JSON は、JSON 同等のフォーマットに比べると非常に大きくなり、ファイル サイズが、対応する JSON 表現よりも大きくなります。これはアプリケーションのパフォーマンスに影響を与える可能性があります。
- 変換は、フィーチャの結合、リレート、およびアタッチメントをサポートしていません。
フィーチャクラスまたはレイヤのフィーチャのサブセットを変換するには、[フィーチャ → JSON(Features To JSON)] 変換ツールを使用する前に、[属性検索(Select Layer By Attribute)] または [空間検索(Select Layer By Location)] ツールを使用してフィーチャのサブセットを選択します。
構文
パラメータ | 説明 | データ タイプ |
in_features |
JSON に変換するフィーチャ。 | Feature Layer |
out_json_file |
出力 JSON ファイル。 | File |
format_json (オプション) |
JSON は、ArcGIS REST API 仕様の PJSON(Pretty JSON)フォーマットと同様に、可読性を向上させるためにフォーマットできます。
| Boolean |
include_z_values (オプション) |
フィーチャの Z 値を JSON に含めます。
| Boolean |
include_m_values (オプション) |
フィーチャの M 値を JSON に含めます。
| Boolean |
コードのサンプル
次の Python ウィンドウ スクリプトは、FeaturesToJSON(フィーチャ → JSON)関数を使用して 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(フィーチャ → JSON)関数を使用する方法を示しています。
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")
[属性検索(Select Layer By Attribute)] および [空間検索(Select Layer By Location)] を使用して、フィーチャのサブセットを 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", "lyr")
# Select all cities which overlap the chihuahua polygon
arcpy.SelectLayerByLocation_management("lyr", "intersect", "chihuahua", 0, "new_selection")
# Within selected features, further select only those cities which have a population > 10,000
arcpy.SelectLayerByAttribute_management("lyr", "SUBSET_SELECTION", ' "population" > 10000 ')
# Convert the selected features to JSON
arcpy.FeaturesToJSON_conversion("lyr", r"c:\data\myjsonfeatures.json")