QGIS'de poligon alanlarının hesaplanması?


72

Bir alan şeklindeki alanların alanlarını metrekare ya da dönüm olarak (ha) olarak nasıl hesaplayabilirim?

Bu işlevselliği vektör araçlarında bulamadım.


Takip eden soru: NAD83 Eyalet Düzleminde bir katmanım var. Bu komutları kullandığımda alanı ayaklar halinde yaratıyor. Dönümlük veya mil kare istiyorsam ne olur? Teşekkürler
C_K

Sağlanan iki cevap işe yarıyor, ancak birçoğu çokgen vektör dosyalarının alanını belirlemeye çalışırken özellikle uygulanması biraz yavaş. Çokgen sağ tıklatarak bir çokgen alanı elde etmek için bir eklenti veya başka bir yolu var mı? Sağlanan cevaplar yeni bir alan niteliği ile sonuçlanır (yani alan) ancak poligon değişmişse değer güncellenmez. Bu nedenle, çoğu durumda, alanı ayrı bir alan özelliğinde görüntülemeye gerek yoktur. Alan, küçük bir grafikte, sayfanın altındaki vb. Bir sayı olarak gösterilebiliyorsa, yeterli olacaktır. Yani,
David

2
Tanımlama aracını kullanarak bir poligonu tıklayın. Alan, tanım penceresinde "Türetilmiş" altında hesaplanır ve gösterilir. Birimleri ayarlar altında değiştirebilirsiniz.
csk

Yanıtlar:


70

Katmanı düzenlenebilir hale getirin, ardından alan hesaplayıcısını kullanın (Katman> Özellik tablosunu aç> Alan Hesap Makinesi / Ctrl + I veya sağ tıklayın shapefile> Özellik tablosunu aç> Alan Hesaplayıcısı / Ctrl + I). Tablodaki her satırın alanını hesaplayacak bir "$ area" operatörü var. Tüm birimler projeksiyon birimlerinde hesaplanır, bu yüzden muhtemelen bunu lat / lon yerine, bunu yapmadan önce ayak veya metre kullanan bir projeksiyona yansıtmak istersiniz.


6
Verileriniz bir Coğrafi CRS'deyse, QGIS'in geçerli sürümlerinde, verilerinizi çoğaltmanıza gerek kalmadan geometrileri yansıtılan bir sisteme (Tercihen eşit bir alan) yansıtmak için transform () işlevini kullanabilirsiniz. Saha hesaplayıcısında, bunun gibi bir şey çalışması gerekir: alan ($ geometri, 'EPSG: 4326', 'EPSG: 3763')
Alexandre Neto

9
@AlexandreNeto: Bunu mu demek istiyorsun area(transform($geometry, 'EPSG:4326','EPSG:3763'))?
Stewart Macdonald

@smacdonald evet, benim hatam.
Alexandre Neto

18

Bu, Vector | Geometry Tools | Ekleme / verme geometrisi sütunlarıyla da yapılabilir; alan ve çevre (veya uzunluk) sütunları eklenmiş yeni bir şekil dosyası oluşturur.

Düzenleme: (yukarıdaki aracı kullanarak, V1.8'deki "yeni şekil dosyası olarak kaydet" seçeneğinin işaretini kaldırabilirsiniz, şekil dosyası artık yalnızca güncellenmiştir!)

Alan hesap makinesinin kullanılması, yeni bir şekil dosyası oluşturulmasını gerektirmediğinden muhtemelen daha iyi bir fikirdir.


Shapefile'ın niteliklerini önce düzenlemeyi etkinleştirmeden değiştiremezsiniz (alan hesaplama, özellikleri düzenleme olarak sayılır, yeni bir sütun eklersiniz). Tüm birimlerin projeksiyon birimlerinde hesaplanacağını unutmayın (varsayılan metrelerdir), bu nedenle ilk önce onu öngörülen bir koordinat sistemine yeniden yansıtırsınız.
Hasan Mustafa

4

Özellikle bunun için bir senaryo yazdım. Verilerinizi yeniden düzenlemek istemiyorsanız, elipsoidal matematiği kullanarak alanı hesaplayabilirsiniz.

Processing Toolbox -> Tools -> Get scripts from on-line scripts collection -> Ellipsoidal Area

Yüklü betiği bulacaksınız Processing Toolbox -> Utils -> Ellipsoidal area

Araç kendi kendini açıklayıcı olmalı ve projeksiyondan bağımsız olarak, seçtiğiniz birimlerdeki alanı hesaplamanıza izin verecektir.


Kod olarak daha iyi bir örnek verebilir misiniz?
Léo Léopold Hertz 준영

0

Altyapı yerleşim planlarına, havza alanlarına, çalışma alanlarına vb. Bakarken baktığınız alanlar değişebilirse, alanları öznitelik olarak eklemek yerine basitçe etiketlemede faydalı olur .

Label-> round($area/10000,2)||' ha'

Bu şekilde, nitelik tablolarındaki toplama alanlarını sık sık güncellemeyi hatırlamanıza gerek yoktur.

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.