Daha çox

Çoxbucaqlar arasındakı kiçik boşluqları (şeritləri) çıxarmaq?


Mənim inzibati bölgələri təmsil edən bir çox poliqon var. Bölgələr əl ilə rəqəmsallaşdırıldı və çoxbucaqlıların toxunmalı olduğu çoxbucaqlar arasında kiçik boşluqlar (şeritlər) var.

Boşluqları necə aradan qaldıraraq poliqonları birləşdirə bilərəm?


İstifadə edin Aradan qaldırın (ArcInfo Lisenziyası tələb olunur)

Çoxbucaqlıları ən böyük əraziyə və ya ən uzun paylaşılan sərhədə sahib olan qonşu poliqonlarla birləşdirərək aradan qaldırır. Eliminate tez-tez kəsişmə və ya birləşdirmə kimi örtükləmə əməliyyatlarının nəticəsi olan kiçik şeridli çoxbucaqların çıxarılması üçün istifadə olunur.

http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//00170000005p000000.htm

ArcGIS 10 İstifadəçiləri bu alət üçün Seçimlərdə YENİ bir xüsusiyyət olduğunu unutmayın.

Artıq> seçimi ilə orijinal POLİGON və ya POLİLİNİN qorunması mümkündür keçmiş_özəlliklər (Könüllü) Çoxbucaqlı sərhədləri və ya onların hissələrini müəyyənləşdirən giriş polilin və ya çoxbucaqlı xüsusiyyət sinfi və ya qat, aradan qaldırılmamalıdır.


QGIS-də bunu əl ilə etmək üçün, gedinAyarlar | Layihə Xüsusiyyətləri ...ÜstündəÜmumialtındakı nişanıdırÇəkiliş seçimləri ...Çəkmək istədiyiniz qatı yoxlayın, rejimi seçinzirvəyəvə dözümlülüyü sahib olduğunuz iki nöqtə arasındakı ən qısa məsafədən az bir dəyərə qoyun. Əmin deyilsinizsə, bölmələri seçinpikselvə 5 kimi bir şeyə dözümlülük, belə ki, bəzi qisa bir detal varsa, dərhal böyüdüb düz olmayan köşəyə keçməyəcəyinizə əmin ola bilərsiniz.

Sonra vektor qatınızı düzəldin, qovşaq alətini seçin və səhv nöqtələri öz həmkarlarına aparın.

Avtomatik olaraq etmək biraz hiyləgərdir. AFAIK QGIS-in onu avtomatlaşdırmaq üçün bir eklenti yoxdur və PostGIS, kəsmə funksiyaları olan GEOS üzərində qurulsa da, PostGIS-ə məruz qalmırlar. Çıxış məsafəsində qonşular üçün bir çoxbucaqlının hər nöqtəsini yoxlamaq üçün bir sorğu yazmaq mümkün ola bilər, amma bu, genişləndirmək üçün ağlımdan keçmir.

GRASS-da QGIS vasitəsilə daxil ola biləcəyiniz v.clean.snap var, lakin GRASS məlumat bazasının yaradılması üçün əlavə addım var.


QGIS ilə tanışsınızsa: QGIS magistral 1.9-da (OSGEO quraşdırıcısı vasitəsi ilə qgis.dev kimi quraşdırıla bilər, qgis ana səhifəsinə baxın) vektor menyusunda "Şerit çoxbucaqlarını aradan qaldırın" adlı yeni bir funksiyadır, bu da tam olaraq nə edir istəyirik. Problemli poliqonları seçib ortaq bir sərhəd və ya bölgə təşəbbüsünə əsaslanaraq qonşu poliqonlara birləşdirə bilərsiniz. Sınayın!


Tam bir topoloji CBS olduğundan GRASS-ın bütün gücünü əldə etdiyinizdən daha çox QGIS istifadəçisisinizsə. QGIS içərisində GRASS plaginini aktivləşdirin, məlumatlarınızı xaricə gətirəcəyiniz bir yer / xəritə dəsti yaradın.

Xəritəni açın və v.in.ogr ilə kirli təbəqəni idxal edin: "sərhədlər üçün eşik bağlama" və "idxal ediləcək ərazinin minimum ölçüsü" kimi iki inkişaf etmiş parametrlə oynayın.

V.clean modulunun təqdim etdiyi seçimlərdən də istifadə edə bilərsiniz.


ArcGIS, istinad etdiyiniz kimi məlumatlarınızdakı boşluqları müəyyənləşdirməyə və düzəltməyə kömək edəcək topoloji qaydalara malikdir. Topoloji qaydaları yaratmaq üçün edəcəksiniz ya bir ArcEditor ya da ArcInfo lisenziyasına ehtiyac var və Feature Class-u şəxsi və ya fayl geodatabase-də bir Feature Dataset-də saxla.

Çox güman ki, "Boşluqların olmamalı" qaydasını tətbiq etmək istərdiniz. Qaydalar bazasını zəruri hesab etdiyiniz bütün qaydalarla yaratdıqdan sonra, məlumatlarınızdakı bütün səhvləri müəyyənləşdirəcək topologiyanı təsdiqləmək istərdiniz.

Sonra, Hata Müfəttişindən və Topoloji Səhvləri düzəltmə alətindən istifadə edərək düzəltmək istədiyiniz səhvləri və onları necə düzəltmək istədiyinizi fərdi və ya toplu şəkildə seçə bilərsiniz (yəni boşluqları doldurmaq üçün yeni çoxbucaqlar yaradın və ya yaxınlıqdakı daha çoxbucaqlılarla birləşin) .


QGIS 2.12 (Lyon) Toolbox-da "Şerit poliqonlarını aradan qaldırmaq" funksiyası var. Əminəm ki, əvvəlki bir versiyada da var.


Bu problemi həll etmək üçün rekursiv bir şəkil çəkən bir PostGIS funksiyasından istifadə edirəm (birbaşa QGIS-də istifadə edirəm). Nəticələr olduqca yaxşıdır, ən yaxşı nəticələr əldə etmək üçün yalnız tolerantlıq dəyərlərinin yaxşı bir hissəsini tələb edir. Cəhd etmək istəsəniz, yoxlayın (mənim vəziyyətimdə həndəsələr hamısı çoxdur, buna görə də icraatımdakı st_multi):

FUNKSİYANI YARADIN VƏ DƏYİŞDİN dsgsnap (tabela mətni, snap float) RETURNS etibarsız $ BODY $ DECLARE id int; İcrada id üçün BAŞLAYIN ('kimliyindən' seçin || tabela) LOOP EXECUTE 'yeniləmə' || tabela || ' classe set geom = st_multi (res.geom) from (st_snap (a.geom, st_collect (b.geom), '|| snap ||') from geom, a.id from id from '|| tabela || 'a,' || tabela || 'b burada a.id! = b.id və a.id =' || id || 'a.id, a.geom tərəfindən qrup) res.id = classe .id '; SON DÖNGÜ; QAYIT; END $ BODY $ LANGUAGE plpgsql;

Eyni problemlə qarşılaşdım, alətləri araşdıraraq məntiqi bilməsəm də asanlıqla həll etdim. ! [Alətlərdə Veri İdarəetmə alət qutusuna gedin, Xüsusiyyət Sinifinə keçin və iki dəfə klikləyərək Integrate skriptini işə salın.

Script pəncərəsində problemi olan xüsusiyyət sinifini seçin və XY tolerantlığında ölçmə alətinin köməyi ilə məsafəni birdən çox nöqtədə ölçərək vale əlavə edin və tolerantlıq mühitində bu dəyəri qoyan orta vale əldə edin və problemi həll edin indi necə deyil, təxminən 90% dəqiqliklə həll olundu. ! [şəkil təsvirini buraya daxil edin] [2]

Yuxarıda göstərilən cavablarda təsvir olunan bütün digər metodları sınadım, lakin bitişik çoxbucaqlar arasındakı boşluqlar üçün avtomatlaşdırılmış düzəlişlər almaq çətin və çətin idi.


Mükəmməl bir həll deyil, əksər hallarda bu iki şeydən biri mənim üçün işləyir:

  1. QGIS-də qatı GEOJSON formatında saxlayın. Ancaq qənaət etməzdən əvvəl, "qatı qurtarın" dialoq qutusuna, koordinat dəqiqliyini 3-ə ayarlayın (15-i borcludur). Bunun bir-birinə çox yaxın olan zirvələri birləşdirməsi təsiri olacaqdır.

  2. Mapshaper-ə gedin, faylı yükləyin və "sadələşdir" düyməsini vurun. Sol üst küncdə sizə neçə xətt kəsişməsi tapdığını izah edəcək və onları düzəltmək imkanı verəcəkdir. Bu düzəlişin təxminən yarım dəfə işlədiyini görürəm.


Mən istifadə etməmişəm, lakin ArcEditor və ArcInfo-nu yalnız işləmə alətlərini ArcView səviyyəli lisenziyasına (yəni ArcGIS Standard) gətirən ET Geowizards, bir Silmək Sihirbazına malikdir. "İstənməyən poliqonları (şerləri) qonşu poliqonlara birləşdirərək və ya silməklə aradan qaldırır". Sihirbaz alət dəsti sizi 250 dollar (qiymət siyahısı) geri qaytaracaq.


Videoya baxın: 9-cu sinifBuraxılış Dim nümunə testləri Nicat Bağışzadə (Oktyabr 2021).