ArcGIS'te iki katmanım var: Biri bir vektör noktası, diğeri bir raster katmanı. Raster veri kılavuzunun değerini vektör noktasına eklemek istiyorum. Sorun, vektör noktasının değeri olan mevcut ızgara ızgaralarından uzak olmasıdır, bu nedenle "Örnek" komutu bu vektör noktası için değer döndürmez.
Benim sorum şu: Bir vektör noktası verilen en yakın tarama hücresini nasıl bulabilirim ve değeri hücreden nasıl çıkarabilirim?
Aslında yapmam gereken iki şey var:
- Bir ranger içindeki dış çizgiyi tanımlayın (Genellikle mevcut rasterimden 1-2 hücre uzakta)
- Bir aralıktaysa, onlara en yakın taramadan bir değer atayın
Düzenlendi: Yaklaşık 3000 vektör noktam var ve sorunum şu:
Raster değerini vektör noktalarına konumlara dayalı olarak eklemem gerekiyor. "Örnek" aracını kullandım ve çoğu nokta için iyi çalışıyor.
Ancak, böyle bir durum var
Sağ nokta değeri rasterden alabilir ("Örnek" çalışır) ancak sol nokta hizalama sorunları nedeniyle olamaz.
Raster çokgene çalışmıyor çünkü onları alan dışına oldukları için vektör haline getiremediğim hata mesajı alıyorum. Ayrıca bunun gibi puanlarım var
Bu üst noktalar herhangi bir değer almamalıdır çünkü rasterden çok uzaktalar.
Etrafta çalışacak bazı şeyler düşündüm:
Adım 1. Önce "örnek" yapın
Adım 2. "Örnek" işlemlerinden sonra null değeri seçin
Adım 3. Boş noktaları temel alarak tampon bölgeleri (1 ondalık derece içinde) oluşturun
Adım 4. Bölgesel istatistikleri kullanın ?? ? veya arabellekteki tüm raster hücreleri arasında dolaşmak, en yakını bulmak, değerini çıkarmak ve vektör noktasına koymak için başka araçlar.
4. adımda takılı kaldım. ArcSDK'da bu işlevi gerçekleştirmek için hangi aracı kullanabileceğimi bilmiyorum.
Yoksa başka ... Bununla başa çıkmak için daha iyi bir fikrin var mı?
Bunun gibi 20 raster katmanım var ve bunu otomatik olarak yapmak istiyorum (model oluşturucu ve arcobject kullanarak).
Sample
aracı uyguladığınızda herhangi bir değer almayan noktalar olacaktır .