ArcGIS Desktop kullanarak X Mesafesinde N Nokta Kümesi mi Buluyorsunuz?


12

İki küme analizi yöntemini denedik:

... ama ikisi de şu 3 parametreye sahip olan şartnamemizi karşılamıyor:

  • a Point of Point özellikleri
  • Bir Küme içindeki N puan
  • Bakılacak X mesafe bandı

Örneğin "Bana her kümenin 50 metre içinde 10 puanının olduğu noktaları bul" veya bunun için bir şey.

ArcGIS 10, yukarıda bağladığım iki araca sahip, ancak ikisi de bir küme bölümündeki N noktalarını ele almıyor gibi görünüyor.

Gereksinimlerimiz ArcGIS'teki diğer araçlarla karşılanabilir mi? Küme analizi olarak adlandırdığım belirli bir kümeleme türü olarak mı biliniyor?

Başka bir uygulamada bunun bir versiyonu var ama gerçekten ArcGIS içindeki araçları kullanmak istedim.


"bilgim olmadan müşteriye söz verdim" ... Acını hissediyorum. Bir arcobjects çözümü kabul edilebilir mi?
Kirk Kuykendall

Kümeleri oluşturmak ve ardından ölçütlerinizi karşılamayanları işlemek mümkün olmaz mıydı? Yani (ve bu analizdeki deneyim eksikliğinden dolayı soruyorum), kümeler analizden önce bu üçüncü kriterler verildiyse değişir mi?
Nathanus

@Kirk Kuykendall. ArcObjects, arcgis 10 sunucusu üzerinden bir coğrafi işleme hizmeti olarak gösterilmesi gerektiği için mümkün olmayabilir.
Hathler

Kümenin bir daireye dayalı olması gerekiyor mu, yoksa dikdörtgen şeklinde olabilir mi? Aynı 50x50 kutusundaki tüm noktalar için karma kodu aynı olacak şekilde koordinatlardan bir karma oluşturmak kolaydır.
Kirk Kuykendall

@ Kirk - bence bir daire olmalı.
Hathler

Yanıtlar:


10

Noktaları bir toleransa tamponlamak için Tampon aracını kullanmayı deneyin, her küme için tek çokgenler oluşturmak üzere çözün ve sonra kümedeki nokta sayısını saymak için bir birleşim kullanın.

Ardından, kümelerin alanı ile parametrelerinizi uygulamak için nokta sayısı arasındaki oranı kullanın.


+1 Bu yaklaşım işe yaramalı, ancak alanın çözüme nereden geldiğini görmüyorum.
whuber

alan / sayım, bir küme içindeki yoğunluğun bir ölçüsünü verir. Bu, kümeler olarak düşünülmemesi gereken doğrusal nokta zincirlerinin ortadan kaldırılmasına yardımcı olacaktır.
Matthew Snape

2
Tamam, ancak sorun bildirimi gerektirmez. Sadece "50 metre içinde 10 puan" ister. Noktaları 50/2 = 25 metre kadar tamponluyorsanız, 10 veya daha fazla çakışma olan herhangi bir yer böyle bir kümenin merkezi olarak nitelendirilir. Bitti!
whuber

'Katıl' demek istediğinizde, spasyal olarak bir uzamsal birleşim anlamına mı geliyorsunuz.
Hathler

2

Bu, çok zorlanmadan ArcObjects kullanılarak gerçekleştirilebilir.

Bir maptopoloji oluşturun ve nokta özellik sınıfını buna ekleyin. Küme toleransını küme uzaklığınıza (50) göre ayarlayın ve önbelleği oluşturun .

Maptopology.cache.nodes içindeki her düğümü döndürün . ITopologyNode.Parents.Count> 10 ise yapmanız gerekenleri yapın.

Rengi kümedeki nokta özelliklerinin sayısına dayalı bir sembolle her küme noktasını çizen özel bir katman için benzer bir şey yaptım. Özellikler bellekte önbelleğe alındığı için performans kabul edilebilirdi - önbelleğin yeniden oluşturulması pahalı bir parçadır.

Burada yayınlanan koda benzer .


Python'da mümkün olabilir mi?
Hathler

Düşünmüyorum. Arcobjects sdk hakkında bilgi sahibi değilsiniz ve onu kullanmak için lisans gereksinimlerinden de tamamen emin değilsiniz.
Hath

2

İlk noktaya gitmeye çalışın, daha sonra mesafe içindeki noktaları kontrol eden ve mesafe içinde noktaları arayan ve bu işlem üzerinde aynı işlemi gerçekleştiren aynı işlemi gerçekleştiren özyinelemeli bir işlev yaratmayı deneyin.

Benzer bir sorunu çözdüm, çünkü belirli bir maddeye uyan bir dizi nokta bulmak zorunda kaldım; 8 hücre içinde (N, NW, W, SW, S, SE, E, NE) bağlı noktalar olup olmadığını bulmak için yinelemeli bir işlev oluşturdum ve bu nokta için aynı işlevi çağırdım. Döndürülen liste x puan içeriyorsa, etrafında bir çokgen toplarım.


1

i sadece OpenSource Yazılımı kullandığım için ArcGIS hakkında herhangi bir kullanım bilgim yok. Ama bunun Openlayers ile yapılabileceğini düşünüyorum. Burada bulabileceğiniz bir küme stratejisi örneği var: http://openlayers.org/dev/examples/strategy-cluster.html


-1 OP bunu yapmak için bir arcgis yolu istiyor. Bir OpenLayers yolu vermek gerçekten yardımcı olmaz.
Nathan W

2
Ancak openlayers yaklaşımı onu arcgis'te uygulamak için nasıl yapıldığını bulmasına yardımcı olamadı mı?
Mayıs

1
Yoruma katılıyorum ve yaklaşımınızı beğeniyorum: genellikle fikirler ve ilham için rahatlık alanımızın dışına bakmalıyız. Ancak, bu örneğin burada sorulan soruya nasıl bağlandığını açıklayabilirseniz, yanıtınızı daha yararlı bulabilirim. Her ne kadar soru ve örnek "küme" kelimesini paylaşsa da, aynı anlamda kullandıkları veya yeterince benzer problemleri ele aldıkları açık değildir.
whuber

Bunu yapmanın açık kaynaklı bir yolunu aradığım için bunu destekledim. bu yaygın değil.
GeorgeC
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.