シェープファイル
Z座標には各座標の3次元空間における高度を格納し、これは3次元コンピュータグラフィックスにおける可視化や解析などに用いられる。ユーザ定義のM座標には、線形参照値や、4次元空間における経過時間などを格納して、何らかの機能を持たせることができる。
主ファイルヘッダーは固定長100バイトで、17フィールドが含まれる。内訳は、4バイト(32ビット符号付整数 int32)整数フィールドが9個と、それにつづいて8バイト(倍精度)符号付浮動小数点フィールド8個である。
上記の主ファイルヘッダの後に、任意の数の可変長レコードが続く。各レコードの先頭8バイトはレコードヘッダ部である:
上記のレコードヘッダの後に、レコード本体が続く:
可変長レコードの内容はシェープ種別によって異なる。シェープ種別はファイルヘッダ内で与えるか、Nullとするかのいずれかでなければならない。利用可能なシェープ種別は次の通り:
シェープファイル形式は、幾何学的な位置と、それに関連する属性情報を格納するベクタ格納形式である。ただし、トポロジー情報を格納することはできない。シェープファイル形式は1990年代初めにArcViewVer2で導入された。今では様々なプログラムを使用してシェープファイル形式の地理情報を読み書きできるようになっている。
シェープファイル形式に保存できるのは、ポイント、ライン、ポリゴンという原始的な幾何学データだけであるため、その構造は単純である。シェープ(ポイント、ライン、ポリゴン)とデータ属性を使って、無数の地理的データの表現(representation)を作り出すことができる。表現により強力で正確な計算が可能になる。
「シェープファイル」という用語はかなりよく知られているが、この用語は誤解を招きやすい一面もある。なぜならシェープファイル形式は、共通のファイル名(プレフィックス)を持つ複数のファイルを同一ディレクトリに格納しておかねばならないからである。shp、.shx、.dbf(dBASE)の拡張子を持つ3種類のファイルは必須である。実際に地理的データが格納されている「シェープファイル」はこのうち特に.shpファイルのことだけを指すが、単独のファイルでは不完全であり、他の支援ファイルも必要である。
パフォーマンス向上のため、主にインデックスデータを格納するオプションファイルがある。シェープファイルに対応している過去のソフトウェアで扱う際は、個々のファイル名をDOS準拠(「8文字ファイル名.3末尾」例:testfile.
主ファイル(.shp)は地理的データを格納している。ファイルは単一の固定長ヘッダと、それに続く1つ以上の可変長レコードで構成されている。それぞれの可変長レコードは、レコードヘッダ部とレコード内容部でできている。ファイル形式の詳細説明は、ESRI Shapefile Technical Descriptionに記載されている。この形式と同じ「.shp」という拡張子を採用しているAutoCADのシェープフォントソース形式を混同しないこと。
2次元座標データの順序づけは直交座標系を想定しており、(X,Y)あるいは(東西座標,南北座標)の順序である。東西軸と南北軸の順序をこのように取るのは、地理座標系において(経度,緯度)の順に書くこととも整合している。座標系としては、3次元のZ座標軸(高度用)や、4次元のM座標軸(測定値用)もサポートしている。