<\/HEAD>
ArcGIS を使用すると、インタラクティブなウェブマップやアプリで数百、数千、数万、さらには無数のフィーチャを表示できます。このブログでは、Map Viewer と Web Apps がフィーチャ サービスとどのように連携するかについての技術的な詳細を説明します。 大規模なデータセットを完全に表示すると、視覚的に混乱したり、最適なパフォーマンスが発揮されなくなることがあります。フィーチャ レイヤーのパフォーマンスが最適でなくなると、Map Viewer の左下隅にオレンジ色の感嘆符が表示され、「レイヤーが完全に描画されませんでした」ということを示します。 <\/P>
<\/P>
スパイダーマンの叔父であるベン・パーカーおじさんはかつてこう言いました。1つの大きな力には大きな責任が伴う7。大規模なデータセットを使ってマップやアプリを作成する際はこれを心に留めておいてください。ウェブマップで持っているだけ多くのフィーチャを表示することは可能ですが、マップの閲覧者や、このブログで説明されている戦略を考慮し、大量データを効果的に表示して最適な情報製品を作成することを検討してください。<\/P>技術的な話に入りましょう<\/STRONG><\/SPAN><\/P>Map Viewer と ArcGIS web apps は、効率的なフィーチャ表示につながるフィーチャ レイヤーからデータをリクエストします。 Map Viewer は、小規模なフィーチャ サービスの場合は単一リクエスト(Snap Shot Mode)で全フィーチャを取得するか、大規模なフィーチャ サービスの場合は同じサービスに対して多数の小さなリクエスト(On-Demand Mode)を行うかを決定します。<\/P>
<\/A><\/P><\/P>
フィーチャ レイヤーが最初にリクエストされるとき、ウェブマップは
outStatistics を指定したクエリ リクエストを送信し、そのレイヤーが 2000 ポリゴン、4000 ポイント、または 250,000 頂点を超えているかどうかを確認します。制限値を超えている場合(値が 1)、On-Demand Mode が使用されます。(ウェブ リクエストの監視について復習したい場合は、このブログをご覧ください:https:\/\/community.esri.com\/groups\/cats\/blog\/2017\/05\/04\/monitoring-web-service-requests-from-web-apps)<\/P>
< / P >< P > On-Demand Mode が使用されてフィーチャ サービスからフィーチャがリクエストされると、ウェブマップはマップを仮想タイル スキームに分割し、ウェブマップ内の特定の範囲ごとに個別のリクエストを行います。これにより、マップ内で決定された各タイル範囲ごとに個別のリクエストが送信されます。各リクエストには最大ポイント数が設定できます。この値はフィーチャ レイヤーのソースによって異なります。デフォルトでは、ホストされたフィーチャ サービスはサーバーから効率的に最大8,000 ポイントまで返すことができ、ArcGIS Server サービスの場合は1000ポイントです。仮想タイルのいずれかがこの制限を超えると、Map Viewer にオレンジ色の感嘆符が表示されます。< / P >< P > このマップは2017年の地震Web Appで使用された4つの仮想タイルを示しており、15,284個のフィーチャがあります。どの仮想タイルも8,000ポイントを超えないため、エラーメッセージは表示されず、すべてのフィーチャが表示されています。< / P >< P >< A href = "https:\/\arcg.is\4bS54" rel = "nofollow noopener noreferrer">
< / P >< OL >< LI > Geometry: -20037508.342788905,0.000004857778549194336,0.000004857778549194336,20037508.342788905 , < A href = "https:\/\services5.arcgis.com\cuQhNeNcUrgLmYGD\arcgis\rest\services\Earthquake2017Sept\FeatureServer\0\query?f=html&returnGeometry=true&spatialRel=esriSpatialRelIntersects&geometry=%7B%xmin%-20037508.342788905,%ymin%-0.000004857778549194336,%xmax%-122.97958943160695,%ymax%-44.96066209797748,%spatialReference%-{wkid:102100,latestWkid:3857}%7D&geometryType=esriGeometryEnvelope&inSR=102100&outFields=*&outSR=102100&resultType=tile" rel = "nofollow noopener noreferrer">Request</ A > , Points Returned:7763 < / LI >< LI > Geometry:-0.000004857778549194336,0.000004857778549194336,20037508.34277919,20037508.342788905,< A href = "https:\/\services5.arcgis.com\cuQhNeNcUrgLmYGD\arcgis\rest\services\Earthquake2017Sept\FeatureServer\0\query?f=html&returnGeometry=true&spatialRel=esriSpatialRelIntersects&geometry=%7B%xmin%-0.000004857778549194336,%ymin%-0.000004857778549194336,%xmax%-20037508.34277919,%ymax%-20037508.342788905,%spatialReference%-{wkid:102100,latestWkid:3857}%7D&geometryType=esriGeometryEnvelope&inSR=102100&outFields=*&outSR=102100&resultType=tile" rel = "nofollow noopener noreferrer">Request</ A > . Points Returned:3085 < / LI >< LI > Geometry:-0.000004857778549194336,-20037508.34277919,20037508.34277919,0.000004857778549194336,< A href = "https:\/\services5.arcgis.com\cuQhNeNcUrgLmYGD\arcgis\rest\services\Earthquake2017Sept\FeatureServer\0\query?f=html&returnGeometry=true&spatialRel=esriSpatialRelIntersects&geometry=%7B%xmin%-0.000004857778549194336,%ymin%-20037508.34277919,%xmax%-20037508.34277919,%ymax%-0.000004857778549194336,%spatialReference%-{wkid:102100,latestWkid:3857}%7D&geometryType=esriGeometryEnvelope&inSR=102100&outFields=*&outSR=102100&resultType=tile" rel = "nofollow noopener noreferrer">Request</ A > , Points Returned:2135 < / LI >< LI > Geometry:-20037508.342788905,-20037508.34277919,-0.000004857778549194336,0.000004857778549194336 < A href = "https:\/\services5.arcgis.com\cuQhNeNcUrgLmYGD\arcgis\rest\services\Earthquake2017Sept\FeatureServer\0\query?f=html&returnGeometry=true&spatialRel=esriSpatialRelIntersects&geometry=%7B%xmin%-20037508.342788905,%ymin%-20037508.34277919,%xmax%-0.000004857778549194336,%ymax%-0.000004857778549194336,%spatialReference%-{wkid:102100,latestWkid:3857}%7D&geometryType=esriGeometryEnvelope&inSR=102100&outFields=*&outSR=102100&resultType=tile" rel = "nofollow noopener noreferrer">Request</ A > , Points Returned:2301 < / LI >< / OL >< P > このウェブマップは2014年から2017年までの地震Web Appで使用された4つの仮想タイルを示しており、95,039個のフィーチャがあります(無数ではありませんが、ご理解ください)。各仮想タイルが8,000以上のフィーチャを返すため、オレンジ色の感嘆符が表示され、それぞれの仮想タイルにつき8,000個のフィーチャが表示されます。< / P >< P >< A href = "https:\/\arcg.is\10LLCz" rel = "nofollow noopener noreferrer">
< / P >< P >< / P >< OL >< LI > Geometry:-20037508.342788905,0.000004857778549194336,0.000004857778549194336,20037508.342788905 , < A href = "https:\/ \services5.arcgis.com \cuQhNeNcUrgLmYGD \arcgis \rest \services \earthquake2014_2017 \FeatureServer \0 \query ? f = html & returnGeometry=true & spatialRel=esriSpatialRelIntersects & geometry=%7B%xmin%-20037508.342788905,%ymin%-0.000004857778549194336,%xmax%-122.97958943160695,%ymax%-44.96066209797748,%spatialReference%-{wkid:102100,latestWkid:3857}%7D & geometryType=esriGeometryEnvelope & inSR=102100 & outFields=* & outSR=102100 & resultType=tile" rel="nofollow noopener noreferrer">リクエスト、返されたポイント数: 8000ジオメトリ: -0.000004857778549194336, 0.000004857778549194336, 20037508.34277919,20037508.342788905, リクエスト、返されたポイント数: 8000ジオメトリ: -0.000004857778549194336, -20037508.34277919, 20037508.34277919, 0.000004857778549194336, リクエスト、返されたポイント数: 8000ジオメトリ: -20037508.342788905, -20037508.34277919, -0.000004857778549194336, 0.000004857778549194336 リクエスト、返されたポイント数: 8000警告の防止
レイヤーが完全に描画されていないことを示す感嘆符が表示された場合、エラーなしで全データを描画するための方法は二つあります。
- フィーチャ サービスへのリクエストがフィーチャ レイヤーの制限を超えないようにマップを設定します。オンデマンド モードで要求されるデータ量を減らすには、表示スケール範囲を設定するか、フィルターを適用してください。
- 上記のリクエスト制限を超える大量のフィーチャを表示する必要がある場合は、タイル サービスを使用してください。これにより、事前レンダリングされた画像形式で全データを視覚的に表示するパフォーマンスの高いレイヤーになります。
このアプリケーションはフィーチャ サービス(右)とタイル サービス(左)で同じデータを表示します。両者は非常によく似ていますが、タイル サービス(左)の描画パフォーマンス速度がはるかに速いことに気づくでしょう。よく見ると、タイル レイヤーにはより多くのフィーチャ(グリーンランド西海岸)が含まれていることもわかります。タイル サービスはエラーなく全データを描画できますが、大量のフィーチャを視聴者に見せる最良の方法かどうかは検討が必要です。大量データ表示の戦略については関連するブログをご覧ください。
レイヤー描画警告に関する追加注意事項:
- レイヤー描画エラーが表示されると、Web マップには不完全なデータセットのみが描画されます。さらに、Web アプリケーションではエラーメッセージが抑制されるため、ユーザーはデータセットの一部しか表示されていないことに気づかない可能性があります。
- サービスからの応答にエラーがある場合も警告が表示されます。エラーが発生しフィーチャが描画されない場合は、Web リクエストを監視して問題をさらに調査してください。