データアクセスの「SHAPE @ XY」トークンと「SHAPE @ TRUECENTROID」トークンの違いは何ですか?


9

データアクセス検索カーソル

トークン"SHAPE@XY"との違いは何"SHAPE@TRUECENTROID"ですか?

テストポリゴンで同じ座標を返しました。

>>> cursor = arcpy.da.SearchCursor("test", "SHAPE@XY")
>>> for row in cursor:
...     print row[0]
...     
(559389.3838043335, 4239093.201390337)

>>> cursor = arcpy.da.SearchCursor("test", "SHAPE@TRUECENTROID")
>>> for row in cursor:
...     print row[0]
...     
(559389.3838043335, 4239093.201390337)

ここに画像の説明を入力してください

マルチパートポリゴンフィーチャの場合と同じように動作しました。異なる結果を返すことはありますか?

回答:


4

これも気になっていたので、ちょっと聞いて調べてみました。私が見つけたのは

SHAPE@XY A tuple of the feature's centroid x,y coordinates.
SHAPE@TRUECENTROID —A tuple of the feature's true centroid x,y coordinates.

この記事では、それらが95%前後で同一である方法について説明しますが、残りの5%にはわずかな違いが生じます。

https://geonet.esri.com/thread/92121

「この投稿のポイントは、SHAPE @ XYトークンを使用すると誤解を招くということです。これは、X&YのSHAPE @ TRUECENTROID値を取得することと同じです。これは、SHAPE @ XまたはSHAPE @ Yにも当てはまります。これにより、住所の場所をジオコーディングして、パーセル内のポイントをカウントすることが重要なあらゆる種類の空間分析を実行したい場合に問題が発生します。内部にポイントを持つべきでなく、他のパーセルにポイントを持つべき奇妙な形状のパーセルがあります。存在しないはずですが、奇数のパーセルの重心のために配置されます。この問題を回避するためにSHAPE @トークンを使用しますが、これは、ポリゴンジオメトリオブジェクト全体を保持するのではなく、より多くのメモリが消費されることを意味します。セントロイド、これはスクリプトが遅くなります。」


私は本当に内部のポイントを期待していたので、これは本当に役に立ちます。ありがとう。
Emil Brundage

内側のポイントはありませんか?おそらく、形状を返すようにSHAPE @で宣言し、形状内または形状上にあることが保証されているlabelPoint(resources.arcgis.com/de/help/main/10.1/index.html #//… )を使用します。
Michael Stimson、2015
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.