ArcMapのフィーチャクラスのすべてのフィーチャのエンベロープを取得するにはどうすればよいですか?


10

フィーチャクラスのすべてのフィーチャの単一のエンベロープを取得したいと思います。ArcMapでそれを行う方法はありますか?


1
答えを読んだとき、私の質問は十分に具体的ではなかったことがわかりました。ArcMap GUIでエンベロープを見つけるためのツールを探していました。Swingleyの答えは、これを1つのステップで正確に達成します。ただし、私はそのツールがないArcMap 9.3.1を使用していますが、gkhの答えはこれをArcMap 9.3.1の2つのステップで実現します(9.xと思います)。Swingleyとgkhの回答には、INFOライセンスが必要です。どちらも指定しませんでしたが、私の場合は問題ありません。
steenhulthin 2010

回答:



5

FeatureClassは、すべての機能で使用されるIEnvelopeを含むExtentプロパティを持つIGeoDatasetインターフェイスをサポートします

乾杯ブライアン


1
こんにちはブライアン-10.0では、[レイヤーにズーム]で奇妙な動作が見られます(ズームアウトが大きすぎる)。レイヤーにズームはIGeoDataset.Extentを使用すると思いますが、確かではありません。この問題は、プログラムで空のシェープファイルに機能を追加した後に発生します。機能を追加した後にIFeatureClassManage.UpdateExtentを呼び出すことで問題を解決しました。
カークカイケンダル2010

ちょっとカーク-私は何が起こっているのか明確に言うことはできませんが、私はそれがジオメトリを持つまで空間参照の全範囲を使用するかもしれないと思います。または多分彼らはUpdateExtent呼び出し(またはそれに相当する機能)を手動プロセスにしました(パフォーマンス上の理由から??)。10.0はバグでいっぱいです。優れた機能性と多くの問題...
bFlood 2010

2

9.3xでarcgisscripting Pythonモジュールを使用する場合:

import arcgisscripting

gp = arcgisscripting.create(9.3)

fc = "C:/workshop/exercises/exercise1/data/stlouis_cities_geog.shp"

fcDesc = gp.describe(fc)

shpExtent = fcDesc.extent
print("Bounding Box: " + str(shpExtent.XMin) + "," + str(shpExtent.YMin) + "," +  str(shpExtent.XMax) + "," + str(shpExtent.YMax))

del fc, gp

1

9.3では、Feature Envelope to Polygonツールを使用できます。出力をマルチパートフィーチャに分解してから、エンベロープツールを再度実行する必要がある場合があります。


0

大まかなハック:データフレームのプロパティの[データフレーム]タブで、[全範囲のコマンドで使用される範囲]-[その他|範囲の指定]に移動し、[機能の概要]と対象のFCを選択します。すべてのダイアログで[OK]をクリックし、[範囲の指定]に戻ります。これで、FCの範囲が、[カスタム範囲]の上部、右、下部、左のフィールドに表示されるはずです。これは、ArcGIS Serverマップサービスでカスタムの全範囲を設定するために行いますが、必要なFCの範囲を取得する必要があります。

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