ArcPyの2つのジオメトリ間の最短距離を取得する


8

私はArcPyを使用し、カーソルを使用して1つのポリゴンフィーチャクラスをステップスルーしています。これらの「ソース」ポリゴンのそれぞれについて、共通の属性を共有する2番目のフィーチャクラス内のすべてのポリゴンを検​​索するためのSearchCursorを作成しています。これらの一致するポリゴンごとに、ポリゴンと検索ポリゴンの間の距離を測定します。他のジオメトリの違いを測定することも計画しています(シフト、回転、スケーリングなどが行われたかどうかを判断するため)。

この作業の目的は、さまざまな時点でのフィーチャを表すポリゴンデータセット間の変更履歴を構築することです。

ArcObjectsで言及されているReturnDistanceメソッドを見てきましたが、ArcPyを使用してこれを実行する方法を理解できません。それは可能ですか?そうであれば、だれでも大まかなサンプルコードを手伝ってくれるでしょうか?そうでない場合は、おそらくポリゴン間の重心位置の変化を測定することに頼るでしょう。

ありがとう、スティーブ

回答:


1

この回答は、ArcPyの使用を除外しているため、正しいとは言えません。ArcPyでReturnDistanceにアクセスできるかどうかはわかりません。ただし、Pythonから直接ArcObjectsにアクセスできます。Mark Cederholmによるこのガイドは、http: //www.pierssen.com/arcgis/upload/misc/python_arcobjects.pdfの開始に役立ちます。基本的な知識があれば、オブジェクト指向プログラミングのスキルがいくらか必要になります。それ以外の場合は、ガイドをお読みください。参考文献には、コードスニペットへのリンクがいくつかあります。十分に辛抱強い場合は、それを理解してください。

ここでは、PythonでのArcObjectsへのいくつかの異なるアプローチがあります。PythonからArcObjectsにアクセスしますか?

次に、PythonでのArcObjectsの例を示します(この問題に苦労しています) 。PythonでのArcobjects:フィーチャ(形状)ジオメトリを持つオブジェクトにインターフェイスを割り当てます。

自分のプログラムを書くのに約3日かかりましたが、オブジェクト指向プログラミングについての手掛かりはなく、幸運でした。


これが私がやらなければならないことかもしれないと思った。すべてのリンクとこれに関するあなたの経験についての情報をありがとう。自分でやってみます。
Steve

11

この答えは3年遅れているので、おそらくあなたは今のところ回避策を持っています。しかし、完全を期すために、2つのオブジェクト間の距離を測定する弧状の方法を次に示します。

ジオメトリには次の方法がdistanceToあります。

2つのジオメトリ間の最小距離を返します。ジオメトリが交差する場合、最小距離は0です。

両方のジオメトリの投影が同じである必要があります。

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