>サイトトップへ >このカテゴリの一覧へ

1.

物理データ格納フォーマットの書式規則

1.1 

データタイプ

1.1.1 

自然数タイプ(N

値の範囲  0 を含みフィールド長によって,規定する正の最大値までを表現する。

例  2 バイトのフィールド長をもつ自然数タイプは,0 から 65535 までの範囲を表現し,

“NULL”には,

“0”を割り当てる。

1.1.2 

整数タイプ(I

表現方法  2 の補数表記による。

値の範囲  フィールド長によって,規定する負の最大値から,正の最大値までを表現する。

例  2 バイトのフィールド長をもつ整数タイプは,−32 768 から+32 767 までの範囲を表現

し,

“NULL”には,

“0”を割り当てる。

1.1.3 1

バイト文字列タイプ(C

表現方法  1 バイト系コード(例えば,JIS8 単位符号)の並びによる。

1.1.4 

メタ依存文字列タイプ(CC

表現方法  メタで定義した言語系文字列コード(例えば,SJIS コード)の並びによる。

1.1.5 

ビットタイプ(B

表現方法  各 1 ビットごとに 2 値の意味付けをしたビット群を,一つのフィールドとする。

1.1.6 

正規化タイプ(NZ

値の範囲  正規化値(0.0≦フィールド値≦1.0)を 倍した整数部分を表現する。

1.1.7 

セクタアドレスタイプ(SA

表現方法  3 バイトのセクタアドレス値及び 6 ビットの論理ブロック数で,記録媒体の物理セ

クタアドレスを示す。1 論理ブロックの容量は,32 バイトから 256 バイトまで可変となる。

セクタアドレスタイプは

表 による。

  3  セクタアドレスタイプ

0Word

項番 bit

内容

1 15

∼0

セクタアドレス

1Word

項番 bit

内容

1 15

∼8

セクタアドレス

2 7

ディスク面識別フラグ bit7

意味

0

A

1

B

3 6

格納レイヤ識別フラグ bit6

意味

0

シングルレイヤ

1

ダブルレイヤ

4 5

∼0

論理ブロック数

値の範囲  0[セクタ]  0[ブロック]から 16777215[セクタ] 63[ブロック]までを表現す

る。CD−ROM/DVD−ROM の場合は,1 セクタを 2048 bytes とし,1 論理ブロック当たりの


容量及び論理ブロック数の関係は,

表 による。

  4  1 論理ブロック当たりの容量及び論理ブロック数の範囲

1 論理ブロック当りの容量

論理ブロック数の範囲

32 バイト

0∼63

64 バイト

0∼31

128 バイト

0∼15

256 バイト

0∼7

予 約 の 値   セ ク タ ア ド レ ス が “ 意 味 を も た な い 値 (NULL) ” で あ る 場 合 は , 4 バ イ ト に

“4294967295”

[FFFFFFFF(16)]を割り当てる。

1.1.8 

論理ブロックサイズタイプ(BS

表現方法  論理ブロック数でデータのサイズを示す。1 論理ブロックの容量は,32 バイトから

256

バイトまで可変となる。

値の範囲  0 からフィールド長によって,規定する正の最大値までを表現する。

例  2 バイトのフィールド長をもつブロックサイズタイプは,0 から 65535 までの範囲を表現

し,

“NULL”には,

“0”

[0000(16)]を割り当てる。

1.1.9 

ディスプレイスメントタイプ(D

値の範囲  0 からフィールド長によって,規定する正の最大値までを表現する。

値の単位  ショートワード(2 バイト)

予約の値  “指定すべき実体がない場合(NULL)”は,フィールド長によって規定する最大値を

割り当てる。

例  2 バイトのフィールド長をもつディスプレイスメントタイプは,0 から 65534 までの範

囲を表現し,“NULL”には,“65535”[FFFF(16)]を割り当てる。したがって,最大

131068 bytes

の指定が可能である。また,4 バイトのフィールド長をもつディスプレイ

ス メ ン ト タ イ プ は , 0 か ら 4294967294 ま で の 範 囲 を 表 現 し ,“ NULL ” に は ,

“4294967295”

[FFFFFFFF(16)]を割り当てる。したがって,最大 8589934588 バイト

の指定が可能である。


1.1.10 

ディスプレイスメントセクタアドレスタイプ(DSA

表現方法  セクタアドレスタイプ(SA)と表現方法は同じである。ただし,DSA 表現フィール

ドが存在しているファイルの先頭(全体が一つのファイルの場合,全データ管理フレームの先

頭)を 0 とした,相対セクタアドレスで指定する。

1.1.11 

ショートワードサイズタイプ(SWS

値の範囲  0 からフィールド長によって,規定する正の最大値までを表現する。

値の単位  ショートワード(2 バイト)

例  2 バイトのフィールド長をもつショートワードサイズタイプは,0 から 65535 までの範囲

を表現し,

“NULL”には,

“0”

[0000(16)]を割り当てる。したがって,最大 131070 bytes

の指定が可能である。

1.1.12 

ロングワードサイズタイプ(LWS

値の範囲  0 からフィールド長によって,規定する正の最大値までを表現する。

値の単位  ロング word(4 バイト)

データ容量がショートワードで奇数となる場合は,該当データの末尾に 2 bytes 分のバウンダリ

調整領域が必要となる。

例  2 バイトのフィールド長をもつロングワードサイズタイプは,0 から 65535 までの範囲を

表現し,

“NULL”には,

“0”

(0000(16))を割り当てる。したがって,最大 262140 bytes

の指定が可能である。

1.1.13 

パーセル ID 番号タイプ(PID

表現方法  緯度情報及び経度情報を各 2Word で表現する。

先頭ワードの先頭ビットにフラグをもつ。

次の 20 ビットで緯度及び経度を秒単位で表現する。

次の 3 ビットで緯度及び経度を 0.125 秒単位(1/8 秒)で表現する。

残り 8 ビットは,拡張用とする。

パーセル ID 番号タイプは

表 による。


  5  パーセル ID 番号タイプ

0Word

項番 bit

内容

1 15

南北識別フラグ bit15

意味

0

北緯

1

南緯

2 14

∼0

緯度/秒(SEC)

1Word

項番 bit

内容

1 15

∼11

緯度/秒(SEC)

2 10

∼8

緯度  0.125 秒(1/8 秒)単位

3

7

∼0

拡張用

備考  北緯は,0°0’ 0” (赤道)以上から 90°0’ 0”(北極)次の範囲を示し,南緯は,0°0’ 0”より大き

い値から 90°0’ 0”(南極)次の範囲を示す。

2Word

項番 bit

内容

1 15

東西識別フラグ bit15

意味

0

東経

1

西経

2 14

∼0

経度/秒(SEC)

3Word

項番 bit

内容

1 15

∼11

経度/秒(SEC)

2 10

∼8

経度  0.125 秒(1/8 秒)単位

3 7

∼0

拡張用

備考  東経は,0°  0′0″(グリニッジ子午線)以上から 180° 0′0″未満の範囲を示し,西経は 0°

0

′0″より大きい値から 180° 0′0″次の範囲を示す。極点(北極及び南極)を示す場合

は,必ず東経 0°  0′0″とする。

秒単位で約 30 m 単位の表現か可能であるが,精度を向上させるために,0.125 秒(約 3.75 m)単

位の表現を可能とした。

また,最下位 8 ビットは,拡張性をもたせるエリアとする。

1.1.14

製造者識別タイプ(MID)  製造者識別タイプは,表 による。

  6  製造業者識別タイプ

項番

オフセット

データ長

データ形式

項目名

1 0

8  PID

製造業者の拠点緯度経度

2 8

1

I

製造業者のフロアー情報 
(地上 1 階を 0 とした+

相対階数)

3 9

1

(RESERVED)

4 10

2

N

製造業者の識別設定日 
(1997 年 1 月 1 日を 0 とする相対日数)

特にシステムに依存しない場合は,すべて“FF(16)”で埋める。

製造業者識別タイプ(MID)の PID は,他のデータの測地系にかかわらず,世界測地系(ITRF)

で格納する。


1.1.15

バウンダリタイプ(BR)  表現方法は,バウンダリ調整領域であり,0[0000(16)]の並び

による。

値の範囲  0

1.1.16

メタデータタイプ(M)  表現方法,値の範囲などは,メタデータで説明する。


1.2 

表の読み方

1.2.1

データ項目の読み方  データ項目の例は,表 による。

  7  データ項目の例

項番  オフセット  データ

データ形式

項目名

備考

識別

a

b

c

d

e

f

g

a)

項番  項番は,各項目ごとに付与する項目番号である。

b)

オフセット  オフセットは,該当する項目において,その項目が所属するレコード,テーブル,

リスト及びフレームの先頭位置からの相対位置を(先頭からのバイト数で)格納する。ただし,

識別 C(オプション)のフィールドは設定が任意のため,それ以降のオフセット値は参考値と

する。項目名のオフセット位置が固定でない場合は,O1,O2・・・とする。また,任意位置の

場合は,

“free”とする。

c)

データ長  データ長は,該当する項目のデータ容量を格納する(バイト数)。

データ長が固定でない場合は,B1,B2・・・とする。

d)

データ形式  データ形式は,該当する項目のデータタイプを格納する。一つの項目中に複数の

フィールドが存在する場合,コロン(:)で区切る。一つの項目又はフィールドが複数のデータタ

イプを保持する場合,括弧及びカンマ([,  ,  ])で区切る。

e)

項目名  項目名は,該当する項目の名称を格納する。

(RESERVED)”の項目においては,すべて“0”を格納し,識別“a”を設定する。アプリ

ケーションソフトは,このフィールドが 0 であることを期待してはならず,必ずマスクして,

無視しなければならない。

“(この規格拡張領域)”は,今後のフォーマット拡張を確保する領域であり,領域の有無は他

のフィールドで設定された情報によって判断できなければなない。また,アプリケージョンプ

ログラムは,フォーマット拡張領域に,理解不能なデータが設定された場合は,無視するよう

に動作しなけさばならない。

“(個別拡張領域)”は,製造業者が独自で拡張できる領域であり,非対象システムは,フォー

マット拡張領域と同様に,無視するように動作しなければならない。

“(拡張領域)”は,この規格拡張領域及び個別拡張領域が共存する領域は,総称として格納す

る。

f)

備考  備考は,該当する項目において,必要に応じ注意書きを格納する(ここに記載する番号

は,欄外の注意書きの位置を示す)

g)

識別  識別は,該当する項目において,常に有意な値が格納されている(収容枠が存在する)

ことが必要なのか,又は必要ない場合は,項目自体を省略するものなのかを識別する情報。

1)

常に有意な値を保持しておくべき項目である(必ず収容枠が存在する)

2)

場合によっては“意味をもたない値(NULL)

”の値を保持することがある(必ず収容枠が存

在する)


3)

必要なければ省略する項目である(フレームの並びを管理するフレームにおいては,識別す

べてが c の場合でも,必ず少なくとも一つのフレームが存在しなければならない)

1.2.2

フィールドデータの読み方  フィールドデータの例は表 による。

  8  フィールドデータの例

項番 bit

内容

bitm

意味

a

b

c

d

e

a)

項番  項番は,各フィールドごとに付与する項目番号である。

b)  bit

  bit は,ビットフィールドの範囲を格納する。

c)

内容  内容は,フィールド名称を格納する。

d)  bitm

  bitm は,割り付けるビット値を示す。

e)

意味  意味は,割り付けられたビット値が示す意味を格納する。

1.3 

フォーマットの拡張方法  この規格の拡張と個別製造業者が,独自に行う拡張とを相互に実

現し,更に一つのメディア内で複数製造業者の個別拡張を同時に管理する仕組みについて説明する。

1.3.1

この規格の拡張

a)

この規格の“(RESERVED)”部分は,この規格の拡張に使用する。

b)

フィールドの追加など,構造に影響のある拡張は,当面製造業者ごとの個別拡張と同様の仕組

みを用いる。

1.3.2 

個別拡張の考え方

a)

製造業者ごとにまとまった領域に,拡張データを定義する。

b)

個別拡張は“

(RESERVED)

”部分を使用せず,必ずフィールドの追加とする。

c)

新バージョンで不要となる旧バージョン部分は,無効値(固定部分)

,サイズ 0(可変部分)な

どで対応し,フィールドの再使用は行わない。

1.3.3 

拡張の定義方法

a) 

個別製造業者の識別  個別製造業者の識別は,一つのメディア内に存在する(又は存在の可能

性がある。

)個別拡張製造業者を識別するため,メタ定義を用いて,個別製造業者ごとに管理者

識別コードを定義する。メタ定義は,次の内容を含むものとする。

管理者識別コード表{

管理者識別コード数

            for

(i=0;i<=管理者識別コード数;)

                        index

番号;

…  0 番からの連番とする

管理者識別番号{

システム限定識別の MID;

データ作成者識別の MID;  …  不要な場合は ALL0

開始時刻;

…    同一社での履歴管理


index

番号 0 番の管理者識別番号は,9.1 で定義する,システム限定識別の MID 及びデータ

作成者識別の MID で構成する。

b)

拡張全データ  拡張全データは,表 及び表 10 による。

  9  拡張全データ(管理者識別コード数が 1 の場合)

項番  オフセット  データ長

データ形式

項目名

備考

識別

1 O

B1

拡張データ

a

 10  拡張全データ(管理者識別コード数が 2 以上の場合)

項番  オフセット  データ長

データ形式

項目名

備考

識別

1 O

B1

拡張データフレームの並び

a

c)

拡張データフレーム  拡張データフレームは,表 11 による。


 11  拡張データフレーム

項番  オフセット  データ長

データ形式

項目名

備考

識別

1 0

2  B:B:N:N

拡張ヘッダ情報

a

2 O1

2

N

別設定管理者識別コード

c

3 O2

2

SWS

別設定拡張データサイズ

c

4 O3

B1

拡張データ

c

d)

拡張ヘッダ情報  拡張ヘッダ情報は,表 12 による。

 12  拡張ヘッダ情報

項番 bit

内容

1 15

管理者識別エリア種別 bit15

意味

0

管理者識別コード

1

別設定管理者識別コード欄が有効

2 14

拡張データサイズエリア種別 bit14

意味

0

拡張データサイズ

1

別設定拡張データサイズ欄が有効

3 13

∼10

管理者識別エリア  *

4 9

∼0

拡張データサイズエリア  **

*

管理者識別エリア

管理者識別エリア種別が“管理者識別コード”の場合,

別途定義する“管理者識別コード表”の index 番号を入れる。設定値 0∼15。

管理者識別エリア種別が“別設定管理者識別コード欄が有効”の場合,

このフィールドは無効とする。

**

拡張データサイズエリア

拡張データサイズエリア種別が“拡張データサイズ”の場合,

拡張データフレームの拡張データのデータサイズを示す。設定値 0∼63。

データサイズ=(

“拡張データサイズ”+1)×2 とする。表現範囲 2∼128。

拡張データサイズエリア種別が“別設定拡張データサイズ欄が有効”の場合,

このフィールドは無効とする。

e)

別設定管理者識別コード  別設定管理者識別コードは,表 13 による。

 13  別設定管理者識別コード

項番  オフセット  データ長

データ形式

項目名

備考

識別

1 0

2

N

管理者識別コード

a

管理者識別エリア種別が“別設定管理者識別コード欄が有効”の場合有効になり,別途定義

する“管理者識別コード表”の index 番号を入れる。設定値 0∼65535。

f)

別設定拡張データサイズ  別設定拡張データサイズは,表 14 による。

 14  別設定拡張データサイズ

項番  オフセット  データ長

データ形式

項目名

備考

識別

1 0

2

SWS

拡張データサイズ

a

拡張データサイズエリア種別が“別設定拡張データサイズ欄が有効”の場合,有効になり,

拡張データフレームの拡張データのデータサイズを示す。設定値 0∼65535。


拡張データのサイズは,

(“拡張データサイズ”+1)×2 とする。表現範囲 2∼131070。

g) 

拡張データ  拡張データは,管理者識別コードで示す管理者の独自仕様に従い,データの実体

を設定する。

h) 

拡張の具体例  拡張の具体例は次のとおり。

 for

(管理者識別コード数)

ヘッダ情報{

管理者識別コード(MID 定義テーブルの index                …    この規格定義

拡張部サイズ(2 bytes 単位)

…    この規格

定義

拡張部実体{                                                                                              …    各管理者の定

                          for(

ノード数)

{                                             …    本体のノードレコードの並びと

同じ

拡張ノード属性

拡張リンク属性

付加ノード情報有無フラグ

拡張ノード付加情報へのオフセット      …    拡張部分先頭からのオフセ

ット

拡張ノード付加情報{

                                      for(

付加情報があるノード数)

付加情報の並び

…  必要なものだけ

設定

              }