EsriJSON は、さまざまな地理データ構造をエンコードするための形式です。EsriJSON について言及するとき、ほとんどの場合は FeatureSet オブジェクトを意味します。FeatureSet には フィーチャ オブジェクトの組が含まれています。EsriJSON は、ArcGIS Velocity で、FeatureSet オブジェクト (フィーチャのコレクション)、または個々のフィーチャを各行として取り込むことができます。
EsriJSON は次のタイプのフィードとデータ ソースのデータ形式としてサポートされています。
- フィード - Azure Event Hub、Azure Service Bus、AWS IoT、Web サイト (ポーリング)、エンドポイント (受信)、Kafka、WebSocket、RabbitMQ、MQTT。
- データ ソース - Azure Blob Store、Amazon S3、Web サイト (ポーリング)。
サポートされている EsriJSON
Velocity では、ジオメトリ タイプ、フィールドのセット、空間参照が一貫して管理される EsriJSON がサポートされています。
EsriJSON の生成
ArcGIS Pro の [フィーチャ → JSON (Features To JSON)] または ArcMap の [フィーチャ → JSON (Features To JSON)] ツールを使用して、さまざまな形式のデータを EsriJSON に変換できます。
EsriJSON 構成の指定
フィードまたはデータ ソースの構成時に、取り込むデータのタイプを判定するためにサンプリングが行われます。サンプリングによってデータが EsriJSON 形式であることが特定された場合、EsriJSON 構成の追加のプロパティを指定できます。
位置プロパティ
特定の場合、特に個々のフィーチャ オブジェクトをサンプリングしている場合は、サンプル データに存在しない追加の位置情報を構成する必要があることがあります。たとえば、フィーチャの配列内にあるジオメトリ オブジェクトには、各フィーチャの空間参照が含まれていないことがよくあります。FeatureSet オブジェクトをサンプリングするとき、Velocity は完全な位置情報を取得できるので、位置プロパティの追加構成は必要ありません。
検討事項および制限事項
Velocity で EsriJSON 形式のデータを使って作業する場合、注意すべきいくつかの重要な考慮事項があります。
EsriJSON フィーチャ プロパティが一貫していなければならない
EsriJSON データ形式では、属性データは属性オブジェクト内で名前と値のペアによって表されます。プロパティの値は NULL または値でなければなりません。フィーチャのプロパティに値がない場合、その属性名を省略するのではなく、その値を NULL として表す必要があります。
フィールド タイプの変更
通常は、EsriJSON のフィールド タイプを変更しないことをお勧めします。Velocity が FeatureSet オブジェクトをサンプリングして取り込むとき、フィールド タイプの正確な表現が抽出され、これらはソースやフィードを構成するときに変更されません。例外的にフィールド タイプを変更するのはフィーチャ オブジェクトの場合です。フィーチャ オブジェクトがデータ フィールドの時間をエポックのミリ秒単位として表している場合、フィールド タイプを明示的に含む完全な FeatureSet がなければ常に整数フィールド タイプとして抽出されるため、適切に変更する必要があります。さらに、フィーチャ オブジェクトの場合は Velocity が取得されたサンプルのみに基づいて他のフィールド タイプの抽出を試みるため、それに応じてフィールド タイプをレビューする必要があります。
EsriJSON ファイルのサイズ
ベスト プラクティスとして、取り込む EsriJSON ファイルのサイズは、1 ファイルあたり 100 MB 以下に制限する必要があります。大量のデータを取り込む場合、1 ファイルのサイズが 100 MB 以下になるようにファイルを分割することをお勧めします。