ASCII またはテキスト ファイル テーブルの追加

ArcGIS では、区切りテキスト ファイルのデータに直接アクセスし、テーブルとして使用することができます。ArcCatalog および ArcMap の [データの追加] ダイアログ ボックスには、拡張子が *.txt、*.asc、*.csv、*.tab のファイルが一覧表示され、それらにテキスト ファイルのファイル タイプが割り当てられます。

デフォルトでは、拡張子が *.txt、*.asc、*.csv のファイルはカンマ区切りと解釈され、拡張子が *.tab のファイルはタブ区切りと解釈されます。これらのいずれかの拡張子を持つファイルは、テーブル形式のデータが含まれていない場合でも、テキスト ファイル テーブルとして解釈されます。テーブル形式のデータを含んでいないテキスト ファイルを表示しようとすると、ソフトウェアでエラーが発生するか、データをテーブルとして表示しようとします。この問題を回避するには、区切りテキスト ファイルの拡張子を *.csv または *.tab にします。そうすると、区切りデータを持つテキスト ファイルと形式的でないテキスト ファイルとを区別するのに役立ちます。

テキスト ファイルの最初の行には、カラムの見出しを設定することができます。次の行には、座標と属性を設定することができます。カラムを区別する際は、必ず、カンマかタブを使用してください。次に、カンマ区切りのテキスト ファイルの例を示します。

x,y,ID,color
8.6,5.6,001,blue
99.3,77.0,002,blue and red
8.01,44.3,003,orange

このテキスト ファイルは、ArcCatalog でプレビューすることができます。ArcMap にデータとして追加した場合は、次のように表示されます。

ASCII テーブルの例

独自のテキスト区切り文字の設定

ArcGIS は、ODBC (Open Database Communication)ドライバ用の Microsoft OLE DB プロバイダとテキスト ファイル用の Microsoft ODBC Text Driver を使用して、テキスト ファイル内のテーブル形式のデータにアクセスします。このドライバは、各テキスト ファイルに関するデータ記述(スキーマ)情報を「schema.ini」という名前のファイルに格納するため、データに正しくアクセスすることができます。このファイルは、そのファイルが置かれているディレクトリのテキスト データ ファイルのみを参照します。

テキスト ファイルが含まれているディレクトリに対して書き込みアクセス権を持っている場合には、そのディレクトリを ArcCatalog または ArcMap で閲覧したり開いたりすると、そのディレクトリに schema.ini ファイルが追加されます。ディレクトリ内のテキスト ファイルごとに、schema.ini ファイルに区切り文字を定義するエントリが追加されます。データをテキスト ファイルにエクスポートした場合も、その情報が schema.ini ファイルに書き込まれます。ディレクトリに schema.ini ファイルがまだ存在しない場合は、自動的に作成されます。

ArcGIS では、ファイル拡張子を使用して、各テキスト ファイルの区切り文字の設定方法を決定します。拡張子が *.txt、*.asc、*.csv のファイルはカンマ区切りファイルとして設定され、拡張子が *.tab のファイルはタブ区切りファイルとして設定されます。たとえば、「demog_tab.tab」、「demog.txt」、「demog.csv」、および「demog.asc」という名前のファイルが含まれているディレクトリの schema.ini ファイルの内容は、次のようになります。

[demog_tab.tab]
Format=TabDelimited
[demog.txt]
Format=CSVDelimited
[demog.csv]
Format=CSVDelimited
[demog.asc]
Format=CSVDelimited

拡張子が *.txt、*.csv、または *.asc のファイルがあり、そのファイルでカンマ以外の区切り文字が使用されている場合、デフォルトではデータが正しく解釈されません。この場合は、schema.ini ファイルを変更して、正しい区切り文字を指定することができます。一度 schema.ini ファイルで設定すると、ArcMap と ArcCatalog では、データが正しく解釈されます。次の例では、その方法を示します。

タブ区切りの「city_demog.txt」という名前のファイルの場合、次のように設定することができます。代わりに、ファイル名を変更して拡張子を *.tab にすることもできます。

[city_demog.txt]
Format=TabDelimited

セミコロン区切りの「customers.txt」という名前のファイルの場合、次のエントリを追加します。

[customers.txt]
Format=Delimited(;)

適切なディレクトリ(読み取り専用ディレクトリなど)に schema.ini ファイルを作成できない場合でも、カンマ区切りのテキスト ファイルにアクセスすることは可能です。ODBC テキスト ファイル ドライバは、schema.ini ファイルが存在しない場合、デフォルトでテキスト ファイルをカンマ区切りとして解釈しようとするからです。ただし、この場合、読み取り専用ディレクトリ内のタブ区切りデータには正しくアクセスできなくなります。このような状況が発生した場合は、手動で schema.ini ファイルを作成し、該当するファイルの形式を「TabDelimited」に設定することができます。

フィールド名

フィールド名では、ハイフン(たとえば、x-coord)、スペース、角括弧など、一部の文字がサポートされていません。フィールド名にこれらの文字が含まれている場合は、区切りテキスト ファイルのフィールド名を編集して、それらの文字を削除する必要があります。たとえば、フィールド名のハイフンは下線に置き換えます。

テキスト ファイルのエクスポート

テーブル形式のデータをエクスポートする際、出力ファイルでは常に区切り文字としてカンマが使用されます。さらに、フィールドが正しいデータ タイプにエクスポートされ、形式がカンマ区切りに設定されたことを確認するための情報が、schema.ini ファイルに追加されます。テキスト ファイル テーブルへのエクスポート後に schema.ini ファイルを調べると、出力ファイル内の各フィールドのデータ タイプやフィールド幅に加えて、一般的な情報も確認することができます。次に、例として「Export_Output.txt」という名前のファイルを示します。

[Export_Output.txt]
ColNameHeader=True
CharacterSet=1252
Format=CSVDelimited
Col1=OID Integer
Col2=NAME
Char Width=25

schema.ini ファイルの詳細については、Microsoft MSDN Web ページで schema.ini を検索してください。

関連項目


7/10/2012