ポイント、ポリライン、ポリゴンを含むベクターマップ | |
| ファイル名拡張子 | .shp、、.shx.dbf |
|---|---|
| インターネットメディアの種類 |
x-gis/x-shapefile |
| 開発者 | エスリ |
| フォーマットの種類 | 地理情報システム |
| 標準 | シェイプファイルの技術的説明 |
シェープファイル形式は、地理情報システム (GIS) ソフトウェア用の地理空間ベクターデータ形式です。これは、Esri と他のGIS ソフトウェア製品間のデータ相互運用性のためのほぼオープンな仕様としてEsriによって開発および規制されています。[1]シェープファイル形式では、ポイント、ライン、ポリゴンなどのベクターフィーチャを空間的に記述でき、たとえば井戸、川、湖を表します。各アイテムには通常、名前や温度など、そのアイテムを説明する属性があります。
概要
シェープファイル形式は、地理的位置と関連する属性情報を格納するためのデジタル ベクター ストレージ形式です。この形式には、トポロジ情報を格納する機能がありません。シェープファイル形式は、1990 年代初頭にArcView GISバージョン 2で導入されました。現在では、さまざまなソフトウェアでシェープファイル形式を使用して地理データセットの読み取りと書き込みを行うことができます。
シェープファイル形式では、ポイント、ライン、ポリゴンなどの基本的な幾何学的形状としてジオメトリが格納されます。これらの形状は、各形状にリンクされたデータ属性とともに、地理データの表現を作成します。「シェープファイル」という用語は非常に一般的ですが、この形式は、同じディレクトリに格納される共通のファイル名プレフィックスを持つファイルのコレクションで構成されています。3 つの必須ファイルのファイル名拡張子 は.shp、、、.shxです.dbf。実際のシェープファイルはファイルに具体的に関連していますが、他のサポート ファイルが必要なため、それだけでは配布には不十分です。ESRIシェープファイル技術説明[1].shpに従って、従来の GIS ソフトウェアでは、DOS 8.3 ファイル名規則に準拠するためにファイル名プレフィックスが 8 文字に制限されることが想定される場合がありますが、最新のソフトウェア アプリケーションでは、より長い名前のファイルも受け入れます。
必須ファイル
.shp- シェイプ形式。フィーチャのジオメトリ自体。
コンテンツ タイプ:x-gis/x-shapefile .shx- シェイプ インデックス形式。フィーチャ ジオメトリの位置インデックスで、前方および後方への迅速なシークが可能になります。
コンテンツ タイプ:x-gis/x-shapefile .dbf- 属性形式。各図形の列属性 ( dBase IV 形式)。
コンテンツ タイプ:application/octet-streamORtext/plain
その他のファイル
.prj—座標参照系のよく知られたテキスト表現を使用した投影の説明{content-type: text/plain OR application/text}.sbnそして.sbx、地物の空間インデックス{content-type: x-gis/x-shapefile}.fbnおよび.fbx— 読み取り専用のフィーチャの空間インデックス {content-type: x-gis/x-shapefile}.ainそして、.aihテーブル内のアクティブなフィールドの属性インデックス {content-type: x-gis/x-shapefile}.ixs— 読み書き可能なデータセットのジオコーディング インデックス {content-type: x-gis/x-shapefile}.mxs— 読み書き可能なデータセットのジオコーディング インデックス (ODB 形式) {content-type: x-gis/x-shapefile}.atx— ファイルの属性インデックス(ArcGIS 8 以降){content-type: }.dbfの形式shapefile.columnname.atxx-gis/x-shapefile.shp.xml— ISO 19115やその他のXML スキーマなどの XML 形式の地理空間メタデータ{content-type: application/fgdc+xml}.cpg—使用する文字エンコーディングを識別するためのコードページを指定するために使用されます( のみ.dbf) {content-type: OR }text/plainx-gis/x-shapefile.qix— MapServerおよびGDAL/OGRソフトウェアで使用される代替の4 分木空間インデックス{content-type: x-gis/x-shapefile}
.shp、、.shxおよびの各.dbfファイルでは、各ファイル内のシェイプが順番に対応しています (つまり、ファイルの最初のレコードは、およびファイル.shpの最初のレコードに対応します)。およびファイルには、異なるエンディアンを持つさまざまなフィールドがあるため、ファイル形式の実装者は、各フィールドのエンディアンを尊重し、適切に処理するように細心の注意を払う必要があります。
.shx.dbf.shp.shx
ファイル形式
シェイプファイルシェイプフォーマット(.shp)
メインファイル ( .shp ) にはジオメトリ データが含まれています。特定のフィーチャのジオメトリは、ベクトル座標のセットとして保存されます。[1] : 5 バイナリ ファイルは、1 つの固定長ヘッダーと、それに続く 1 つ以上の可変長レコードで構成されます。各可変長レコードには、レコード ヘッダー コンポーネントとレコード コンテンツ コンポーネントが含まれます。ファイル形式の詳細な説明は、ESRI Shapefile Technical Descriptionに記載されています。[1]この形式は、拡張子が同じAutoCADシェイプ フォント ソース形式と混同しないでください。
.shp
座標データの 2D 軸の順序は、(XY) または (東北) の順序を使用する直交座標系を想定しています。この軸の順序は地理座標系と一致しており、順序は同様に (経度 緯度) です。ジオメトリは、標高と測定用にそれぞれ 3 次元または 4次元のZ 座標と M 座標をサポートする場合もあります。Z 次元は、 3D 空間の各座標の標高を格納します。これは、分析や3D コンピュータ グラフィックスを使用したジオメトリの視覚化に使用できます。ユーザー定義の M 次元は、 4D 空間での線形参照測定やフィーチャの相対時間を格納するなど、多くの機能の 1 つに使用できます。
メイン ファイル ヘッダーの長さは 100 バイトに固定されており、17 個のフィールドが含まれています。9 つの 4 バイト (32 ビット符号付き整数または int32) 整数フィールドと、それに続く 8 バイト ( double ) 符号付き浮動小数点フィールドです。
シェープファイルヘッダー
シェープファイルレコードヘッダー
ファイルには任意の数の可変長レコードが含まれます。各レコードの先頭には 8 バイトのレコード ヘッダーが付きます。
シェープファイルレコード
レコード ヘッダーの後に実際のレコードが続きます。
可変長レコードの内容はシェイプ タイプによって異なり、ファイル ヘッダーで指定されたシェイプ タイプまたは Null のいずれかである必要があります。可能なシェイプ タイプは次のとおりです。
シェイプファイルシェイプインデックス形式(.shx)
インデックスには、フィーチャ ジオメトリの位置インデックスと、ファイルと同じ 100 バイトのヘッダーが含まれ.shp、その後に次の 2 つのフィールドで構成される任意の数の 8 バイトの固定長レコードが続きます。
このインデックスを使用すると、まずシェイプ インデックス内で後方にシークし (固定長レコードを使用しているため可能)、次にレコード オフセットを読み取り、そのオフセットを使用してファイル内の正しい位置をシークすることで、シェイプファイル内で後方にシークできます.shp。同じ方法を使用して、任意の数のレコードを前方にシークすることもできます。
1 つのファイルから完全なインデックス ファイルを生成することは可能です.shp。ただし、シェープファイルには常にインデックスが含まれているはずなので、これを行うと破損したファイルを修復することになります。[2]
シェープファイル属性フォーマット(.dbf)
このファイルは各シェイプの属性を格納し、dBase IV 形式を使用します。この形式は公開されており、xBaseとして知られる多くの dBase クローンで実装されています。たとえば、オープンソースのシェープファイル C ライブラリは、その形式が単純な dBase IV であるにもかかわらず、その形式を「xBase」と呼んでいます。[3]
属性の名前と値は標準化されておらず、シェープファイルのソースによって異なります。
シェープファイルの空間インデックス形式(.sbn)
これはバイナリ空間インデックスファイルで、Esri ソフトウェアでのみ使用されます。この形式は Esri によって文書化されていません。ただし、オープンソースコミュニティによってリバースエンジニアリングされ、文書化されています。100 バイトのヘッダーは、.shpのヘッダーに似ています。[4]現在、他のベンダーでは実装されていません。このファイルには、空間データを正常に解析するために必要なすべての情報が含まれている
ため、厳密には必要ありません。.sbn.shp
制限事項
シェープファイル形式にはいくつかの制限がある。[5]
トポロジとシェープファイル形式
シェープファイル形式には、シェイプ間のトポロジ関係を保存する機能がありません。ESRI ArcInfoカバレッジと多くのジオデータベースには、フィーチャ トポロジを保存する機能があります。
データストレージ
.shpコンポーネントファイルのサイズは.dbf2GB(または2 31バイト)を超えることはできません。最大で約7000万ポイントフィーチャです。 [6]他のジオメトリタイプのフィーチャの最大数は、使用される頂点の数によって異なります。
コンポーネントファイルの属性データベース形式は、古いdBase.dbf標準に基づいています。このデータベース形式には、本質的にいくつかの制限があります。[6]
- 現在のdBase標準とGDAL/OGR(シェープファイル形式のデータセットの読み取りと書き込み用の主要なオープンソースソフトウェアライブラリ)はnull値をサポートしていますが、ESRIソフトウェアはこれらの値をゼロとして表します。これは、null数量がゼロとして表されると表現と統計が歪む可能性があるため、定量的データを分析する上で非常に深刻な問題です。
- Unicodeフィールド名またはフィールドストレージのサポートが不十分
- フィールド名の最大長は10文字です
- フィールドの最大数は255です
- サポートされているフィールド タイプは、浮動小数点 (13 文字の保存)、整数 (4 文字または 9 文字の保存)、日付 (時間の保存なし、8 文字の保存)、およびテキスト (最大 254 文字の保存) です。
- 浮動小数点数はテキストとして保存されるため、丸め誤差が生じる可能性があります。
形状タイプの混合
シェイプ タイプは各ジオメトリ レコードの前にあるため、シェープファイルは技術的には異なるシェイプ タイプを混在させて保存できます。ただし、仕様では「シェープファイル内の Null 以外のシェイプはすべて同じシェイプ タイプである必要があります」と規定されています。したがって、シェイプ タイプを混在させる機能は、ファイルのヘッダーで宣言された単一のシェイプ タイプに Null シェイプを散在させることに限定する必要があります。シェープファイルにはポリライン データとポリゴン データの両方を含めることはできません。たとえば、井戸 (ポイント)、川 (ポリライン)、湖 (ポリゴン) の説明は、3 つの別々のデータセットに保存されます。
参照
参考文献
- ^ abcd ESRI (1998 年 7 月). 「ESRI Shapefile 技術説明」(PDF) . 2007 年7 月 4 日閲覧。
- ^ Rollason, Ed. 「qgis - 不足している .shx ファイルを作成しますか?」。地理情報システム Stack Exchange。
- ^ 「シェープファイル C ライブラリ V1.2」。
- ^ 「SBNフォーマット」(PDF) 2011年10月4日。 2016年8月13日時点のオリジナル(PDF)よりアーカイブ。2023年6月21日閲覧。
- ^ Cepicky, Jachym (2017). 「Switch from Shapefile」. switchfromshapefile.org .
- ^ ab 「ArcGIS Desktop 9.3 ヘルプ – シェープファイル出力のジオプロセシングに関する考慮事項」。Esri。2009 年 4 月 24 日。
外部リンク
- シェープファイルのファイル拡張子 – ArcGIS 10.0 (2010) の Esri Webhelp ドキュメント
- Esri – トポロジとシェープファイルを理解する
- shapelib.maptools.org – シェープファイルの読み取り/書き込み用の無料 C ライブラリ
- Python シェープファイル ライブラリ – オープン ソース (MIT ライセンス) シェープファイルの読み取り/書き込み用の Python ライブラリ
- Java シェープファイルおよび Dbase ライブラリ – オープン ソース (Apache ライセンス) シェープファイルおよび関連する dBase ファイルの読み取り/書き込み用の Java ライブラリ (ライブラリは AFC ライブラリの一部ですが、独立して使用することもできます)
