サポート > PC-MAPPING ヒント集 > エクスポート > ホール(hole)について
ホール(hole)について
ArcView(.shp)ファイルやMapInfo(.mif)ファイルのエクスポートにホール(hole)というオプションが準備されています。
例えば、ArcView(.shp)ファイルの場合、[エクスポート]-[汎用]-[ArcViewシェープファイル]メニューには、
  • モード1:中抜けポリゴンは「別ポリゴン」として出力し、「ホール」としては出力しない
  • モード2:中抜けポリゴンは「別ポリゴン」として出力し、かつ「ホール」としても出力する
  • モード3:中抜けポリゴンは「ホール」として出力し、「別ポリゴン」としては出力しない
があります。
では、これらのオプションはどのような場合に利用するのでしょうか?
■ ホール(hole)とは
ホール(hole)とは「面の内側にある面と認識されない閉図形」の事であり、ドーナツに例えるとパンの部分が「面」で中心のパンがない部分が「ホール(hole)」になります。
PC-MAPPINGにはホール(hole)という概念はありませんが、構造化ポリゴンを生成した場合「親子ポリゴン」という構造を持つ事ができます。
この「子ポリゴン」はポリゴンとして認識されますが、ホール(hole)はこの「子ポリゴン」がポリゴンと認識されない状態なので、形状はとてもよく似ています。
よって、PC-MAPPINGからホール(hole)の形状をインポート・エクスポートするために親子ポリゴンを利用しています。
つまり、「構造化ポリゴン」でなければホール(hole)の形状をインポート/エクスポートする事はできませんのでご注意下さい。

■ ArcViewシェープファイルのエクスポート
以下のようなPC-MAPPINGでのポリゴン構造(Aポリゴンの中にBポリゴンが存在する場合)では、[ファイル]-[エクスポート]-[ArcViewシェープファイル]のモードの違いにより、どのような状態でエクスポートされるのか解説します。
@モード1で出力したshpデータを、再度PC-MAPPINGでインポートすると、
  • アーク数:2
  • ポリゴン数:2
包含関係のみ構造化レイヤーのポリゴンとなります(ただし親子関係は保持されない)。

Aモード2で出力したshpデータを、再度PC-MAPPINGでインポートすると、
  • アーク数:3(ポリゴンAの外側で1アーク、内側のHoleの構成のために1アーク、合計2アークでドーナツ形状を表現します。ポリゴンBは単独で、@の場合と同じです)
  • ポリゴン数:2
包含関係のみ構造化レイヤーのポリゴンとなります(親子関係は保持される)。

Bモード3で出力したshpデータを、再度PC-MAPPINGでインポートすると、
  • アーク数:2
  • ポリゴン数:1
包含関係のみ構造化レイヤーのポリゴンとなります。
ポリゴンBはポリゴンAのHoleとなり、ポリゴンBとしては存在しません。

★モード1
中抜けポリゴン(=ポリゴンB)をホール(hole)として出力しません。
中抜けポリゴンはホール(hole)ではなく、外側のポリゴンに重なった内側のポリゴンとして出力されます。
⇒ポリゴンAの上にポリゴンBが重なっており、AとBの重複部が存在します。
⇒ポリゴンAとポリゴンBは親子関係のない、別のポリゴンとなります。
★モード2
中抜けポリゴン(=ポリゴンB)をホール(hole)として出力し、さらに内側のポリゴンも作成します。
⇒ポリゴンAとポリゴンBの重複部はポリゴンAではくり抜かれた状態で、その穴に一致するポリゴンBが別途出力されます。
⇒エクスポート元が構造化ポリゴン形式の場合、親=ポリゴンA・子=ポリゴンBの包含関係を保持し、かつ、親Aの実質の形状は子Bにくり抜かれた、グレーの部分のみとなります。
★モード3
中抜けポリゴン(=ポリゴンB)は、親ポリゴン(=ポリゴンA)の中抜けとして処理されます。
親ポリゴンの方向は右回り、子(中抜け)ポリゴンの方向は左回りで出力されます。
⇒ポリゴンBはポリゴンAの「ホール」扱いとなり、単独の、属性を持ったポリゴンBとしての存在ではなくなります。

このように、「モード」によって出力されるデータのポリゴン構造が異なりますので、ご利用の用途に合わせてご使用下さい。