どうすればいいか迷っている。したがって、idは、正当な回答を得るためにGIS-SEに配置するのが好きです。
シナリオ:
クライアントにはWebマッピングアプリケーションがあります。複数の小さなアプリケーションに分割する必要はありません。 これは、現代のアプローチがWeb上のマップ(つまり、1つのメインWebマップ上に焦点を絞った多くのWebマップアプリ)に反するものの、一部のユーザーにとって、GISアプリケーションをWeb上で複製しようとすることは、わかりました(時々)。
クライアントは、ベースマップレイヤーの多くを個別のサービスにキャッシュしました。
- クライアントは、ダイナミックマップサービスにさらに600〜700のレイヤーを追加する必要があります...
- サービスは、これらのすべてのレイヤーをオフにして公開されます。
- ユーザーが一度に10〜40を超えるレイヤーをオンにすることは想定されていません。
これに対するあなたの最初の反応は私のものと似ていると思います(600+ ?! WTF ?!)
ただし、要件は明確に設定されていますが、それはなぜですか?以前のArcIMSアプリケーションには同様の機能がありましたが、この新しいArcGIS Server製品で同じことができないのはなぜですか?ユーザーは、レイヤーが他の部門に属している場合でも、レイヤーの範囲全体で相互比較および分析を実行できる必要があります。
結論に進む前に、クライアントはArcGIS Serverの管理者です。
彼らは、すべてのベストプラクティスルールによって600層を管理しています。たとえば、定義クエリと組み合わせた縮尺範囲; ラベル上の注釈。小規模で複雑なレイヤーを一般化する。MSDとして公開します。等
問題点:
ここでより良いアプローチは何ですか?
600のレイヤーすべてを1つのダイナミックマップサービスに公開します
レイヤーを論理グループ(水文学、計画、生態学、ユーティリティなど)に分割します。
#1を使用し、いくつかの複雑なレイヤーがオンになっている場合。単純なポイントレイヤーをオンにしたい場合、ArcGIS Serverは表示されているレイヤー全体を再度レンダリングする必要があります。
#2を使用する場合、リクエストを行うたびに、Webアプリケーションは個々のマップサービスからExportMapsに対して複数のGETリクエストを行う必要がある可能性があります(これは悪いか、#1経由でArcGIS Serverに追加の負荷を作成します) ?)
そして、これにより、すべてが可能な限り高速になるように構成とチューニングが行われます。ArcGIS Serverのバックエンドを複数のホストに拡張し、適切なハードウェアを配置できます。
#1を使用すると、AGSが処理できるインスタンスの最大数をスローできます。
#2に進むと、マップサービスのパフォーマンスを評価し(負荷テストと待機時間を確認)、それに応じてmin / maxインスタンスに対処し、「弱いリンク」であるサービスが1つもないことを確認します。
私は現在、#2のアプローチに傾いています。私のサービスでは、1つのサービスに600のレイヤーがあることは狂気だとまだ言っていますが、デフォルトですべてオフにされている場合、問題はありません。
あなたの考えを聞いてみたいです。コメントを使用して詳細情報が必要な場合はお知らせください。ただし、「デスクトップアプリケーションを使用する」や「別の方法でそれらを教育する」などの回答は求めません。
コメントでの議論から、私は別の考慮事項について言及しなかった。サービスが使用されるアプリケーションには、レイヤーレベルのセキュリティ(アプリケーションレベル)の機能があります。したがって、ユーザーのグループ(かなり大きい)は特定のロールに割り当てられ、そのロールは600のレイヤー全体にアクセスできます。他の役割は制限されます。