ArcGIS for Desktop

  • ドキュメント
  • 価格
  • サポート

  • My Profile
  • ヘルプ
  • Sign Out
ArcGIS for Desktop

ArcGIS Online

組織のマッピング プラットフォーム

ArcGIS for Desktop

完全なプロ仕様の GIS

ArcGIS for Server

エンタープライズ GIS

ArcGIS for Developers

位置情報利用アプリの開発ツール

ArcGIS Solutions

各種業界向けの無料のテンプレート マップおよびテンプレート アプリケーション

ArcGIS Marketplace

組織で使えるアプリとデータを取得

  • ドキュメント
  • 価格
  • サポート
Esri
  • サイン イン
user
  • マイ プロフィール
  • サイン アウト

ヘルプ

  • ホーム
  • はじめに
  • マップ
  • 解析
  • データ管理
  • ツール
  • その他...

シェープファイル出力のジオプロセシングの検討事項

  • シェープファイルを使用すべき場合
  • シェープファイルを使用すべきでない場合
  • シェープファイルのコンポーネントとファイル拡張子
  • ジオメトリの制限
  • 属性の制限
  • サポートされていない機能
  • シェープの長さおよび面積
  • シェープファイルとジオプロセシング

Esri では長年にわたり、地理情報を格納するために、カバレッジ、シェープファイル、ジオデータベースという主な 3 つのデータ形式を開発してきました。シェープファイルは、地理情報と属性情報を格納するためのシンプルな形式を提供するために開発されました。このシンプルな特徴から、シェープファイルは非常に一般的でオープンなデータ転送形式になっています。シェープファイルはシンプルで扱いやすいのですが、制約があり、ジオデータベースにはできてもシェープファイルにはできないことがたくさんあります。シェープファイルを使用する際は、その制限について注意する必要があります。一般的に、次の制限があります。

  • 地理データは、シェープファイルに格納できる単なるフィーチャおよび属性ではありません。たとえば、アノテーション、属性リレーションシップ、トポロジ リレーションシップ、属性ドメインおよびサブタイプ、座標精度および解像度、その他多くの機能は、ジオデータベースではサポートされている一方で、シェープファイルではサポートされていません。
  • シェープファイルは、データ転送において一般的で、公開されているデータ形式であるため、Esri 製でない多くのソフトウェア パッケージはシェープファイルを出力します (シェープファイルの形式の仕様は http://www.esri.com/library/whitepapers/pdfs/shapefile.pdf をご参照ください)。ところが、これらのパッケージが作成するシェープファイルの形式は、必ずしも適切ではありません。別のソースから破損したシェープファイルを受け取ることもあります。
  • シェープファイルは、dBASE ファイル形式 (*.dbfファイル) を使用して属性を格納します。dBASE は 1980 年代の初めに開発された非 Esri 形式であり、その当時、属性のテーブルを格納する最も一般的な形式でした。しかし、それから長い年月を経るうちに、Unicode 標準など世界のほとんどの表記体系をサポートするために、データ表現に対して多くの改良が施されています。そのため、シェープファイルは英語以外の言語で情報を格納するのに向かなくなっています。
  • ジオデータベースのフィーチャクラスと異なり、ArcGIS はシェープの長さやシェープのエリア フィールドを計算したり、維持したりしません。

これらをはじめとする問題のために、シェープファイルはアクティブなデータベース管理には適していません。シェープファイルは、データの作成、編集、バージョン対応、アーカイブという現代のライフ サイクルを扱うことができません。

シェープファイルを使用すべき場合

  • 非 Esri ソフトウェア アプリケーションで使用するために、データをエクスポートする場合
  • ArcView GIS 3 または ArcInfo Workstation で使用するために、データをエクスポートする場合
  • ジオプロセシング サービスなどのために、シンプルなフィーチャと属性を迅速に記述する場合 (ただし、後述する制限に注意する必要があります)

シェープファイルを使用すべきでない場合

後述する例外はありますが、シェープファイルはシンプルなフィーチャ ジオメトリの格納に使用できます。ただし、シェープファイルは属性に関して大きな問題があります。たとえば、シェープファイルは、NULL 値を格納できません。数値を切り上げます。Unicode 文字列のサポートが不十分です。10 文字を超えるフィールド名を使用できません。そして、1 つのフィールド内に、日付と時間の両方を格納できません。これらは、主な問題にすぎません。さらに、シェープファイルは、ドメインやサブタイプなど、ジオデータベースに備わっている機能をサポートしていません。そのため、属性が非常にシンプルでジオデータベースの機能が必要でない場合以外は、シェープファイルは使用しないでください。

シェープファイルのコンポーネントとファイル拡張子

シェープファイルは、3 つ以上のファイルに格納されます。これらは、すべて同じ接頭辞を持ち、同じシステム フォルダー (シェープファイル ワークスペース) 内に格納されます。個々のファイルを表示するには、ArcCatalog ではなく、ArcCatalog でフォルダーを参照します。

延長説明必須

.shp

フィーチャ ジオメトリを格納するメイン ファイル。このファイルに格納されるのはジオメトリだけで、属性は格納されていません。

はい

.shx

*.shp のコンパニオン ファイルで、*.shp ファイル内にある個々のフィーチャ ID の位置を格納します。

はい

.dbf

フィーチャの属性情報を格納する dBASE テーブル。

はい

.sbn および .sbx

フィーチャの空間インデックスを格納するファイル。

いいえ

.atx

ArcCatalog で作成された各 dBASE 属性インデックスに対して作成されます。

いいえ

.ixs および .mxs

読み取り/書き込みモードのシェープファイルのジオコーディング インデックス。

いいえ

.prj

座標系情報を格納するファイル。

いいえ

xml

ArcGIS のメタデータ。シェープファイルに関する情報を格納します。

いいえ

シェープファイルの拡張子

ジオメトリの制限

  • シェープファイルのコンポーネント ファイルには、2 GB というサイズの制限があります。これは、最大で約 7,000 万のポイント フィーチャに相当します。シェープファイルに格納できるラインまたはポリゴン フィーチャの実際の数は、各ラインまたはポリゴンの頂点 (頂点はポイントに相当します) の数によって変わります。
  • シェープファイルには、ジオデータベース フィーチャクラスのような XY 許容値がありません。XY 許容値は、複数のメジャー値が同一と見なされるための最大距離です。この XY 許容値は、同じフィーチャクラスのフィーチャ間や、複数の異なるフィーチャクラス間のリレーションシップを評価する場合に使用されます。また、フィーチャを編集するときにも広範に使用されます。オーバーレイ ツール、[クリップ (Clip)] ツール、[空間検索 (Select Layer By Location)] ツールや、2 つ以上のフィーチャクラスを入力として使うツールなど、フィーチャ間の比較を行う処理を実行している場合は、シェープファイルではなく、(XY 許容値のある) ジオデータベース フィーチャクラスを使用する必要があります。
  • 圧縮方法の違いから、シェープファイルはファイル ジオデータベースや SDE と比べて、3 ~ 5 倍のディスク領域が必要になります。
  • シェープファイルはマルチパッチをサポートしていますが、次の高度なマルチパッチ機能はサポートしていません。
    • テクスチャ座標
    • テクスチャとパート カラー
    • 照明法線
  • シェープファイルの空間インデックスは、ジオデータベース フィーチャクラスと比較して非効率的です。つまり、ジオデータベース フィーチャクラスと比較して、空間検索 (ポリゴン内のフィーチャの選択など) に時間がかかります。これは、大量のフィーチャを処理する場合のみ問題になります。
  • パラメーターで定義されたカーブ(円弧の曲線とも呼ばれます) は、シェープファイルではサポートされていません。「曲線の作成」で説明しているように、パラメトリック カーブは、ジオデータベース フィーチャクラスを編集することで作成されます。円弧の曲線は、曲線の描画に数式を使用します。円弧の曲線フィーチャを含むジオデータベース フィーチャクラスをシェープファイルにエクスポートする場合、カーブ フィーチャは、曲線を捕捉するために、間隔の短い頂点を持つシンプル ライン フィーチャに変換されます。

属性の制限

  • 他の形式と異なり、シェープファイルは、数値属性をバイナリ形式ではなく文字形式で格納します。実数 (つまり、小数点以下を含む数) については、これにより桁数のエラーが生じることがあります。この制限に該当するのは属性だけで、シェープ座標は該当しません。次の表は、各属性のデータ タイプのフィールド幅をまとめたものです。

    ジオデータベースのデータ タイプdBASE フィールド タイプdBASE フィールド幅 (文字数)

    Object ID

    Number

    9

    Short Integer

    Number

    4

    Long Integer

    Number

    9

    Float

    Float

    13

    Double

    Float

    13

    Text

    Character

    254

    Date

    Date

    8

    dBASE のフィールド幅
  • dBASE ファイル標準では、フィールド名と値に ANSI 文字しか使用できません。Esri は、dBASE ファイルに対して広範な Unicode サポートを追加し、Unicode のフィールド名と値を格納できるようにしました。しかし、この追加サポートは ArcGIS 内でのみ使用可能で、非 Esri アプリケーションでは利用できない場合があります。dBASE での Unicode のサポートについては、現在 Esri で継続的に取り組んでいますが、まだ解決すべき問題が残されています。
    注意:

    フィールド名やフィールド値が Unicode に対応している必要がある場合、シェープファイルではなくジオデータベースを使用することを強くお勧めします。

  • 日付フィールドには、日付だけを指定できます。時刻は指定できません。
  • フィールド名は 10 文字以下に制限されます。
  • 属性の最大レコード長は 4,000 バイトです。レコード長は、すべてのフィールドを定義するために使用されるバイト数であり、実際の値を格納するために使用されるバイト数ではありません。
  • フィールドの最大数は 255 です。この制限を超える場合、シェープファイルへの変換では、最初の 255 フィールドが変換されます。
  • dBASE ファイルには、少なくとも 1 つのフィールドが含まれる必要があります。新しいシェープファイルまたは dBASE テーブルを作成する場合、デフォルトで整数の ID フィールドが作成されます。
  • dBASE ファイルは BLOB タイプ、GUID、Global ID、座標 ID、ラスター フィールド タイプをサポートしません。
  • dBASE ファイルは WHERE 句の他に SQL サポートをほとんどサポートしていません。
  • 属性インデックスは、編集の保存時に削除され、一から再作成する必要があります。

NULL 値の表現

シェープファイルでは、NULL 値はサポートされません。NULL を持つフィーチャクラスがシェープファイルに変換されるとき、あるいはデータベーステーブルが dBASE ファイルに変換されるとき、NULL 値は次の表に示すように変更されます。

注意:

シェープファイルあるいは dBASE ファイル (*.dbf) をツールの入力に用いた場合、ArcGIS はフィールド値が NULL 値なのか適切な値なのかを判定できません。

NULL 値を含むデータ タイプNULL 値の置換

Number - ツールに NULL、無限、NaN (Not a Number) を出力する必要がある場合

-1.7976931348623158e+308 (IEEE 標準における負の最大値)

Number (その他すべてのジオプロセシング ツール)

0

Text

" " (空白 - スペースなし)

Date

ゼロとして格納されますが、「<null>」と表示されます。

シェープファイルと dBASE (*.dbf) ファイル内の NULL 値の置換

サポートされていない機能

シェープファイルには、ワークスペースまたはフィーチャクラスのレベルで拡張されたデータ タイプがありません。ジオデータベース フィーチャクラスまたはその他の形式からシェープファイルに変換すると、次の情報が失われます。

  • サブタイプ
  • 属性ドメイン
  • ジオメトリック ネットワーク
  • トポロジ
  • アノテーション

シェープの長さおよび面積

ジオデータベースに格納されたラインまたはポリゴン フィーチャクラスでは、ArcGIS は shape_length および shape_area フィールドを計算し維持します。つまり、ジオデータベース フィーチャクラスのラインまたはポリゴンのシェープを編集すると、shape_length および shape_area フィールドの値が再計算されて、編集内容がフィーチャに反映されます。これは、シェープファイルの場合は異なります。シェープファイルに shape_area または shape_leng フィールドがあり、これらが編集された場合でも、その編集内容は更新されません。

シェープファイルとジオプロセシング

フィーチャクラスを出力するジオプロセシング ツールでは、出力形式としてシェープファイルとジオデータベース フィーチャクラスのいずれかを選択できます。同様に、テーブルを出力するツールを使用すると、dBASE ファイル (*.dbf) かジオデータベース テーブルを出力として選択できます。使用している形式と、ジオデータベースの入力からシェープファイルの出力への変換結果には、必ず注意する必要があります。

ジオプロセシング ツールは、出力フィーチャクラスまたはテーブルを自動生成します。この自動生成された出力は、「現在およびテンポラリ ワークスペース環境の使用」で説明されているように、多くの要因に基づいています。テンポラリ ワークスペース環境をジオデータベースではなくシステム フォルダーに設定している場合、自動生成された出力フィーチャクラスは、以下の図のように、シェープファイルまたは dBASE ファイルになります。

シェープファイルと dBASE の出力

テンポラリ ワークスペースをファイル ジオデータベースに設定して、自動生成された出力がシェープファイルや *.dbf テーブルではなく、ファイル ジオデータベースに書き込まれるようにすることをお勧めします。

ジオプロセシング環境の詳細

シェープファイルは、書き込み処理が高速であるため、モデルの実行を高速化するためにモデルの中間データの書き込みによく使用されます。しかし、ファイル ジオデータベースへの書き込みもシェープファイルへの書き込みと同じくらい高速であるため、実行速度が非常に重要である場合を除いて、中間および出力データにはファイル ジオデータベースを必ず使用してください。シェープファイルを使用する場合は、前述した制限に注意し、シンプルなフィーチャと属性だけにシェープファイルを使用してください。中間データにシェープファイルを使用する代わりに、フィーチャをインメモリ ワークスペースに書き込む方法もあります。

インメモリ ワークスペースの詳細

空間参照とシェープファイル

「空間参照とジオプロセシング」では、ジオプロセシング ツールを使う際の空間参照プロパティの重要性について説明しています。空間参照を制御する多くのジオプロセシング環境がツールで使用されています。次の環境は、ツールの出力がシェープファイルの場合はサポートされていません。

  • XY 座標精度
  • 出力データの XY ドメイン
  • Z 座標精度
  • 出力データの Z ドメイン
  • M 座標精度
  • 出力データの M ドメイン
このトピックへのフィードバック

ArcGIS for Desktop

  • ホーム
  • ドキュメント
  • 価格
  • サポート

ArcGIS プラットフォーム

  • ArcGIS Online
  • ArcGIS for Desktop
  • ArcGIS for Server
  • ArcGIS for Developers
  • ArcGIS Solutions
  • ArcGIS Marketplace

Esri について

  • 会社概要
  • 採用情報
  • スタッフ ブログ
  • ユーザ カンファレンス
  • デベロッパ サミット
Esri
© Copyright 2016 Environmental Systems Research Institute, Inc. | プライバシー | リーガル