โทเค็น“ SHAPE @ XY” และ Data“ SHAPE @ TRUECENTROID” ของการเข้าถึงข้อมูลแตกต่างกันอย่างไร


9

การเข้าถึงข้อมูลการค้นหาเคอร์เซอร์

อะไรคือความแตกต่างระหว่างโทเค็น"SHAPE@XY"และ"SHAPE@TRUECENTROID"อะไร

พวกเขาคืนค่า coordnates เดียวกันบนรูปหลายเหลี่ยมทดสอบ:

>>> 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 token นั้นทำให้เข้าใจผิดมันเหมือนกับการรับค่า SHAPE @ TRUECENTROID สำหรับ X&Y นี่ก็เป็นจริงของ SHAPE @ X หรือ SHAPE @ Y สิ่งนี้จะทำให้เกิดปัญหาสำหรับผู้ที่ต้องการระบุตำแหน่งที่อยู่ geocode แล้วทำการวิเคราะห์เชิงพื้นที่ใด ๆ ที่การนับคะแนนในพัสดุมีความสำคัญจะมีพัสดุที่มีรูปร่างแปลก ๆ ที่ควรมีจุดด้านใน แต่ไม่และจุดอื่น ๆ ที่ไม่ควรมี แต่ถูกวางไว้เนื่องจากศูนย์กลางของแรงโน้มถ่วงของพัสดุแปลก ๆ ฉันใช้ SHAPE @ token เพื่อหลีกเลี่ยงปัญหานี้ แต่นั่นหมายถึงหน่วยความจำเพิ่มเติมถูกใช้เพื่อเก็บวัตถุรูปหลายเหลี่ยม geom ทั้งหมดแทนที่จะเป็นเพียง เซนทรอยด์ซึ่งทำให้สคริปต์ช้าลง "


ฉันหวังว่าจะได้จุดภายในดังนั้นสิ่งนี้มีประโยชน์จริงๆ ขอบคุณ
Emil Brundage

ไม่มีจุดภายในหรือไม่? บางทีแค่ประกาศด้วย SHAPE @ เพื่อส่งคืนรูปทรงเรขาคณิตและใช้ labelPoint ( resources.arcgis.com/de/help/main/10.1/index.html#//… ) ซึ่งรับประกันว่าอยู่ภายในหรือบนรูปทรงเรขาคณิต
Michael Stimson
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.