<\/HEAD>上司が100パーセント正確なXYデータのテーブルを渡してくれて、「Display XY」ツールを使ってポイントフィーチャクラスを生成し、それで終わりだったら素晴らしいと思いませんか?
まあ、夢を見るのは自由ですよね?
しかし現実の世界では、プロットするように頼まれたXY位置が100パーセント正確でないことが多いでしょう。話はたいていこうです:
1000以上のXY位置からポイントフィーチャクラスを作成して2日後、上司が私のオフィスに来て特定のいくつかのポイントの更新されたXY情報を渡してきました。今、これらの位置をテーブルで更新してフィーチャクラスを再作成するか、新しいテーブルを使ってフィーチャクラスを作成し、それから2つをアペンドしなければなりません。これは本当に大変な作業です!7EM><\/P>
さて、読み進めてください。あなたの世界を少し明るくする方法をお教えします!これらの更新タイプの作業は実はそれほど難しくも多くもありません!
数千または数十万ものフィーチャに対してジオプロセシングツールを実行して数点だけを更新するのは、データサイズによっては遅くなることがあります。XY位置を更新するときには次の代替ワークフローを検討してください。例:<\/STRONG> 「S」という名前の105個のポイントフィーチャがあるフィーチャクラスがあります。13点分の更新された位置情報がある新しいXYテーブルを受け取りました。次の手順でポイント位置を更新します:「S」フィーチャクラスをArcMapに読み込みます。<\/LI>「Editor」ツールバーと「Edit Vertices」ツールバーの両方をマップドキュメントに追加します。<\/LI>「S」フィーチャテンプレートを使って編集セッションを開始します。<\/LI>インタラクティブに(Edit Toolを使って)またはクエリ(Select by Attribute機能)で更新が必要なポイントを選択します。<\/LI>「Edit Vertices」ツールバーでSketch Propertiesツールをクリックします。<\/LI>XY値を更新するとポイント位置が自動的に変わります。<\/LI><\/OL>
これでポイントは新しい「正確な」位置に配置されましたが、XとYフィールドはまだ更新する必要があります。これら数点だけのXとYフィールドはどうやって更新できますか?
属性テーブル内のXYフィールドを更新するには、次の手順を行います:インタラクティブにまたはクエリでXとYフィールド情報を更新する必要があるすべてのポイントを選択します。
<\/LI>属性テーブルを開き、Shapeフィールドを右クリックしてフィールド計算機を開きます。<\/LI>pythonパーサーを使用し、以下に示すようなpythonコード(スクリプト)を読み込んで作業完了です!
<\/LI><\/OL>サンプルスクリプト<\/STRONG>def XYsetVALUE( shape, X_value, Y_value):
point = shape.getPart(0)
point.X = X_value
point.Y = Y_value
return point
__esri_field_calculator_splitter__
XYsetVALUE ( !SHAPE!, !X_COORD!, !Y_COORD! )<\/PRE>Sisi Y.(Todd S. の助けを借りて) - Esri Support Services<\/EM>
<\/BODY><\/HTML>