ArcPy kullanarak Masaüstü için ArcGIS'te Dönen Özellikler? [kapalı]


10

Döndürmek istediğim bir dizi çokgen var.

Her çokgenin bir döndürme açısı ve alan değerleri olarak saklanan bir tutturma noktası (xy koordinatı) vardır.

Olduğu gibi, tüm bağlantı noktaları çokgenin tepe noktasındadır.

Masaüstü ve ArcPy için ArcGIS kullanarak bunu yapmanın en iyi yolu nedir?

Düzenleme modunda onları döndürebileceğimizi biliyorum, ancak hepsi farklı olduğu için hepsini manuel olarak yapmak istemiyorum.

Bir Python cevabını tercih ederim, böylece otomatikleştirebilir ve iş akışım içine yerleştirebilirim.


Bu yaptığım bir şey değil ama gis.stackexchange.com/questions/13383/…
PolyGeo'da

Bunu ArcObjects ile yapabilirsiniz. Programlı çözüm kabul edilebilir mi?
Jakub Sisak GeoGraphics

Özellikleriniz coğrafi veya öngörülen koordinatlarda mı?
blah238

Jakub - evet, programlı bir çözüm tercih edilir. Blah238 - Öngörülen Koordinatlar (NAD 83 UTM Bölge 10)
dklassen

1
Python komut dosyasında, döndürülen Y koordinatının hesaplanması eksi işareti (çıkarma) yerine artı işaretine (toplama) ihtiyaç duyar : y_transprime = Sin (t) * x_trans + Cos (t) * y_trans

Yanıtlar:


10

Öngörülen bir koordinat sistemi kullandığınızı varsayarsak ... (değilseniz karmaşıklaşır)

Dönme noktası (X, Y) ve dönme açısı t verildiğinde, çokgendeki her noktayı sırayla döndürmeniz gerekir. Çokgenin set = = ((x0, y0), (x1, y1), (x2, y2) ...] gibi noktalardan oluştuğunu varsayarsak

'= [(X0', y0 '), (x1', y1 '), (x2', y2 ') ...] oluşturmak için kümedeki her noktayı sırayla döndürmeniz gerekir.

Döndürmek için, önce dönme noktasını (0,0) 'a taşıyarak koordinat sistemini başlangıç ​​noktasına dönüştürmeniz gerekir. (x, y) döndürülecek noktadır.

x_trans = x - X
y_trans = y - Y
x_transprime = Cos(t) * x_trans - Sin(t) * y_trans
y_transprime = Sin(t) * x_trans + Cos(t) * y_trans
x_prime = x_transprime + X
y_prime = y_transprime + Y

Bu bir python betiğine çevirmek için oldukça basit olmalıdır.



@ User23492 yanlış işareti kaydettiğiniz için teşekkür ederiz. Değişiklik yapıldı (iki yıl sonra)
blord-castillo

1

İşte Esri Forumlarından sizin için bir çözüm olabilecek bir tartışma . Esri yanıtını arayın. Çokgenleri rasterlere dönüştürmeyi, Raster döndür aracını kullanarak ve çokgenlere geri dönüştürmeyi içerir. Ancak, raster / vektör arasında ileri geri dönüşüm yaparken çokgen sınırlarının dağılması konusunda bazı endişeler olabilir.

İyi haber şu ki, her şey ArcObjects'i çağırmadan Python'da yapılabilir. Ayrıca, özellik tablosundan dönüş açılarınızı ve bağlantı noktalarını almak için SearchCursor kullanabilirsiniz.

Her neyse, sadece olası bir alternatif.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.