日本語

問題: マップ サービス全範囲のレイヤーが NaN として表示される

説明

公開されたマップ サービスの FullExtent プロパティに NaN (Not a Number) が返されます。 たとえば、最初の全範囲が以下だったとします。

XMin: -1.2517040322409505E7
YMin: 3946983.752765715
XMax: -1.2444192662924586E7
YMax: 3999198.926415506
Spatial Reference: 102100 (3857)
公開後に出力される全範囲は以下のように表示されます。
XMin: NaN
YMin: NaN
XMax: NaN
YMax: NaN
Spatial Reference: 102100 (3857)

原因

この問題は、壊れたデータまたは不完全な公開処理が原因で発生します。

解決策または対処法

次のいずれかの回避策を使用して、この問題を解決してください。

  • ArcGIS Server サービスを再開します。 詳細については、Web ヘルプ ドキュメント「ArcGIS Server: サービスの起動と停止」をご参照ください。
  • 新しいマップ サービスを公開します。
  1. データをシェープファイルにエクスポートします。 詳細については、Web ヘルプ ドキュメント「ArcMap: フィーチャのエクスポート」をご参照ください。
  2. エクスポートしたシェープファイルをコピーして、[カタログ] ウィンドウからエンタープライズ ジオデータベースに貼り付けます。
  3. エンタープライズ ジオデータベースを ArcGIS Server に登録します。 詳細については、Web ヘルプ ドキュメント「ArcGIS Server: ArcGIS for Desktop を使用したデータの ArcGIS Server への登録」をご参照ください。
  4. ArcGIS Server に新しいマップ サービスを公開します。 この手順については、Web ヘルプ ドキュメント「ArcGIS Server: ArcMap からのマップ サービスの公開」をご参照ください。
  • または、マップ サービスが ArcGIS Runtime SDK for .NET を通じて使用されている場合は、次のスクリプトを使用して全範囲を抽出できます。
var table = await ShapefileTable.OpenAsync(@"C:\Users\jenn6286\Downloads\states_21basic\states.shp");

var features = await table.QueryAsync(new QueryFilter(){WhereClause= "1=1"});
if (features != null)
{
	Envelope fullExtent = GeometryEngine.Union(from f in features where f.Geometry != null select f.Geometry).Extent;
}

関連情報