Daha çox

Tək nöqtənin birdən çox poliqonlara məkan qoşulması

Tək nöqtənin birdən çox poliqonlara məkan qoşulması


Bir çoxbucaqlı təbəqəyə məkan olaraq qoşulmaq istədiyim bir nöqtə təbəqəm var (atributları gətir).

Üst-üstə düşən çoxbucaqlar olmadığı təqdirdə bu yaxşı işləyir, əgər belədirsə QGIS məkan birləşmə aləti yalnız tapılan birincidən (və ya bir qədər orta) xüsusiyyətləri geri gətirəcəkdir. Mətn atributları üçün ortalama uyğun deyil.

Baş verməyi üstün tutduğum şey, birdən çox poliqon varsa, qoşulmaq olar, nöqtənin təkrarlanması ilə nəticələnəcəkdir. Əslində ArcGIS: join_operation = JOIN_ONE_TO_MANY

QGIS 2.8+ -də çalışıram.

Bir skript / PyQGIS həlli ilə xoşbəxtəm, çünki bunun üçün hazır bir vasitə olmadığını düşünürəm. Ancaq son istifadəçi üçün sadə saxlamaq istədiyim üçün bir SpatiaLite həllinə sahib olmamağı üstün tuturam.

Nəticədə kiminsə artıq tətbiq etdiyi bu problemin həlli varsa, onu görmək istərdim. Əks təqdirdə həll yolunu özüm tapmağa çalışacağam.


QGIS-in 'məkan qoşulmasının ArcGIS' məkan qoşulmasında mövcud olan əlaqə parametrini təklif etməməsi ilə (ən azından bildiyim qədər) doğrusunuz.

Sizin vəziyyətinizdə, birdən çoxa münasibətləri izah etməkdən (nöqtələrə çoxbucaqlı) bir həll yolu var. Hər çoxbucağa qoşulmaq istədiyiniz bir çox nöqtə olsaydı, əlbətdə bir nəticə vermirdi, çünki eyni boşluğu doldurmaq üçün birdən çox dəyərə sahib olacaqsınız (bunun üçün bir poliqonların əlaqələndirilməsi və ya çoxaldılması tələb olunur). Ancaq uyğunlaşacaq bir neçə yuvanız var və yalnız bir neçə nöqtə var, buna görə sürətli bir həll yolu nöqtələri çoxaltmaqdır - toxunduğu hər çoxbucaqlı üçün hər dəfə. Bu kəsişmə vasitəsi bunu etməlidir.

İki təbəqəni kəsdikdən sonra hər kəsişən çoxbucaqlı üçün ən azı bir nöqtə olan yeni nöqtələr dəstinə sahib olmalısınız və nöqtələr kəsdikləri çoxbucaqlıların ID xüsusiyyətinə sahib olacaqlar. Kesişmeyen nöqtələr əlbətdə atılacaq. Daha sonra çoxbucaqlı ID sahəsinə əsaslanaraq ikisi arasında müntəzəm bir atribut / cədvəl birləşdirməyi bacarmalısınız.

Siz əgər unutmayın et tək bir çoxbucaqlı üçün birdən çox nöqtə matçına sahib olsanız, bu birləşmə ilə əlaqədar problemləriniz olacaq və başladığınız yerə qayıdacaqsınız - çoxbucaqlı tapılan ilk nöqtəni alacaq və digərlərindən heç biri olmayacaq. Bu vəziyyət üçün başqa suallarımız var.