シェープ規格(.shp)
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/06/26 14:59 UTC 版)
「シェープファイル」の記事における「シェープ規格(.shp)」の解説
主ファイル(.shp)は地理的データを格納している。ファイルは単一の固定長ヘッダと、それに続く1つ以上の可変長レコードで構成されている。それぞれの可変長レコードは、レコードヘッダ部とレコード内容部でできている。ファイル形式の詳細説明は、ESRI Shapefile Technical Descriptionに記載されている。この形式と同じ「.shp」という拡張子を採用しているAutoCADのシェープフォントソース形式を混同しないこと。 2次元座標データの順序づけは直交座標系を想定しており、(X,Y)あるいは(東西座標,南北座標)の順序である。東西軸と南北軸の順序をこのように取るのは、地理座標系において(経度,緯度)の順に書くこととも整合している。座標系としては、3次元のZ座標軸(高度用)や、4次元のM座標軸(測定値用)もサポートしている。Z座標には各座標の3次元空間における高度を格納し、これは3次元コンピュータグラフィックスにおける可視化や解析などに用いられる。ユーザ定義のM座標には、線形参照値や、4次元空間における経過時間などを格納して、何らかの機能を持たせることができる。 主ファイルヘッダーは固定長100バイトで、17フィールドが含まれる。内訳は、4バイト(32ビット符号付整数 int32)整数フィールドが9個と、それにつづいて8バイト(倍精度)符号付浮動小数点フィールド8個である。 バイト位置データ型エンディアン用途0–3 int32 big ファイル符号 (常に16進数値 0x0000270a を記述) 4–23 int32 big 未使用; uint32 を5個 24–27 int32 big ファイル長さ (16-bit 単語の数で記述。ヘッダ分を含む) 28–31 int32 little バージョン番号 32–35 int32 little Shape 種別(下記参照) 36–67 double little データセット内に含まれるすべてのシェープの最小境界矩形(Minimum bounding rectangle = MBR);四つの倍精度値を次の順序で記述:min X, min Y, max X, max Y 68–83 double little Zの範囲; 二つの倍精度値を次の順序で記述: min Z, max Z 84–99 double little Mの範囲; 四つの倍精度値を次の順序で記述: min M, max M 上記の主ファイルヘッダの後に、任意の数の可変長レコードが続く。各レコードの先頭8バイトはレコードヘッダ部である: バイト位置データ型エンディアン用途0–3 int32 big レコード通番 (1から起算) 4–7 int32 big レコード長さ (16-bit 単語の数で記述) 上記のレコードヘッダの後に、レコード本体が続く: バイト位置データ型エンディアン用途0–3 int32 little Shape 種別 (下記参照) 4– – – Shape 内容 可変長レコードの内容はシェープ種別によって異なる。シェープ種別はファイルヘッダ内で与えるか、Nullとするかのいずれかでなければならない。利用可能なシェープ種別は次の通り: 種別コードShape種別可変長レコードの内容0 Null shape(空データ) なし 1 Point(一点) X, Y 3 Polyline(多角線) MBR, パートの数, 点の数, パート群, 点群 5 Polygon(多角形) MBR, パートの数, 点の数, パート群, 点群 8 MultiPoint(複数点) MBR, 点の数、点群 11 PointZ(3次元一点) X, Y, Zオプション: M 13 PolylineZ(3次元多角線) 必須: MBR, パートの数, 点の数, パート群, 点群, Z の範囲, Z の配列オプション: M の範囲, M の配列 15 PolygonZ(3次元多角形) 必須: MBR, パートの数, 点の数, パート群, 点群, Z の範囲, Z の配列オプション :M の範囲, M の配列 18 MultiPointZ(3次元複数点) 必須: MBR, 点の数, 点群, Z の範囲, Z の配列オプション: M の範囲, M の配列 21 PointM(M付き一点) X, Y, M 23 PolylineM(M付き多角線) 必須: MBR, パートの数, 点の数, パート群, 点群オプション: M の範囲, M の配列 25 PolygonM(M付き多角形) 必須: MBR, パートの数, 点の数, パート群, 点群オプション: M の範囲, M の配列 28 MultiPointM(M付き複数点) 必須: MBR, 点の数, 点群オプション: M の範囲, M の配列 31 MultiPatch(複数パッチ) 必須: MBR, パートの数, 点の数, パート群, パート種別, 点群, Z の範囲, Z の配列オプション: M の範囲, M の配列
※この「シェープ規格(.shp)」の解説は、「シェープファイル」の解説の一部です。
「シェープ規格(.shp)」を含む「シェープファイル」の記事については、「シェープファイル」の概要を参照ください。
- シェープ規格のページへのリンク