ArcGISの複数のフィールドの属性テーブルのデータタイプを変更するにはどうすればよいですか?
たとえば、フィールドがExcelから文字列としてエクスポートされ、それらを数値として使用したい場合はどうすればよいですか?
ArcGISの複数のフィールドの属性テーブルのデータタイプを変更するにはどうすればよいですか?
たとえば、フィールドがExcelから文字列としてエクスポートされ、それらを数値として使用したい場合はどうすればよいですか?
回答:
ArcGISでフィールドのデータタイプを変更することはできません。必要なデータタイプで新しいフィールドを作成し、現在のフィールドの値を入力する必要があります。参照:ArcGIS 10.1ジオデータベースでフィールドフォーマットを変更する方法
使用しているArcGIS for Desktopのバージョンやデータの保存場所については言及していませんが、ArcGIS 10.2(以降)の使用方法を説明する[ フィールドプロパティの変更]ページがあります。
テーブルまたはフィーチャクラスの作成後に一部のフィールドプロパティを変更できます
...しかし、これは空のフィールドにのみ適用されます。
10.3以降では、上記の機能はフィールド変更ツールを介して利用できます。
フィールドとフィールドエイリアスの名前を変更するか、フィールドプロパティを変更します。
フィーチャクラスにあるフィールドのフィールドデータタイプを変更できます。ただし、テキストフィールドを数値に変換することはできません。ただし、数値フィールドを文字列に変換できます。見てくださいEsriのヘルプページを。これはエンタープライズジオデータベースだけでなく、ファイルジオデータベースなどのデスクトップジオデータベースでも正常に機能します。
テーブルまたはフィーチャクラスがエンタープライズ、ワークグループ、または デスクトップジオデータベースにある場合、フィールドプロパティを変更するには、テーブルの所有者として接続する必要があります。
Excelを扱うので、データ型が正しいことを確認する最良の方法は、データをインポートする前にExcelでセルのデータ型を直接定義することです。ただし、数値を含むテキストフィールドがある場合は、もちろん、数値タイプ(整数またはdoubleなど)の新しいフィールドを作成し、このテキストフィールドに基づいて値を計算できます。これは、数値が実際に数値である場合は正常に機能します(「12」は機能しますが、「12-1」は機能しません)。
私の知る限り、これは不可能です。10.3において、アルターフィールドは、フィールドの型を変更できるように拡張しました。ただし、テーブルにレコードがない場合にのみ機能します。
ただし、これを行う1つの方法を次に示します。
Calculate Field
またはcursors
(必要に応じてキャストを使用)Alter Field
一時フィールドの名前を変更するには私はそれを調査したことがありませんが、フィールドマッピングがフィールドを新しいデータ型にキャストするように機能する場合があります。これにより、このプロセスが大幅に簡略化されます。確認する必要があるもの...
別の方法は.dbf
、OpenOffice Calc(または同等のもの)でファイルを開き、その列のヘッダーを注意深く変更することです。たとえば、タイプをC
(文字)からN
(数値)に変更します。簡単なアドバイス:試す前にファイルをバックアップしてください。
データセット自体のフィールド名とデータタイプを変更することはできませんが、ArcGISツールの「フィーチャクラスからフィーチャクラスへ」を使用して、必要な変更を加えたコピーを作成することができます。設定では、名前、データタイプ、その他のフィールドの特性を変更できます。
何よりもまず、ArcGISがフィールドを数値/倍精度データタイプではなく文字列タイプとしてインポートする理由を理解する必要があります。セル(Excelの場合)が空白の場合でも、内部に「スペース」がある場合(スペースバーを押すなど)、ArcGISはこれらを文字として解釈します。それらを削除すると、数値フィールドとして登録されるようになります。