Daha çox

ArcGIS for Desktop-da məzunlu məlumatları aralıq xaricində əl ilə təsnif etmək?


Aşağıda göstərilən rənglərlə simvollaşdırılan dəyərləri olan ızgaraları təmsil edən iki shapefile var:

İki formalı sənədin oxşar məlumat aralığını əhatə etdiyini görə bilərsiniz, ancaq bu məlumatlardakı aralıklara bir az fərqli rənglər təyin edin. Fayllar arasında daha asan müqayisə etməyə imkan verən və tək bir əfsanədən istifadə edilməsinə imkan verən, eyni aralıklar üçün eyni rənglərdən istifadə edərək, hər iki formalı sənədin hər birindəki aralıkları simvollaşdırmaq istərdim.

Bununla birlikdə, aralıqları bir əl intervalı ilə təsnif etməyə çalışdığım zaman, ArcGIS, ən üst aralığın nə olacağını da verilənlər bazasından minimum dəyəri daxil etməyə məcbur edir. Bunu aşağıdakı sol məlumat çərçivəsinin "-81.64 - 10.00" aralığında görə bilərsiniz. Bu, bütün təbəqəni bu rənglə simvollaşdırmağa məcbur edir. Əslində, ArcGIS, verilənlər bazasındakı minimum dəyərin aralıklardan birində bir dəyər olaraq istifadə edilməsini tələb edir.

Bu xüsusiyyəti atlamağın bir yolu varmı?


ArcMap olmağa çalışanda qətiliklə böyük bir ağrıdır, um, faydalıdır həqiqətən olmasını istəmədikdə belə.

Tapdığım bir həll yolu yeni bir müvəqqəti verilənlər bazası yaratmaq və nəticədə lazım olacağını bildiyiniz minimum və maksimum dəyərlərlə bir neçə nöqtə əlavə etməkdir - sadəcə bütün aralığı əhatə etdiyinizə əmin olun.

Bu saxta məlumat bazasına əsaslanan simbologiyanızı yaradın və bu simbologiyanı bir təbəqə sənədinə yazın:

... sonra simbologiyanı * .lyr faylından həqiqi verilənlər bazasına daxil edin:


@ChrisW dedi:

Bildiyim və sübut tapdığım qədəri ilə, məlumatdakı minimum dəyərdən aşağı bir təsnifat aralığını təyin edə bilməzsiniz.

Bu məni düşündürdü və əslində təsnifat aralığını minimum dəyərin altına təyin etmək üçün bir yol tapdım. Orijinal buraxılışım, ən aşağı təsnifat aralığının məlumatdakı minimum dəyəri ehtiva etməsi tələb olunduğu üçün hazırlanmışdır.

Bununla birlikdə, istifadə edilən digər təsnifat aralığında belə bir məhdudiyyət qoyulmur. Buna görə, bir insan məcbur edə bilər iki (və ya daha çox) təsnifat məlumatların minimum dəyərinin altına düşmək üçündür. Bunlardan biri üstünlük verilən minimum təsnifat aralığını, digəri isə minimum dəyəri ehtiva edən saxta aralıq kimi fəaliyyət göstərəcəkdir.


Təsnifat üçün istifadə etdiyim başlanğıc nöqtəsi budur. Dörd məlumat çərçivəsindəki hər bir təbəqə, digər təbəqələrin məlumat aralığına baxmadan müəyyən edilmiş 10 fut aralıq istifadə edərək təsnif edildi.

Dörd məlumat çərçivəsindən hər hansı birində maksimum təsnifat aralığı "0,01 ilə 10,00" arasındadır və minimum təsnifat aralığı "-110,62 ilə -110,00" arasındadır (ideal olaraq "-11,00 ilə -110,00" arasında dəyişəcəkdir). 10 ayaq aralığını qorumağa çalışdığım üçün bu, ümumilikdə 13 fasiləyə çevrilir.


Ümumi əfsanəmin mənbəyi olaraq sol üst məlumat çərçivəsini istifadə edirəm. Layer Xüsusiyyətlərini açaraq Classify'a başlayıram. 13 aralığın görünməsini istədiyim üçün seçim etməliyəm 14 bir fasilə mövcuddur. Bunu metod olaraq Manual seçib 14 sinif yaradaraq edirəm.

Cari vəziyyətində qurulan aralıklarla (yuxarıdakı ən böyük dəyərlərlə), aralığa daxil edilmiş dəyərə edilən hər hansı bir dəyişiklik, siyahının ən altındakı aralıqdan başqa bir şeyə təsir göstərməyəcəkdir. @ChrisW bunun bir səhv olmadığını, əksinə ArcGIS-in fasilə dəyərləri təyin etməsinin bir xüsusiyyəti olduğuna diqqət çəkdi. Manual metodunu seçdikdən sonra, lakin aralıqlarda dəyişiklik etmədən əvvəl Layer Properties pəncərəsi:


Bu məsələni həll etmək üçün təbəqənin çeşidlənməsini müvəqqəti olaraq dəyişdirirəm. Bu nöqtədə ən aşağı aralıklar yuxarıda, ən yüksək aralıklar isə altındadır.

İndi aralıklar siyahısının altına (ən yüksək aralığın göstərildiyi yerdə) gedib aşağıdan yuxarıya uyğun aralıqları təyin etməyə başlasam, ArcGIS təyin etdiyim aralıkları xatırlayacaq:

Bu şəkildə ən böyük dəyərdən (10.00) başlayaraq aşağıya doğru işləyərək 14 aralığın 5-də yuxarı dəyəri təyin etdim.


Siyahının yuxarı hissəsinə çatdığımda və 14-cü aralığımı düzəltdikdə, onun dəyəri aşağıda göstərilən səviyyəni çəkməsi üçün aşağıda başqa bir aralığına malik olmadığı üçün yenə də qatdakı minimum dəyər kimi təyin ediləcək:

Bu əvvəlcədən bəhs etdiyim saxtakarlıq olduğuna görə bunun heç bir əhəmiyyəti yoxdur. Bu nöqtədə, təbəqənin çeşidlənməsini bir dəfə geri çevirdim, buna görə də ən yüksək aralıklar yenidən yuxarı hissədədir. Aşağıdakı şəkil, yuxarıdakı məlumat çərçivəsi üçün güncəllənmiş əfsanəni göstərir və bu, indi üçün uyğun aralıkları əks etdirir dördü də 14-cü saxta sıra daxil olmaqla məlumat çərçivələri:


Növbəti addım bu dəyişiklikləri məlumatların qalan hissələrinə yaymaqdır. Simbologiyanı digər məlumat çərçivələrinə idxal etməyə çalışdığım zaman bəzi məsələlər aydın olur:

@ChrisW-nin də qeyd etdiyi kimi, bu, bütün məlumat çərçivələrində mütləq minimum dəyərə malik olmayan bir qat ilə başlamaq qərarımla əlaqədardır. Görünən budur ki, məlumat çərçivəsi orijinal məlumat çərçivəsində mövcud olan aralıkların altına düşən aralıqları göstərməyəcəkdir.

Etdiyim qat kimi bir qatdan başlayırsınızsa, bunun üçün ən yaxşı həll yolu, dörd məlumat çərçivəsinin hər biri üçün yuxarıda müzakirə etdiyim addımları təkrarlamaqdır; 14 sinfi əl ilə müəyyənləşdirmək, siniflərin çeşidlənməsini dəyişdirmək, hər aralığın üst hissəsini yenidən təyin etmək, daha sonra ən yüksək aralıqları üstə yerləşdirmək üçün sıralamanı geri qaytarmaq.

Ən sadə həll yolu, təsnifat prosesinə ən kiçik dəyərə sahib olan qat ilə başlamaqdır. Symbology İdxal et seçimindən sonra digər məlumat çərçivələri üçün düzgün istifadə edilə bilər.


Nəhayət, əfsanələrdən üçünü silə bilərəm və ya qalan əfsanədəki saxtakarlıq aralığını gizlədə bilərəm və ya qrafiqə çevirib saxta aralığı silə bilərəm.


Eyni problemlə qarşılaşdım, düşünürəm ... Əgər doğru başa düşsəm, iki (və ya daha çox) məlumat dəstiniz var idi və müqayisə aparıla bilməsi üçün verilənlər bazası miqyas aralığını əldə etməlisiniz.

Bunu həll etdim:

  1. Görünüşünü istədiyiniz kimi ilk məlumat dəsti olduğunuzu yaradın. İdeal olaraq, simvolların ikinci (daha kiçik ölçülü) verilənlər bazasına asanlıqla kopyalanması üçün ən böyük məlumat aralığına malikdir.

  1. Özünüzü ikinci bir verilənlər bazası olaraq yaradın, lakin hələ hər hansı bir simbologiya üçün narahat olmayın. İkinci məlumat dəstlərində Layer Properties> Symbology nişanı istifadə etdiyim bu nümunə üçün ilk verilənlər bazası ilə eyni təsnifat növünü seçin Kateqoriyalar> Unikal dəyərlər sonra basın Bütün dəyərləri əlavə edin düyməsini basın.

  1. Dəyərləri ilk verilənlər bazasında istifadə olunan aralıqlara düşmələri üçün qruplaşdırın. Müəyyən bir kateqoriya üçün bütün dəyərləri seçin və sonra sağ vurun və seçin Qrup. Ən yaxşı iki kateqoriya artıq aşağıda göstərilən şəkildə qruplaşdırılmışdır, vurğulanmış dörd val üçüncü bir qrupa "çəkilməkdədir".

  1. Bu mərhələdə kateqoriyalara yenidən etiket yazmağı daha asan hesab edirəm ki, izləməyim daha asandır. Bu nöqtədə yeddi kateqoriyadan beşinin yerləşdiyini görə bilərsiniz.

  1. Nəhayət (demək olar ki) və ikinci problemin məlumat aralığından kənarda olan boş kateqoriyalara əlavə etmək üçün bu problemin mahiyyəti. İçində Layer Properties> Symbology nişanı vurun Dəyərlər əlavə edin düyməsini basın və lazım olduqda məlumat aralığının yuxarı və altındakı tələb olunan kateqoriyalarla doldurun.

  1. Sonda yeni boş kateqoriyalara yenidən birinci etiketlə uyğun gəlsin və sonra hər bir kateqoriyanı birincilərlə uyğunlaşması üçün yenidən düzəldin.

Üzr istəyirik ki, bu bir az sadələşdirilmiş və ya hətta düz olmayan / pis təcrübədir. Uzun müddətdir bu saytın CİS istifadəçisi olmuşam və töhfə verməyə başladığım vaxt haqqında düşünmüşəm, bu mənim ilk yazımdır!


  1. İstədiyiniz sinif sayını seçin.
  2. Simvolların üzərinə sağ vurun və seçinsinif fasilələrini saxla
  3. hər hansı bir mətn redaktorunda aça və düzəldə biləcəyiniz bir xml sənədini saxlayır
  4. xml faylında istədiyiniz sinif fasilələrini düzəldin və qeyd edin
  5. yenidən simvolları sağ vurun və yeni redaktə olunmuş sinif fasilələri sənədini idxal edin

Bitdi


Halbuki təsnifat oxşar aralıqlardan istifadə edir məlumat bir sıra paylaşmayın. Düşünürəm ki, buradakı həll onu əsl təsnifat deyil, əfsanə və rəng tapşırıqlarında həll etməkdir.

Sol alt nəticənizlə başlayın və bu əfsanəni bir qrafikə çevirin. İstədiyiniz aralıkları almaq üçün mətni redaktə edin. Bütün digər şəkillərinizin 10 vahid aralığına sahib olduğunu fərq edirəm, ancaq bu 20 edir və üst-üstə düşür. Məsələn, şəkillərin üçü -49.99-dan -40.00-a, sol alt -49.99-dan -60.00-a və növbəti sinif -59.99-dan -70.00-a qədərdir. Şəkillər də əks aralığındadır - yəni üçü solda, alt solda isə sağda daha aşağı dəyərdir (mənə daha çox natual olaraq oxuyur və artır nömrələri Əgər olmasa dəyərlər soldan sağa). Bəlkə əvvəlcə bu məsələlərə əl ilə mətn düzəliş etməkdənsə bir az vaxta qənaət etmək üçün baxılmalıdır.

Aralıkları və bəyəndiyiniz bir rəng rampası ilə bir əfsanə qurduqdan sonra ilk iki təbəqənizə (onsuz da düzgün təsnif edilmiş) qayıda və əfsanədəki aralığa qərar verdiyiniz rəngə uyğun olaraq hər aralığın rəng yamasını əl ilə düzəldə bilərsiniz. . İki təbəqə öz əfsanələrini nümayiş etdirməyəcəyindən, birinin aralığın əslində -89,99 ilə -80,00, digəri ilə -81,64 ilə -80,00 arasında olması heç bir əhəmiyyət daşımır, çünki hər ikisi eyni rəngə sahib olacaqdır. .

Bununla birlikdə, bunun hər iki məlumat dəstinin eyni aralığa sahib olduğunu nəzərdə tutacağını unutmayın. Əslində yalnız bir xəritədə (ən yüksək və ən aşağı) istifadə olunan iki rəng yaması olacağı görünür. Hər xəritəyə mütləq məlumat aralığını verən bir qeyd qoymaq istəyə bilərsiniz. Aralar arasında '-' əvəzinə 'to' - nu da istifadə edərdim, çünki mənfi dəyərlərlə oxumaq bir qədər qarışıqdır.


Alternativ həll yolu:

Bildiyim və sübut tapdığım qədəri ilə minimum dəyərinizlə başlayan bir sinifiniz olmalıdır. Veri aralığınızın üstündə və ya altında dərsləri (hətta boş olanları) əl ilə əlavə edə bilərsiniz, lakin bir sinif minimum dəyərdən başlamalıdır.

Beləliklə, bütün rasterlərin ən aşağı / minimum dəyərini ehtiva edən rasterdən istifadə edərək simbologiyanı qurun. Bunları simvollaşdırın. Daha sonra sinfi düzəldə bilərsiniz etiket nə istəsən danışmaq. Beləliklə, ən aşağı dəyəriniz 0,4 olsaydı, yenə də etiketi 0 olaraq dəyişdirə bilərsiniz.

Bunu etdikdən və bəyəndiyiniz rəng rampası ilə qurduqdan sonra simbologiyanın bir lir faylını qeyd edin. Daha sonra digər rasterlərinizi açıb eyni simbologiyanı tətbiq etməlisiniz. Digər rasterlərin hamısının daha yüksək dəyərlərə sahib olacağı üçün düzgün şəkildə təsnif etməli və yalnız minimum dəyər özü artacaq (ya da içərisinə heç bir şey düşməsə, bəlkə də o sinif düşəcək). Hansı ki, simbologiya ilə uyğun gəlmirsə, yenidən sinif etiketini həqiqi dəyər əvəzinə sinif mərtəbəsinə dəyişə bilərsiniz.


Mənim üçün işləyən daha asan, eyni zamanda daha çirkli bir həll. Orijinal məlumatlarınızın ehtiyat nüsxəsini yaratmağı unutmayın.

  1. Atribut Cədvəlini açın və Redaktə etməyə başlayın
  2. Təsnifatınızın əsas götürülməsini istədiyiniz minimum və maksimum dəyər daxil olmaqla hər iki dəyəri əl ilə düzəldin (orijinal dəyərləri xatırlayın)
  3. Redaktə edin və dayandırın
  4. Yeni ekstremaya əsaslanaraq təsnif edin
  5. Yenidən başlayın və dəyişdirilmiş dəyərləri orijinal dəyərlərlə əl ilə əvəz edin
  6. Mövcud təsnifat təsirlənməyəcəkdir

İnanıram ki, bu xüsusiyyət əfsanəsi ilə əlaqədardır, lakin rasters haqqında deyil. Söhbət rastrlardan gedirsə, təklifimə məhəl qoymayın. Ümumiyyətlə bunlardan istifadə edirəm:

  • 2 (və ya daha çox shapefile) UŞAĞI birinə birləşdirin, buna AİLƏ deyək
  • AİLƏ üçün əfsanə yaradın
  • AİLƏDƏN hər UŞAQ üçün simbologiya idxal edin

Kömək edəcəyinə ümid edirəm FP


Aşağıdakı həll yolu etdim. XML sənədində öz sinif fasilələrimi yaratdım və hər iki təbəqənin təsnif simbologiyasına yüklədim.

  1. Bir sinif fasiləsi-XML sənədinin şablonunu almaq üçün: təbəqə xüsusiyyətlərində təsnifat aralığına sağ vurun və sonra "sinif fasilələrini saxla".
  2. XML sənədini redaktə edin: dərs fasilələrini XML sənədinə daxil edin, məlumat dəstlərinizin xaricində olacaq nömrələri də daxil edə bilərsiniz.
  3. XML sinif fasilələrini yükləyin: şablonu saxladığınız eyni menyu (bax 1), "sinif fasilələrini yüklə" düyməsini basın


Alternativ bir yol, hər qatdakı bütün dəyərləri bir təbəqəyə birləşdirməkdir, bu şəkildə qatdakı minimum və maksimum dəyərlərə sahib olacaqsınız.

Təsvir:
1. bütün təbəqələrdəki dəyərləri bir excel hesabatında bir sütuna (All_Vals olaraq adlandıraq) birləşdirin

  1. All_Vals sütununun yanına X və Y kimi iki yeni sütun əlavə edin və onları sıfırla doldurun.

  2. Arcmap-da excel təbəqəsini bir masa kimi əlavə edin və display xy data command / tool istifadə edərək bir nöqtə xüsusiyyət sinfi yaratmaq üçün istifadə edin, sonra hadisə qatını bir shapefile ixrac edin (NB_Point adlandıracağam) və məlumat çərçivəsinə əlavə edin.

4. NB_Point forma faylını təbəqələrinizin xüsusiyyət sinfi tipinə çevirin, məsələn xüsusiyyət qatınızın növü çoxbucaqlıdırsa, NB_Point shapefile-dən poliqon xüsusiyyət sinfi yaratmaq üçün bufer alətindən istifadə edin (NB_polygon olaraq adlandıraq).

  1. İndi etməlisiniz ki, son təbəqə NB_polygon-a sağ vurun və təbii fasilələr təsnifatından istifadə edərək rəngli rəng simbologiyasını tətbiq edin, hər biri üçün idxal qat simbologiyası proqramından istifadə edərkən onu giriş qatı kimi istifadə etmək üçün .lyr faylına köçürün. orijinal təbəqələrin.

Ümid edirəm bu kömək edir və səhv yazma üçün üzr istəyirəm.


Videoya baxın: ArcGIS Desktop - Uninstall Completely using 3 steps (Oktyabr 2021).