Daha çox

QGIS-də ən yaxın qonşu qruplaşdırılmış seçim

QGIS-də ən yaxın qonşu qruplaşdırılmış seçim


QGİS-ə idxal etdiyim lat / uzun formatda 100.000-dən çox baldan ibarət bir siyahım var.

İndi burada etməyə çalışdığım şey bu nöqtələrin hamısını qutu qruplarına qruplaşdırmaqdır və bununla da xəritəni məhdud qutulara bölmək istədiyimi nəzərdə tuturam.

Tələblərim aşağıdakılardır:

  • heç bir qutu qrupu 100-dən az və 200-dən çox bal toplamamalıdır
  • heç bir nöqtə birdən çox qrupda yerləşməməlidir
  • bütün məqamlar ən yaxın qonşusuna əsaslanmalıdır

Buna qgis vasitəsi ilə necə nail ola bilərəm?

Fərdi bir sorğu kodunu ötürə biləcəyini və nəticələrini və ya shapefile olaraq yaradılan qutuları düzgün saxlaya biləcəyini düşünürəm? Xahiş edirəm kimsə bunun necə edilə biləcəyini və kodun necə olacağını izah edə bilərmi?

Qeyd olunduğu kimi, məqsədim hər qutunun içərisində 100-dən az olmayan və 200-dən çox olmayan bir shapefile təbəqəsi olaraq göstərilən bir dəstə kvadrat qutuya sahib olmaqdır.


(A) bir sıra nöqtələrin ən şərq hissəsini və (b) bir çox nöqtələrin ən şimal hissəsini necə tələb edəcəyinizi düşündüyünüzü düşünərək sizə yolun bir hissəsini gətirə bilərəm. Əlbətdə bunlardan (c) ən qərb yarısını və ya (d) ən cənub yarısını asanlıqla əldə edə bilərsiniz. (QGIS-i bilmirəm, amma ümumiyyətlə (a) etmənin bir yolu orta x koordinatını tələb etmək və sonra x koordinatları ondan artıq olan bütün nöqtələri gətirməkdir. (B) - (d) üçün həllər oxşardır .)

Bu qabiliyyətdən istifadə edərək həll asan bir rekursiya ilə əldə edilir. Bunu təsvir etmək üçün bir prosedurun olduğunu düşünəkYarım, iki arqument tələb edən əvvəlki əməliyyatları həyata keçirmək: birincisi nöqtələr dəsti, ikincisi isə bərabər bir koddurdoğruşərq-qərb bölgüsü istədikdə və ona bərabər olduqdayalanəks halda. İstədiyi hissəni hansı bölməyə daxil etdiyinin iki alt hissəsini qaytarır.

Prosedur qutusu (P: nöqtələr dəsti, i: boolean, n: integer) Başlayın Əgər (Count (P)> 2 * n) onda {R, S} = Yarım (P, i) Q = Qutu (R,! İ , n) + Box (S,! i, n) Else Q = {P} Endif Qaytar Q Sonu

Bu yalan kodda R və S bölməsi P; Box (R,! İ, n), R-in bir hissəsidir ortogonal istiqamət, Box (S,! İ, n), S-nin ortoqonal istiqamətdə bir hissəsidir, "+" çoxluq-nəzəri birliyi təşkil edir və {} çoxluğu təyin edir. (Bölmə istiqamətinin dəyişdirilməsi zolaqdan çox qutular yaradır.) Parametr n bölmədə bir qrupun minimum ölçüsünü təyin edir; maksimum ölçü 2-dir n.

Burada, bir illüstrasiya olaraq, bölünmüş 12.891 təsadüfi nöqtədən ibarət bir P dəstiQutu (P, doğru, 100)ölçüsü 100 ilə 200 arasında olan qruplara. Alqoritm 128 qutu yaradır ki, bunlardan 37-si 100, 91-i isə 101 baldır.


Videoya baxın: Random Forest Classification using the Semi-Automatic Classification Plugin for QGIS