ArcGIS Desktopでフィーチャクラスフィールドの長さプロパティを更新するにはどうすればよいですか?


10

長さを10から25に更新する文字列フィールドを持つフィーチャクラスがあります。

新しいフィールドを作成し、フィールド計算機を使用してレコードを古いフィールドから新しいフィールドに移動することなく、このプロパティを更新する方法またはツールはありますか?


以下のこのスクリプトは、私がやりたいことを実行します。唯一のことは、更新されたフィールドをテーブルの最後にプッシュすることです(元のフィールドの順序を維持しません)。

http://arcscripts.esri.com/details.asp?dbid=16503

有望と思われたもう1つのオプションは、フィーチャクラスからフィーチャクラスツールを使用することです(このツールにアクセスするには、ArcCatologでレイヤーを右クリックし、[エクスポート]> [ジオデータベースへの単一オプション]を選択します)。新しいレイヤーは作成されますが、フィールド名とプロパティ情報を更新できます。また、[入力フィールドを上/下に移動]矢印を使用してフィールドの順序を変更できるようですが、機能しないようです。

新しいフィールドを作成せずにフィールドプロパティを編集するためのソリューションが必要です。


これは特定のデータソースに関するものですか?シェープファイルの場合?
アンダーダーク

@underdark、フィーチャクラスはジオデータベース内にあります。
アートワーク21

現時点では役に立ちませんが、ArcGISのアイデアに関するコメントから判断して、「将来」にこれを実装することを検討しています。
チャドクーパー

XToolsには、フィールドの特性を変更するための重労働をすべて行うツール「Table Restructure」が含まれていますが、残念ながら、これは拡張機能に付属する無料のツールの1つではありません。
剣武者2011

回答:


12

私が知る限り、現在、フィールドをドロップして追加するか、フィーチャクラス/テーブルを削除して再ロードしない限り、ジオデータベースでスキーマ編集を行う方法はありません。後者は、フィールドの順序を維持するために私が推奨するものです。

私が通常行うことは:

  1. 元のフィーチャクラスのバックアップを作成します
  2. 元のフィーチャクラスのスキーマをXMLファイルにエクスポートします
  3. テキストエディタやスキーマを変更するArcGISのダイアグラマ10.010.1または10.2
  4. 元のフィーチャクラスを削除します
  5. スキーマをジオデータベースにインポートして戻す
  6. 追加ツールのシンプルデータローダーまたはオブジェクトローダーを使用して、バックアップフィーチャクラスのコンテンツを新しくインポートしたフィーチャクラスにロードします。詳細については、ヘルプトピック「既存のフィーチャクラスとテーブルへのデータの読み込みについて」を参照してください。

ArcGIS 10.1以降には、XML インポート / エクスポートを処理するジオプロセシングツールがありますが、10.0以前では、ArcObjectsを使用するか、手動で行う必要があります。ArcObjectsの例については、XMLワークスペースドキュメントのエクスポートを参照してください。


ワークスペースドキュメントまたはレコードセットドキュメントのどのようなxmlエクスポートを行うのですか?
アートワーク21

1
ワークスペース、および上記の手順に従っている場合は、スキーマのみのオプション(データではない)。
blah238 2009

わかりましたので、自分の更新をDiagrammerでワークスペースドキュメントとしてXMLに保存しました。スキーマをフィーチャクラスに再度ロードしようとすると、ワークスペースではなくレコードセットドキュメントをロードするオプションしか表示されませんか?また、Diagrammerはワークスペースドキュメントにのみ公開します。これをどのように回避しますか?
アートワーク21

1
ジオデータベース/データベース接続を右クリックし、[インポート]-> [XMLワークスペースドキュメント]を実行します。
blah238

1
この手順は完全に機能しました!上記の手順を実行した後、データを新しいスキーマに読み込むには、シンプルデータローダーウィザードを
Elliott
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.