概要
フィーチャを 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 を書式設定するかどうかを指定します。
| 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.FeaturesToJSON_conversion(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.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: はい