フィーチャ レイヤーのパフォーマンスを向上させる 5 つのヒント

5tips-to-improve-feature-performance-eyecatch

はじめに

皆さんは、Web レイヤーの描画やポップアップの表示に時間がかかった経験はありませんか?表示速度の違いには、レイヤーのパフォーマンスが大きく影響しています。そのため同じ Web マップ内でも、パフォーマンスが高いレイヤーは素早く表示され、パフォーマンスが低いレイヤーは表示に時間がかかります。

ブログでは、ArcGIS Online でフィーチャ レイヤーの表示を高速化するために、データのパフォーマンスを向上させる 5 つのヒントをご紹介いたします。

5tips-to-improve-feature-

ヒント 1: シンプルにする

表示に時間がかかるレイヤーのテーブルを確認します。余分なフィールドや必要以上に詳細なデータが含まれていませんか?余分なフィールドを削除し、フィールドに含める情報量を抑えることで、レイヤーのパフォーマンスが向上します。

小数点以下の切り捨て

可能であれば小数ではなく整数を使用します。小数を使用する場合は四捨五入して適切な精度に丸めることで、情報量を削減できます。

最大文字数の抑制

文字列の最大文字数を減らすことも有効です。Excel のデータをインポートした場合、フィールドの最大文字数はデフォルトで 32,767 文字に設定されます。この最大文字数を少ない文字数に変更することで、情報量を削減できます。

Arcade 式の利用

Map Viewer では Arcade を使用し、属性テーブルのデータを利用してフィールド値を計算できます。計算結果は変数としてシンボル設定やポップアップに組み込むことができるため、新たなフィールドを追加せずに既存のデータで多様な表現が可能です。
Arcade を使用してみたい方は「はじめての ArcGIS Arcade」をお試しください。

Field-calculate-with-Arcade

ヒント 2: 属性インデックスを追加する

ポップアップ表示やシンボル設定で使用するフィールドに「属性インデックス」を追加することでパフォーマンスを大幅に向上させることができます。インデックスを使用することで目的のデータをテーブルから素早く検索し、表示できます。詳細はヘルプをご参照ください。

ArcGIS Online で属性インデックスを追加する方法は以下の通りです。

  1. ArcGIS Online 組織サイトの [コンテンツ] でパフォーマンスを向上させたいレイヤーをクリックし、アイテム詳細ページを開きます。
  2. [設定] タブ → [インデックスの管理] セクションの [フィールド インデックス] をクリックします。
  3. [インデックスの追加] をクリックし、[属性] を選択し、[次へ] をクリックします。
  4. 属性インデックスを追加したいフィールドを選択し、[リストに追加] → [インデックスの作成] をクリックします。
Attribute-Index

なお、属性インデックスの追加は ArcGIS Pro の [属性インデックスの追加] ツールを使用することもできます。

ヒント 3: レイヤーの描画を最適化する

ArcGIS Pro から公開して作成、または ArcGIS Online にデータをアップロードして作成したレイヤーは、[レイヤーの描画を最適化] ツールを使用できます。

最適化されたレイヤーはファイル サイズが大きくなる半面、Web クライアントでの描画パフォーマンスが大幅に向上します。詳細はヘルプをご参照ください。レイヤーの最適化を行う方法は以下の通りです。

  1. ArcGIS Online 組織サイトの [コンテンツ] でパフォーマンスを向上させたいレイヤーをクリックし、アイテム詳細ページを開きます。
  2. [設定] タブ → [レイヤーの描画を最適化] セクションにある [レイヤーの最適化] オプションをクリックします。
  3. [レイヤーの描写を最適化] ダイアログ ボックスの [更新] をクリックし、数分間処理を実行します。

最適化処理実行中はレイヤーが編集できなくなります。

Optimize-drawing-of-complex-lines-and-polygons

ヒント 4: コンテンツ配信ネットワーク (CDN) にデータをキャッシュする

ArcGIS Online では、Web コンテンツの配信を最適化するネットワークである CDN を使用してレイヤーを配信しています。共有されたレイヤーは CDN にキャッシュされ、ユーザーはデータをホストしているサーバーの場所に関係なく、最も近いサーバーからデータを取得しています。CDN の詳細はこちらのブログをご参照ください。

レイヤーの描画を最適化した後、設定ページをスクロール ダウンして [キャッシュ制御] セクションを確認します。レイヤーの最大キャッシュ期間 (ブラウザーと CDN の間で変更がチェックされる頻度) がデフォルトの 30 秒に設定されていることがわかります。この期間を調整して、必要以上にキャッシュを更新しないようにすることで、描画を高速化できます。

最大キャッシュ期間を変更する方法は以下の通りです。

  1. ArcGIS Online 組織サイトの [コンテンツ] で、パフォーマンスを向上させたいレイヤーをクリックし、アイテム詳細ページを開きます。
  2. [設定] タブ → [キャッシュの制御] セクションで最大キャッシュ期間を設定します。
Control-cache-time

ヒント 5: カスタム シンボルに注意する

ArcGIS Online には多くのシンボルが用意されていますが、ブランド イメージの適用や独自のシンボルをレイヤーに適用したいといった際には、カスタム シンボルを設定できます。カスタム シンボルを設定する際は、パフォーマンスの低下を防ぐために次の 4 つの項目に注意します。

  1. 必要最低限のシンボルだけを設定します。カスタム シンボルの種類が多いほど、レイヤーの描画に必要なクエリ数が増加し、パフォーマンスが低下します。
  2. カスタム シンボルのファイル形式は SVG フォーマットを推奨します。SVG 以外を使用する場合は、120 × 120 ピクセル以下のラスター画像を使用します。
  3. ベクター画像を使用する場合は PNG8 のファイルを使用します。
  4. サービス自体ではなく、レイヤーまたはビューのアイテム詳細ページ内の [ビジュアライゼーション] タブで画像を適用します。こうすることで、画像が情報量の大きいテキスト エンコード画像に変換されることを防ぎ、パフォーマンスの低下を避けられます。
Image-to-textencord

カスタム シンボルを設定した後は、設定したシンボルが縮尺を変えても見やすいことを確認します。見栄えの良いシンボル設定についてはこちらのブログ (英語のみ) をご参照ください。

おわりに

本ブログでは、ArcGIS Online でフィーチャ レイヤーのパフォーマンスを向上させる方法についてご紹介しました。これらのヒントを参考にレイヤーを更新し、マップとアプリがより快適に動作するようにしましょう。

※この記事は、米国 Esri のブログ「Top 5 Tips to Improve Your Feature Layer Performance」を参考に、翻訳した記事です。

関連リンク

フォローする