ArcGIS属性テーブルのデータタイプを変更しますか?


9

ArcGISの複数のフィールドの属性テーブルのデータタイプを変更するにはどうすればよいですか?

たとえば、フィールドがExcelから文字列としてエクスポートされ、それらを数値として使用したい場合はどうすればよいですか?


1
データ型が一致しない場合、テーブル間を実行できません。やってみました。
サム・

データソースの形式とバージョンを確認してください。(entデータベース、シェープファイル、filegdb、個人gdb?)
Brad Nesom

@Bradがarcgis 10.2でシェープファイルを使用して作業している場合、データソースはローカルに私のコンピューター上にあります
苦労して

回答:



3

使用しているArcGIS for Desktopのバージョンやデータの保存場所については言及していませんが、ArcGIS 10.2(以降)の使用方法を説明する[ フィールドプロパティの変更]ページがあります。

テーブルまたはフィーチャクラスの作成後に一部のフィールドプロパティを変更できます

...しかし、これは空のフィールドにのみ適用されます。

10.3以降では、上記の機能はフィールド変更ツールを介して利用できます

フィールドとフィールドエイリアスの名前を変更するか、フィールドプロパティを変更します。


精度が必要です。10.2.1以降
GeoStoneMarten、2015

@GeoStoneMarten 10.2.1のAlterフィールドはフィールドの名前を変更するためのものであるようですが、私の答えはデータ型の変更に関するものであり、有効なままであると思います。ただし、@ Paulによる回答は、Alter Fieldsがその機能を拡張して10.3でのデータ型の変更を含めることを示唆しています。
PolyGeo

だけでなく、既存のデータがあればそうです...
さてさて

2

フィーチャクラスにあるフィールドのフィールドデータタイプを変更できます。ただし、テキストフィールドを数値に変換することはできません。ただし、数値フィールドを文字列に変換できます。見てくださいEsriのヘルプページを。これはエンタープライズジオデータベースだけでなく、ファイルジオデータベースなどのデスクトップジオデータベースでも正常に機能します。

テーブルまたはフィーチャクラスがエンタープライズ、ワークグループ、または デスクトップジオデータベースにある場合、フィールドプロパティを変更するには、テーブルの所有者として接続する必要があります。

Excelを扱うので、データ型が正しいことを確認する最良の方法は、データをインポートする前にExcelでセルのデータ型を直接定義することです。ただし、数値を含むテキストフィールドがある場合は、もちろん、数値タイプ(整数またはdoubleなど)の新しいフィールドを作成し、このテキストフィールドに基づいて値を計算できます。これは、数値が実際に数値である場合は正常に機能します(「12」は機能しますが、「12-1」は機能しません)。


2

私の知る限り、これは不可能です。10.3において、アルターフィールドは、フィールドの型を変更できるように拡張しました。ただし、テーブルにレコードがない場合にのみ機能します。

ただし、これを行う1つの方法を次に示します。

  1. 一時的な名前と正しいデータ型の新しいフィールドを追加します
  2. Calculate Fieldまたはcursors(必要に応じてキャストを使用)
  3. 古いフィールドを削除
  4. Alter Field 一時フィールドの名前を変更するには
  5. (オプション)いくつかのフィールドマッピングを含むテーブルをコピーして、元の順序に戻します

私はそれを調査したことがありませんが、フィールドマッピングがフィールドを新しいデータ型にキャストするように機能する場合があります。これにより、このプロセスが大幅に簡略化されます。確認する必要があるもの...


1
私は通常、最初に古いフィールドの名前を変更します。そうすれば、新しいフィールドを再作成し、値を計算してから、古いフィールドを削除できます。値の計算を開始するときに、null以外のすべての値を選択する必要がある場合があります。または文字列値を変換/分割する
Brad Nesom

1
また、etツールには役立つであろういくつかの無料の機能があります。 ian-ko.com ジオウィザードの無料機能をご覧ください。
Brad Nesom

@Brad私は無料の関数を調査してきました。xtoolsは役に立ちましたが、常により多くの/より良いオプションを開いています。入力ありがとう
2015

@BradNesom、良い点!それはもっと理にかなっています。
Paul

1

別の方法は.dbfOpenOffice Calc(または同等のもの)でファイルを開き、その列のヘッダーを注意深く変更することです。たとえば、タイプをC(文字)からN(数値)に変更します。簡単なアドバイス:試す前にファイルをバックアップしてください。


1

データセット自体のフィールド名とデータタイプを変更することはできませんが、ArcGISツールの「フィーチャクラスからフィーチャクラスへ」を使用して、必要な変更を加えたコピーを作成することができます。設定では、名前、データタイプ、その他のフィールドの特性を変更できます。


1

何よりもまず、ArcGISがフィールドを数値/倍精度データタイプではなく文字列タイプとしてインポートする理由を理解する必要があります。セル(Excelの場合)が空白の場合でも、内部に「スペース」がある場合(スペースバーを押すなど)、ArcGISはこれらを文字として解釈します。それらを削除すると、数値フィールドとして登録されるようになります。


0

このドキュメントをご覧ください。通常、インポートの前後にデータが正しい形式であることを確認する必要があります。

「ArcGISは通常、スプレッドシートの数値フィールドを倍精度(Double)に変換しますが、これはニーズを満たさない場合があります。必要に応じて、目的のタイプの新しいフィールドを作成し、それらに値を計算します。」


0

データをテーブルXから別のテーブルY追加することが目的であるが、データタイプが対応していないために追加できない場合は、次の手順を実行することもできます。

  1. 両方のテーブル(.dbf)をエクスポートする

  2. ExcelでテーブルYを開きます。

  3. ExcelでテーブルXを開きます。

  4. フォームではなく値のみをコピーするようにして、テーブルXからテーブルYにデータをコピーして貼り付けます。

  5. これで、両方のテーブルのデータと対応するデータ型を含む新しいテーブルができました。

6.このテーブルをArcMapにインポートする


0

誰もArcGISのX-Rayツールスイートについて言及していません。「X-Ray ArcGIS」をGoogle検索するだけです。ArcGISのバージョンとプラットフォーム(ArcCatalog、ArcMap)ごとにいくつかのバリアントがあります。これが1つのバージョンです。ここに別のものがあります。MS Excelでフィールドタイプ、名前、エイリアス、ドメインなどを変更したり、変更をGDBにアップロードして戻したりするなど、フィールドおよびドメイン関連の多くの機能をサポートしています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.