ArcGIS Desktop, Unsurdan Noktaya INSIDE noktasını nasıl hesaplar?


11

Yedeklememe izin verin ve anladığım kadarıyla ArcGIS Desktop'ta bir çokgenin centroidini hesaplamanın iki yaygın yolu olduğunu söyleyeyim:

  1. Özellik sınıfının öznitelik tablosundaki alanlarda Geometri Hesapla'yı kullanma.
  2. Data Management -> Features -> Feature to PointAraç kutusundan kullanma .

Her ikisi de aynı sonucu verir - çokgenin geometrik sentroidi. Ancak, noktanın çokgenin içinde yattığının garantisi yoktur.

Özellikten Noktaya aracı, belgelere göre bir iç onay kutusu seçeneğine sahiptir:

Bir giriş özelliğinin içerdiği bir konumu, çıkış noktası konumu olarak kullanır.

Bilmek istediğim şey, bu noktanın ArcGIS Desktop tarafından nasıl hesaplandığı ve bunun mantıklı olması durumunda "teorik" anlamı nedir.


2
ESRI belgelerinin genel belirsizliği göz önüne alındığında, büyük olasılıkla prosedürü test ederek tersine mühendislik uygulamanız gerekir. Bunu AV 3.x ile 15 yıl önce yaptığımda, algoritma (1) geometrik sentroidi buldu ve sonra (2) yatay olarak çokgenin içindeki en yakın noktaya taşıdı.
whuber

@whuber - bu durumda, merkez noktası poligonun içinde olsa bile iç nokta farklı olabilir, bu yüzden tamamen farklı bir hesaplama olduğunu düşündürür
mindless.panda 17:01 21

3
ESRI'nin sitesindeki bu forum yazısı ilginç ve kara kutu olduğunu gösteriyor.
mindless.panda

9.3.1'de python kullanarak, bir 'centroid' oluşturmak için bazı olası yolları karşılaştırdım. Burada görülebilir ! ESRI forumlarında.
SaultDon

mindless Eski algoritmada, eğer centroid çokgenin içindeyse, elbette hareket ettirilmedi: çokgenin içindeki en yakın noktaya denk geliyor. Ancak, bulduğunuz forum gönderisi bu sorunu tartışıyor: ESRI algoritmayı değiştirdi. Yine de "tamamen farklı" olduğunu anlamıyorum. Sadece eskisinin bir inceliği olabilir. Yine de tersine mühendislik yapmak kolay olmayacak.
whuber

Yanıtlar:


4

Algoritmalar tescillidir, ancak burada iki temel kavram vardır. Centroid, bir ağırlık merkezi algoritması kullanır (bunu hesaplamanın birçok farklı yolu vardır). "İçeride" onay kutusu bir sentroidi hesaplar, ancak daha sonra dışarıya düşerse, bazı durumlarda istenildiği için içerideki noktayı hareket ettirir.

ArcObjects düzeyinde bu yaklaşımlar Centroid ve Etiket Noktası olarak tanımlanır . Örnek resimler için Centroid bağlantısına bakın.


Bu bize iç noktanın nasıl hesaplandığını söylemese de, bize etiket noktasıyla eş anlamlı olduğunu söyler.
mindless.panda

1

ArcMap 10.3'ü kullandık. Hesaplanan (1) özellik iç opsiyon ile işaret etmek için (2) özellik iç opsiyon (3) centroid olmadan geometri hesaplayarak işaret etmek.

(2) ve (3) noktalarından konum paylaşılıyor, bazen bu noktalar çokgenin dışında. (1) beklendiği gibi, çoğunlukla (3) ve (2) 'nin noktalarıyla özdeş olan çokgenler içinde noktalar oluşturur. Bazen (1) 'den gelen noktalar farklıdır, (3) veya (2)' den gelen noktalar poligonun (!) İçinde olsa bile: bir iç nokta almak için uzamsal bir kaymanın gerekliliğini tespit edemeyiz.

(1) 'den kaydırılan noktalar kesinlikle WE veya NS yönünde kaydırılmaz. Bazen gereksiz yere kaydırılan noktalar kesinlikle yerçekimi noktasını temsil etmeyen bir konuma yeni yerleştirilir ve beklenmediktir.

Bilimsel çalışmanın tekrarlanabilir olması gerekir. Algoritma için bir belge bulamıyoruz ya da özellikle gerekli olmadığında bir kaymayı açıklayamıyoruz. Dolayısıyla ESRI özellikli sentroid uygulanamaz.

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.