Daha çox

Cədvəl kimi Zonal Statistika, yalnız Python skriptindən çalıştırıldığında bəzi çoxbucaqlıları itkin salır


Məndə bir raster faylı var, ondan shapefile müəyyən edilmiş çoxbucaqlar üçün orta dəyərləri hesablamağa çalışıram. ArcGIS içərisindən Zonal Statistikanı Cədvəl kimi istifadə etmək çox yaxşı işləyir. Mənim shapefile 118 fiqur və çıxış cədvəli 118 sətirdən ibarətdir.

Problemim ondan ibarətdir ki, python skriptindən eyni aləti icra etməyə çalışdığım zaman nəticələrin hamısı formalara daxil edilmir. Şeffildəki 118 formadan mənim çıxış cədvəlim yalnız 87 satırdan ibarətdir.

Çoxbucaqlarım üst-üstə düşmür və hamısı rasterin piksel qətnaməsindən çox böyükdür.

İşlədiyim kod:

arcpy-dən arcpy idxal arcpy.sa-dan import env import * env.workspace = "E: / Temp" shapeFile = "test_shape.shp" shapeFileField = "FID" inRaster = "test_raster.pix" outTable = "test_output" arcpy.CheckOutExtension ( "Mekansal") outStats = ZonalStatisticsAsTable (shapeFile, shapeFileField, inRaster, outTable, "DATA", "MEAN")

Kimsə mənə bunun niyə baş verdiyinə dair hər hansı bir göstəriş verə bilərmi?


Çıxış cədvəlinizi giriş şəkli sənədinizə "FID" ilə qoşulma sahəsi kimi birləşdirməyə çalışın. Eşsiz poliqonları seçin və yerləşmələrinin sizə çıxış cədvəlindən niyə kənarda qaldıqları barədə bir ipucu verdiyini görək. Ayrıca, "Ortalama" dəyərlərinin eyni FID üçün eyni olub olmadığını görmək üçün cədvəllə birlikdə Cədvəl kimi Zonal Statistikadan cədvələ cədvələ qoşun. Olmazsa, eyni giriş məlumat dəstlərindən istifadə etmirsiniz.

Ssenariniz mənim üçün mükəmməl bir şəkildə işlədi və çıxış cədvəli Zonal Statistikanın Cədvəl aləti ilə tam uyğun gəldi. Hər iki üsul da çıxış masamdan təxminən 500 çoxbucaqlı kənarda qaldı, ancaq cədvəli yenidən giriş şəklinə əlavə edərək, uyğun olmayan çoxbucaqlıların giriş rasterimdəki sıfır dəyərlərdə olduğunu söyləyə bildim.


Adalardakı qorunan ərazilərlə quru və dəniz əhatə dairəsinin qlobal əlaqələri

Bir çox ada biomüxtəlifliyin qaynar nöqtələridir, eyni zamanda nəsli kəsilən mərkəzlərdir. Təbiətlə güclü mədəni əlaqələrə əlavə olaraq ada sakinləri iqtisadiyyatının əhəmiyyətli bir hissəsini və daha geniş rifahını bu biomüxtəliflikdən əldə edirlər. Beləliklə, adalar növlərə və yaşayış itkisinə ən həssas sosial-ekosistemlər kimi qəbul edilir. Hələ də adalardakı qorunan ərazinin əhatə dairəsinin dərəcəsi və əsas əlaqələri hələ məlum deyil. Burada iqlim, coğrafiya, yaşayış müxtəlifliyi, mədəniyyət, resurs tutumu və insan ayaq izinin qlobal səviyyədə 2323 adada quru və dəniz qorunan ərazinin əhatə dairəsinə nisbi təsirini qiymətləndiririk. Göstəririk ki, orta hesabla quru qurularının 22% -i və dəniz ada ərazilərinin 13% -i qoruma statusundadır, lakin bütün adaların yarısının qorunan ərazisi yoxdur. İqlim, dillərin müxtəlifliyi, insan populyasiyasının sıxlığı və inkişafı adalar arasında qorunan ərazinin əhatə olunmasında müşahidə olunan fərqlərlə güclü əlaqələndirilir. Tədqiqatımız iqtisadi inkişafın və əhali artımının adalardakı qorunma miqdarını kritik dərəcədə məhdudlaşdıra biləcəyini göstərir.


Blenderdə model üçün ixrac sənədinin yaradılması

Blenderdə və Blenderdə piton ssenarisi üçün tamamilə yeni bir adamam.

Etməyə çalışdığım, modellərimdən birinin səhnədəki Crate.blend faylında bir ssenari yazaraq köşələrini və üz məlumatlarını çıxarıb konsola yazdırmasıdır.

Blender mətn redaktorunu aşağıdakı kimi sadə bir ssenari yazmaq və ssenarini idarə etmək üçün istifadə edirəm. Bu konsolda yaxşı işləyir

İstədiyim şey konsolda aşağıdakı sətri yazdığım zaman bu ssenarini icra etməkdir

Buna necə nail ola bilərəm? Düşünürəm ki, bunun üçün bir ixracatçı ssenarisi yaratmalı ola bilərəm? Burada ixracatçı ssenari yaratmaq üçün perspektivli bir yazı tapdım

Ssenarini hər ehtimala qarşı yapışdıracağam

Bu skripti Blender mətn redaktorunun içərisində işlədirəm və tərtib edir

İndi onu aşağıdakı əmrlə komanda xəttində çalışdırmağa çalışanda

model.blend-də "etibarsız sintaksis" kimi istisna atdı

Blender üçün tamamilə yeniyəm və python ilə skript hazırlayıram, buna görə burada bir şey itirirəmsə, məni əsirgəməyin.

Ssenarimi ikinci yazıda təklif olunduğu kimi dəyişdirdikdən sonra aşağıdakı xətanı alıram


ArcGIS 10.4.1-də Model Builder ilə bağlı bir kömək axtarırsınız

İlçe vergi qiymətləndiricisinin istifadəsi üçün bağlama xətlərinin poliqonlara çevrilməsi prosesini avtomatlaşdırmaq üçün bir model yaratdım. Modelin bir mərhələsində həll etmək bölünmüş bağlamalar üçün çox hissəli çoxbucaqlılar yaratmaq üçün & quotParcel_no & quot adlı bir sahədə həll etmək üçün vasitə. Kiçik bir narahatlıq, bunun yalnız həll olunan sahəni saxlamasıdır. Bütün digər sahələr çıxış xüsusiyyət sinifində saxlanmır.

Buradan keçmək üçün orijinal nöqtələr sənədində məkan birləşməsini həyata keçirdim, lakin bu & quotParcel_no & quot sahəsini təkrarlayır. Bunu da əlavə edərək ətrafda işlənə biləcəyinin fərqindəyəm sahəni silin alətə model, lakin modeli mümkün qədər asanlaşdırmağa çalışıram. Hər kəsin daha səmərəli işləməsi üçün bir tövsiyəsi varsa, bunu çox qiymətləndirərdim. Model qurucusu üçün çox yeniyəm, buna görə daha səmərəli bir şey görsəniz, mütləq bildirin!


İnteqrasiya testi üçün SQL Server verilənlər bazası anları

İnteqrasiya testlərimiz üçün bir test verilənlər bazası (SQL Serverdə) ilə işləmə yolunu müəyyənləşdirməyə çalışıram.

Fikrim bu addımları inteqrasiya test məclisinin başlanğıcında etmək idi:

  • tamamilə boş bir verilənlər bazası yaradın
  • bütün müvafiq verilənlər bazası obyektlərini (cədvəl, baxışlar, ardıcıllıqlar və s.) yaratmaq üçün "verilənlər bazası obyektləri yaradın" skriptini işə salın
  • "əsas məlumatları" doldurun (axtarış dəyərləri və s.)
  • gələcək inteqrasiya testləri üçün "baza xətti" olaraq (db) _Basis adlı verilənlər bazası şəklini çəkin

İndi hər bir test sinifindən əvvəl (1-n testləri ehtiva edən), verilənlər bazasının yaxşı müəyyənləşdirilmiş, az və ya çox "boş" vəziyyətinə qayıtmaq üçün sadəcə "anlıq görüntüdən bərpa" etməyi planlaşdırırdım. İndiyə qədər bir cazibə kimi işləyir.

Bununla birlikdə, böyük bir test verilənlər bazasında işləməsi lazım olan bir sıra inteqrasiya testləri var - buna görə bu test qurğularının hər birindən əvvəl bunu edəcəyimi ümid edirdim (fərdi testləri olan siniflər)

  • verilənlər bazasını (db) _Basis anlıq şəklindən bərpa edin
  • bu 50'000 + satır məlumatları verilənlər bazasına daxil edin
  • başqa bir anlıq görüntü (db) _With_Testdata anlıq şəkil yaradın

və sonra hər bir test üçün verilənlər bazasını yaxşı müəyyən edilmiş (db) _With_Testdata anlıq görüntü versiyasına qaytarın, testləri aparın, nəticəni yoxlayın və s.

Problem budur: görünə bilmərəm iki db anlıq şəkilləri eyni zamanda - bir dəfə etdikdə verilənlər bazasını onlardan heç birinə qaytara bilmirəm. Bu səhvi almağa davam edirəm:

Msg 3137, Səviyyə 16, Vəziyyət 4, Sətir 9
Verilənlər bazası geri qaytarıla bilməz. Ya əsas və ya anlıq görüntü adları düzgün göstərilməyib, bütün digər anlar çəkilməyib və ya itkin fayllar var.

Msg 3013, Səviyyə 16, Dövlət 1, Sətir 9
ƏLAQƏ VERİLMƏSİ BAZASI anormal şəkildə sona çatır.

Doğrudanmı SQL Server verilənlər bazası anları işləyir? Dəhşətli dərəcədə məhdudlaşdırıcı görünür. Doğrudan orijinal "(db) _Basis" anlıq görüntüsünə qayıda bilmədiyimi başa düşərdim - ancaq indi iki anlıq şəklim olduğuna görə ən sonuncusuna qayıda bilmirəm.


NCL Tez-tez Verilən Suallar (FAQ)

Tam təlimatlar üçün NCL yükləmə səhifəsinə baxın. Müəyyən bir UNIX sistemi və ya mənbə kodu üçün əvvəlcədən tərtib edilmiş ikili faylları yükləyə bilərsiniz.

Xahiş edirəm yardım üçün ESG problemlərini həll etmə təlimatımıza baxın. Bu kömək etmirsə, ncl-install e-poçt siyahısına e-poçt göndərin.

    NCARG_ROOT mühit dəyişənini və axtarış yolunuzu NCL / NCARG-nin yerləşdiyi yerə təyin edin

Proqramdan istifadə etmək üçün NCARG_ROOT mühit dəyişəninizi NCL yürütülə bilən sənədlərin və müşayiət olunan faylların quraşdırıldığı ana qovluğa qurmalısınız. NCL / NCARG icraedicilərinin yerləşdiyi qovluğun axtarış yolunuzda olduğundan da əmin olmalısınız. Bunu ev qovluğundakı. * Fayllarınızdan birini etmək yaxşıdır. Hansı qabığın üzərində işlədiyinizdən əmin deyilsinizsə, ev qovluğunuzda "." İlə başlayan hansı növ faylları görmək üçün "ls -a" yaza bilərsiniz və sonra mühitin dəyişənlərinin necə olduğunu görmək üçün bu fayllara baxın. təyin olunur.

Yuxarıdakı nümunədə bunları aşağıdakılarla təyin edərdik:

C-shell-dən (csh): bash və ya ksh-dan: sh-dən: İndi NCL və / və ya NCAR Graphics istifadə etməlisiniz. Mənbə kodundan və ya ikili sənədlərdən NCL qurmaqla bağlı hər hansı bir probleminiz və ya sualınız varsa, xahiş edirəm [email protected] elektron poçtuna göndərin (əvvəlcə abunə olmalısınız).

Bu, bir NCL spesifik mühit dəyişən deyil, əksinə çalıştırdığınız hər hansı bir X11 Windows tətbiqi tərəfindən istifadə olunur. NCL və ya NCAR Graphics üçün qrafiklərinizi X11 pəncərəsində göstərdiyinizdə və ya NCGM sənədlərinizi görmək üçün ictrans, ctrans və ya idt istifadə etdiyiniz zaman lazımdır.

Bu dəyişən, qrafiklərinizi göstərmək istədiyiniz maşının IP ünvanına və ya adına qurulmalıdır, məsələn "localhost: 13.0". Uzaq bir maşında çalışmırsınızsa, onu ": 0.0" olaraq təyin edə bilərsiniz. Zəhmət olmasa nəyi təyin edəcəyinizi bilmirsinizsə, sistem administratorunuzla əlaqə saxlayın.

Məsələn, C-shell-dən (csh): Başdan:

NCL qrafik mühitini daha yaxşı bir şəkildə düzəltmək üçün .hluresfile'yi ev qovluğuna köçürməyinizi tövsiyə edirik. Bu faylı öz zövqünüzə görə düzəldə bilərsiniz, ancaq minimum olaraq şrifti, standart rəng masasını və mətn funksiyası kodunu dəyişdirmək istəyirsiniz.

[OPenDAP istifadə etmirsinizsə, bu təlimatlar barədə narahat olmağınıza ehtiyac yoxdur.]

NCL quraşdırıldıqdan sonra UNIX əmr sətrinə yazaraq onu interaktiv şəkildə işə sala bilərsiniz: Bu, bəzi məlumatları ekranda əks etdirəcək və sizə bir təklif verəcəkdir: İnteraktiv rejimdən çıxmaq üçün "çıxın" yazın (ikiqat təklif olmadan) ).

NCL-ni "myscript.ncl" adlı mövcud bir NCL skriptində çalıştırmaq üçün UNIX əmr sətrinə yazın:

Versiyon nömrəsi hər dəfə NCL çalıştırdığınız zaman əks olunur. Versiya nömrəsini almaq üçün UNIX əmr sətrinə "ncl -V" yaza bilərsiniz.

Bəli. NCL-nin quraşdırılması və mühitin istifadəsi üçün qurulması ilə bağlı əsas suallar üçün:

Yüzlərlə NCL tətbiqetmə nümunəsinə baxmaq üçün tətbiq səhifələrinin kateqoriya siyahısına baxın. Bu nümunələr yükləyə biləcəyiniz tam NCL skriptləridir. Bəzi məlumat dəstləri ayrı bir link kimi təqdim olunur.

NCL-ə tam başlamışsınızsa, sətir-sətir təsvir olunan nümunələri olan bir təlimat var.

Bəli, "NCL komut satırı seçimləri" bölməsinə baxın NCL İstinad Təlimatı.

İstifadə edə bilərsiniz loadscript proseduru, burada NCL əmrlərini ehtiva edən sənədin adını verirsiniz.

İstifadə edirsinizsə çap bəzi dəyərləri yazdırmaq üçün belə bir nəticəni görürsən: "ncl" yi çağırdığınız zaman "-n" əmr satırı seçimindən istifadə edərək "(0)", "(1)" və s. Çıxışınız belə olacaq:

Bir NCL skriptini işlədirsinizsə və "avtobus xətası" və ya "seqmentasiya qüsuru" alırsınızsa (texniki cəhətdən bu olmamalıdır, ancaq bəzən olur), onda əsas kod üçün "başla" və "bit" ifadələrini şərh etməyə çalışın. və "-x" əmr sətri seçimi ilə skriptinizi işlətmək: Bu, skriptinizin hər sətrinin ekranda əks olunmasına səbəb olacaq və harada qəfildən çıxdığını görə biləcəksiniz.

Sürətli bir yol, "libnc-dap.so" və "libdapclient.so" kimi kitabxanalara müraciət edib-etmədiyini yoxlamaq üçün "ncl" üzərində "ldd" və ya "otool -L" etməkdir. Bu, NCL versiyanızın OPeNDAP imkanlarının aktivləşdirildiyi ilə qurulduğunu göstərəcəkdir: Aşağıdakı nəticəni görməlisiniz: Budur OPeNDAP-lı NCL-nin işlədiyini görmək üçün qısa test. OPeNDAP girişinə icazə verən bir sistemdə olmağınız lazım olduğunu unutmayın:

NCL əsas dili

    NCL-də bir sətri necə şərh edə bilərəm? Şərh blokuna sahib olmağın bir yolu varmı?

NCL-də şərh xarakteri nöqtəli vergüldür (''). Bunu öz-özünə və ya bir NCL əmrindən sonra bir sətirdə istifadə edə bilərsiniz: Blok şərhləri NCL 6.4.0-da yeni bir xüsusiyyətdir. / Və / simvollar tərəfindən şərh ediləcək sətirləri əhatə edin:

NCL versiyası 6.4.0-dan əvvəl, təəssüf ki, bütün sətirlərin qarşısına nöqtəli vergül qoymaqdan başqa bir şərh bloku təyin etmək üçün bir yol yox idi:

Bəli, '' simvolundan istifadə edə bilərsiniz:

'+' Simli birləşdiricidən istifadə edin:

Uzun, qısa və bayt ədəbiyyatları V5.1.0-da əlavə edildi.

NCL simli işarələmək üçün ikiqat təkliflərdən istifadə etdiyi üçün onları simli hala gətirmək üçün əlavə bir addım əlavə etməlisiniz. V5.1.1-dən etibarən yeni bir funksiyamız var str_get_dq ikiqat təklif xarakterini almaq üçün: Daha köhnə bir versiyanız varsa, bu şəkildə edə bilərsiniz:

Xeyr, birbaşa deyil, ancaq NCL-lərdən istifadə edə bilərsiniz sistem funksiyası funksiyası və ya onun komanda xətti seçimi imkanı.

Bu bir dəyər və bir başlıq istəməli və sonra bəzi məlumatları çap etməlidir.

Fayl adı və səviyyə dəyəri istənmək üçün C-Shell skript nümunəsi

    "İnput.csh" adlı bir c-shell skript yaradın:

Bu, bir fayl adı və səviyyə dəyərini istəməyə və bu məlumatı NCL skriptinə ötürməyə imkan verəcəkdir. Bu xüsusi NCL skripti bu dəyərləri normal NCL dəyişənlərinə təyin edəcək və sonra onları adi qaydada skriptdə istifadə edəcəkdir.

Tcsh, bash və ya hətta Python kimi istədiyiniz hər hansı bir skript dili ilə bu cür şeyi edə bilərsiniz.

NCL-nin "qlobal dəyişənləri" müəyyənləşdirmək üçün açıq bir yolu yoxdur. Bununla birlikdə, Pascal-a bənzəyən NCL-nin əhatə dairəsi qaydaları, "qlobal dəyişənləri" simulyasiya etmək üçün istifadə edilə bilər Daha çox məlumat üçün NCL istinad təlimatına, xüsusən də NCL bəyanat sənədlərinə baxın.

Bir sözlə, bir dəyişən təyin etsəniz yuxarıda bir funksiya, prosedur və ya əsas kod, bu funksiyada, prosedurda və ya əsas kodda müraciət edə bilərsiniz:

Bu, hazırda alfa-test rejimindədir.

Təəssüf ki, bu mümkün deyil. Bu qabiliyyət üçün çox sayda müraciət alsaq, bu funksiyanı əlavə etməyi düşünəcəyik. Adı verilən bir ölçülü "" olaraq təyin edə bilərsiniz, lakin bu, eyni şey deyil:

İnkar etmə operatoru ('-') bir NCL ifadəsində ən yüksək prioritetə ​​malikdir və potensial olaraq gözlənilməz nəticələr verir. Məsələn, aşağıdakı ifadə: 9 kimi bir nəticə verir, çünki belə davranır: Mötərizə istifadəsinin nəticələri necə dəyişdirə biləcəyinə diqqət yetirin: halbuki:

Nəhayət, '-' simvolu iki ifadə və ya rəqəm arasında görünürsə, o zaman inkar əvəzinə mənfi olaraq qəbul edilir. Beləliklə, aşağıdakılar 9 dəyərini verir:

İstifadə edin sprinti "% 0.i" kimi bir formatla işləyən funksiya ("% 0", mümkün olduqda sətirləri qabaqcıl sıfırlarla doldurmağı göstərir). Misal üçün:

İstifadə edin sistem funksiyası UNIX sistem çağrısını həyata keçirən və nəticəni sətir şəklində qaytaran funksiya:

İstifadə edin sistem funksiyası UNIX "ls" əmri ilə işləyin:

İstifadə edin sistem funksiyası UNIX "tap" əmri ilə işləyin: ".nc" ilə bitənlər kimi müəyyən bir fayl dəsti axtarırsınızsa, "-name" seçimindən istifadə edin:

Simlər üzərində işləyərkən avtomatik olaraq tanıyan "+" operatorundan istifadə edə bilərsiniz. Sətirləri float və tam ədədlər kimi digər NCL dəyişkən növləri ilə birləşdirə bilərsiniz. Məsələn, aşağıdakı NCL kod parçası: "Tarix 1/21/2002" sətrini istehsal edəcəkdir.

Funksiyalardan istifadə edə bilərsiniz sprintisprintf formatlanmış simlər yaratmaq. Məsələn, dərhal "sw001.out", "sw002.out" kimi adlarla fayl adları qurmaq istəyirsinizsə. "sw010.out", kodunuz belə görünür:

Bir istifadəçi tərəfindən təyin olunmuş format sətrindən istifadə edərək 2 ölçülü massivləri gözəl şəkildə formatlaşdıracaq bir neçə funksiya var. Orijinal prosedur belə idi yazmaq_matrix. Bu bir mətn sənədinə və ya standart olaraq yaza bilər. Eyni tip bir dəyişənlə məhdudlaşır. Fortran tərzi format sintaksisindən istifadə edir. NCL versiyası 6.1.0-da iki yeni prosedur təqdim edildi: print_tableyazı masası. Bunlar qarışıq tipli dəyişənləri idarə edə bilər. Xahiş edirəm bu prosedurlar üçün sənədlərə və nümunələrə baxın.

Bu nümunə aşağıdakı nəticəni verəcəkdir: Daha mürəkkəb bir metod, məlumatları istədiyiniz kimi yazdırmaq üçün C və ya Fortran alt proqramını yazmaq və sonra "wrapit77 tətbiqetməsindən istifadə edərək" bölməsində təsvir edildiyi kimi wrapit77 istifadə etməkdir. NCL İstinad Təlimatı. 2 ölçülü bir sıra çapında bir nümunə var Yazmaq bələdçi.

Funksiyaları sprintisprintf formatlanmış nəticə yaratmaq üçün də istifadə edilə bilər.

Bəli. Lakin, (demək) Matlab qədər birbaşa deyil. NCL-də, dönüş arqumenti tip siyahısı olmalıdır. Bu, müxtəlif növ və ölçülərdə dəyişənləri ehtiva edə bilər.

Fayl giriş / çıxış

    GRIB1, GRIB2, HDF 4 və ya HDF-EOS 2 faylını NetCDF sənədinə çevirməyin ən asan yolu nədir?

UNIX əmr sətrində: harada xxx "grb", "hdf" və ya "hdfeos" kimi fayl şəkilçisidir (digər fayl uzantıları tanınır).

Konversiyanı həyata keçirmək üçün bir NCL skriptini yazmanız lazımdırsa, netcdf proqramları səhifəsinə baxın.

NCL-də dəstəklənən fayl formatları haqqında daha çox məlumat üçün NCL Referans Təlimatındakı "Dəstəklənən məlumat formatları haqqında məlumat" bölməsinə baxın.

UNIX əmr sətrində ncl_filedump istifadə edin. Bəzi nümunələr: Bir istifadə mesajı üçün "ncl_filedump -h" yazın.

Dəstəklənən bir dosyanı (GRIB kimi) bir NetCDF sənədinə çevirmək və səhv mesajı almaq üçün ncl_convert2nc istifadə edirsinizsə:

NetCDF sənədinə böyük dəyişənlər yazmaq üçün NetCDF "Format" seçimini "LargeFile" və ya "NetCDF4Classic" olaraq təyin etməlisiniz. Bunun üçün zəng etmək lazımdır setfileoption və bu üç zəngdən birini istifadə edərək "Format" ı təyin edin:

Bu seçimi etməyinizin səbəbi, NetCDF kitabxanasının, yazılacaq dəyişənlərin ölçüsü barədə hər hansı bir məlumat əldə edilmədən əvvəl, fayl ilk yaradıldığı zaman bu qərarın verilməsini tələb etməsidir. Nəticədə bunu əvvəlcədən düzəldə bilərik, ancaq Unidata-dan hazırkı tövsiyə, yalnız NetCDF-in orijinal kiçik fayl formatı ilə məşğul ola biləcək tətbiqetmələr üçün geriyə uyğunluğu təmin etməkdir.

Bu, NCL-i dəyişən ölçüsü ilə məhdudlaşmayan bir NetCDF4 faylı yaratmağa məcbur edəcəkdir.

Yuxarıdakı üç variantdan birinin düzgün işləməsi üçün əvvəlcədən "setfileoption" çağırılmalıdır əlavə sənəd("filename.nc", "c").

Özünüzü yeniləyə biləcəyiniz mətn əsaslı masalarınızdan istifadə edə bilərsiniz. Http://www.ncl.ucar.edu/Document/Manuals/Ref_Manual/NclFormatSupport.shtml#GRIB1-built-in-parameter-tables veb saytımızdan yüklənə bilən mətn əsaslı cədvəllərlə başlayın.

Yerləşdirilmiş cədvəllərdən hər hansı birinə vurun və NCL_GRIB_PTABLE_PATH-ı uyğun olaraq təyin etsəniz istifadə edə biləcəyiniz yüklənə bilən mətn əsaslı bir versiyanın bağlantısını tapa bilərsiniz. "İstifadəçi tərəfindən müəyyən edilmiş GRIB1 parametr cədvəlləri" adlı növbəti bölümü də oxuyun.

TIGGE layihəsi üçün yaradılan fayllardakı parametrlər xaricində GRIB2 parametrlərinin hamısı grib2_codetables qovluq ağacında olan mətn fayllarında müəyyən edilir. Varsayılan olaraq bu qovluq $ NCARG_ROOT / lib / ncarg / grib2_codetables ünvanında tapılmışdır. Parametrlər əlavə etmək və ya istənilən sayda parametrlərin adını, təsvirini və ya vahidlərini dəyişdirmək istəyirsinizsə, tam qovluq ağacını öz yerinizə kopyalayın və sonra NIO_GRIB2_CODETABLES mühit dəyişənini bu yerin yoluna qoyun. Xüsusi olaraq parametr cədvəlləri ilə əlaqəli faylları ecmwf / 4 / və ncep / 4 paralel alt qovluqlarında tapa bilərsiniz. 4.2. *. *. Cədvəl formasının adları var. Yalnız bu faylları dəyişdirərkən və ya əlavə edərkən onların formatını qoruduğunuzdan əmin olun. Əsasən hər sətir iki nöqtə ilə ayrılmış 5 sahədən ibarətdir. Parametr nömrəsi təkrarlanır: Nümunə:

Lazım gələrsə, ətraf mühit dəyişənini NIO_GRIB2_CODETABLES yoluna qoyaraq əvvəlki vəziyyətini dəyişdirə bilərsiniz: $ NCARG_ROOT / lib / ncarg / grib2_codetables.previous. Niyə dəyişdiklərinin izahı üçün 5.2.0 GRIB Güncellemelerinin buraxılış qeydlərinə baxın.

Birinci yol, "ncl_scalar" -ı bir ölçü adı kimi istifadə etməkdir: ikinci yol istifadə etməkdir filevardef: Qeyd edək ki, bu metodlardan biri üçün NCL-də bu fayla baxsanız, "ncl_scalar" adlı bir ölçü var kimi görünəcəkdir. Faylın bir ncdump-da, ölçü görünməyəcək, buna görə dəyişən edir həqiqi bir NetCDF skaleri.

Called.ncl adlanan xüsusi bir funksiyadan istifadə edin addfiles_GetVar. Misal üçün:

Adında tire ilə bir NCL fayl dəyişəniniz varsa (məsələn, "in- & gtData-Set-14"), bu dəyişənə birbaşa daxil olmağa çalışarsanız bir səhv mesajı alacaqsınız. Bunun səbəbi NCL tire işarələrini mənfi işarələr kimi qəbul etməsidir:

Bu problemi həll etmək üçün dəyişənin adını bir sətrə çevirin və sətri dollar işarələrinə əlavə edin (')

Səhifələndirmə¶

Performansı yaxşılaşdırmaq və bant genişliyini qorumaq üçün qaynaq səhifələməsi standart olaraq aktivdir. Bir istehlakçı bir qaynaq tələb etdikdə, sorğu ilə uyğun gələn ilk N maddə təqdim olunur və sonrakı / əvvəlki səhifələrə keçidlər cavab ilə təmin edilir. Varsayılan və maksimum səhifə ölçüsü özelleştirilebilir və istehlakçılar sorğu sətri vasitəsilə xüsusi səhifələr tələb edə bilərlər:

Əlbəttə ki, mövcud bütün sorğu parametrlərini qarışdırmaq olar:

Səhifələmə deaktiv edilə bilər. Diqqət yetirin ki, aydınlıq üçün yuxarıdakı nümunə düzgün bir şəkildə qaçmadı. Qıvrımdan istifadə edirsinizsə, Filtrdə verilən nümunələrə baxın.


Cədvəl kimi Zonal Statistika, yalnız Python skriptindən - Coğrafi İnformasiya Sistemlərindən işə salındıqda bəzi poliqonları itkin salır

Ferret proqramı üçün iş mühitinin xüsusiyyətlərini təyin edir.

Ümumiyyətlə, xüsusiyyətlər SET və Ləğv etməklə açılır və söndürülə bilər. SET-dən təsirlənən xüsusiyyətlər GÖSTƏRİŞ ilə araşdırıla bilər (Ləğv et və göstər).

Ref Sec.3.1.

Dəyişən və / və ya xüsusiyyət üçün atribut xüsusiyyətlərini təyin edin və ya yenidən qurun. (Məlumat dəsti və dəyişən atributlara giriş bölməsinə baxın)

SET ATTRIBUTE / TYPE = [float or string] varname.attname

Qlobal atributlarla işləmək üçün "istifadə edin." "varname" əvəzinə

SET ATTRIBUTE / OUTPUT = varname [.attname], hər bir atribut üçün netCDF fayllarının çıxışına yazılıb yazılmadığını təyin edən bir bayraq təyin edir. Atributların hamısının və ya heç birinin yazılmasını aça bilər və ya / OUTPUT = standart Ferret çıxış atributlarının standart dəstini verir. Aşağıdakı kimi tətbiq olunur.

ATT / ÇIXIŞI təyin et varname.attname
ATT / ÇIXARIŞ ayarlayın .. ad

Dəyişən yazıldıqda yazılacaq fərdi bir atributu təyin edir
.. "attname" qlobal atributunu çıxarmaq üçün ad istəkləri.

SET ATT / OUTPUT = bütün varname
ATT / ÇIXDI SET = hamısı.

Dəyişən üçün təyin edilmiş bütün atributları yazın və ya. edir
göstərilən cari standartdan bütün qlobal atributları yazın
verilənlər bazası, bu dəstə əsaslanan dəyişənlər yazıldıqda.

SET ATT / OUTPUT = standart varname

Yalnız Ferretin standart olaraq yazdığı nəticələri yazın

SET ATT / OUTPUT = heç bir varname

Dəyişən üçün atribut yoxdur

Bu, var2-dən olan bütün xüsusiyyətlərin var1-ə kopyalanmasına, var1-in bütün xüsusiyyətlərinin silinməsinə və var2-dən atributları və çıxış bayraqları ilə əvəzlənməsinə səbəb olur.

Həm də əmrə baxın LET / LIKE = var2 var1 bunu daha sadə bir vasitə üçün.

Dəyişənlər və ya yeni qlobal atributlar üçün yeni atributlar yaratmaq üçün TƏFİS ATTRIBUTE istifadə edin

Ref Sec.3.2.

/ MODULO / DERİNLİK / TƏQVİM / T0 / UNITS / STRIDE / OFFSET / REGULAR

Mövcud bir oxun xüsusiyyətlərini təyin edin və ya yenidən qurun.

Bir oxun dərinlik oxu kimi qəbul edilməli olduğunu göstərir (pozitiv aşağı ilə hazırlanmış qrafika).

Bir zaman oxu üçün təqvim tərifini sıfırlayır. İcazə verilən təqvimlər GREGORIAN, NOLEAP, JULIAN, 360_DAY və ALL_LEAP. Zaman seçməyən bir oxa tətbiq edildiyi təqdirdə bu təsnifçi nəzərə alınmır. Bu seçicinin tətbiqi oxun koordinatlarını dəyişdirmir, yalnız onların şərhini verir. Məsələn, bir sıçrayış günü olan bir Qriqorian təqvim oxu olan bir ox yaradın. Sonra NOLEAP təqviminə yenidən qurun. Koordinat dəyərləri eynidir, lakin tarix dəyişdirildikcə şərhləri.

Bir oxun modulo oxu kimi qəbul edilməli olduğunu göstərir (ilk nöqtə uzunluq oxundakı kimi "bükülür" və son nöqtəni izləyir). İstəyə bağlı modul uzunluğu, modul təkrarının ox vahidlərindəki uzunluqdur. Bir uzunluq göstərilibsə, oxun aralığından daha uzun ola bilər, beləliklə ox subspan modulo oxu kimi qəbul edilir. Göstərilməyibsə, ox uzunluğu modul uzunluğu kimi istifadə olunur. Daha çox məlumat üçün modul oxları və subspan modulo oxları bölmələrinə baxın.

Bir oxun müntəzəm olaraq aralanmış bir ox kimi qəbul edilməli olduğunu göstərir. Baltalar bir netCDF sənədinə qaydasız görünə biləcək şəkildə yazılmış ola bilər, amma əslində müntəzəm olaraq yerləşdirilmiş kimi qəbul edilməlidir. (Ayrıca bax VERİ / REGULART AYARIN)

Eksen, istifadə olunan hər yerdə, müəyyən edilmiş addımla müalicə olunacağını göstərir. Addım dəyəri Ferreti ox boyunca hər ninci nöqtəni istifadə etməyə yönəldir. Fərqli məlumat dəstlərindəki dəyişənlər və ızgaralar tam eyni oxa sahibdirsə, bütün bu dəyişənlər və ızgaralar üçün addımlama tətbiq olunur. Addım Ləğv AXIS / STRIDE ilə ləğv edilə bilər. NetCDF addımlarının müzakirəsinə baxın.

Bu seçici yalnız / STRIDE = göstərildiyi təqdirdə etibarlıdır. Əks halda buna məhəl qoyulmur. Delta ilk indeks dəyərindən ofsetin dəyəri, beləliklə / OFFSET = 0 indeks = 1-də başlanğıc deməkdir və

bu köhnə addım sintaksisinə bərabərdir

Var [i = start: end: delta] addım sintaksisi də qüvvədədir.

Bir zaman oxunun zaman mənşəyini T və ya F istiqamətində qurur və ya yenidən qurur

Ox vaxt və ya proqnoz vaxt oxu deyilsə, bu təsnifləndirici nəzərə alınmır. Bu seçicinin tətbiqi oxun koordinatlarını dəyişdirmir, yalnız onların şərhini verir. Əvvəllər vaxt mənşəli olmayan bir oxa / T0 tətbiq edilərsə, ox təqvim formatlı bir oxa çevriləcək, zaman koordinatları siyahılardakı tarix / zaman sətirlərinə avtomatik olaraq çevrilir və sahələrdə formatlanmış zaman oxları.

Bir oxun vahidlərini təyin edir və ya yenidən qurur.

Bu seçicinin tətbiqi oxun koordinatlarını dəyişdirmir, yalnız onların şərhini verir. UNITS bir simli olaraq ifadə olunur və Ferret oxları üçün adi qaydalara uyğun olaraq çevrilir, DEFINE AXIS altındakı vahidlərin təsvirinə baxın

Ref Sec.3.3.

/ EZ / DƏYİŞƏN / TITLE / FORMAT / GRID / SKIP / Sütunlar / QEYDİYYAT / QAYDALAMA / SİFARİŞ / NÖV / SWAP / REGULART / SINIRLANMIŞ / XÜSUSİYYƏT / FMASK

Analiz ediləcək ASCII, ikili, netCDF, GT və ya TS formatlı məlumat dəstlərini müəyyənləşdirir. Müvafiq seçmə mərhələlər

VERİ / EZ təyin edin / SÜTUNLAR / FORMAT / QRİD / GƏLİB / TITLE / DƏYİŞƏN / NÖV / SINIRLI

və ya ekvivalent olaraq, FILE takma adı ilə:

Bir netCDF sənədini və ya netCDF alls vasitəsilə əldə olunan hər hansı bir faylı başladın. OPeNDAP faylı, təsvir sənəd və ya toplama. Müvafiq seçmə mərhələlər

/ Format / başlıq / SİFARİŞ / REGULART / XÜSUSİYYƏT / FMASK

və ya ekvivalent olaraq, USE takma adı ilə. İSTİFADƏ aşağıdakı növ sənədlərə tətbiq olunur:

NetCDF faylları, ehtiyac olduqda yolları da daxil olmaqla,

və ya OPeNDAP verilənlər bazası üçün,

və ya çox fayllı verilənlər bazası və ya toplama:

İSTİFADƏ üçün müəyyən olan seçicilər (SET DATA / FORM = cdf) aşağıda verilmişdir.

3) GT və ya TS formatlı (köhnəlmiş)

GT və ya TS formatlı fayllar halında .des uzantısı qəbul edilir. Əvvəllər SET məlumat dəsti adı ilə deyil, GÖSTƏRİŞ VERİLƏRİ göstərildiyi kimi istinad nömrəsinə görə təyin edilə bilər.

Qeyd: Bir dəfəyə açıq ola biləcək maksimum eyni vaxtda məlumat dəstləri 100 ilə məhdudlaşır. Limitə çatdıqda VERİLƏRİ LƏĞV et.

SET DATA_SET üçün komanda seçmələri:

SET olan məlumat dəstinin formatlarını müəyyənləşdirir. "File_format" üçün icazə verilən dəyərlər "cdf", "ayrılmış", "pulsuz", "axın", "formatlanmamış" və ya tırnak işarələri və mötərizədə bir FORTRAN formatıdır.

/ FORMAT = üçün etibarlı arqumentlər

1) SET DATA / FORMAT = pulsuz (SET DATA / EZ üçün standart)
"Pulsuz" formatını istifadə etmək üçün bir fayl tamamilə vergül, boşluq və ya nişanlarla ayrılmış ədədi məlumatlardan ibarət olmalıdır.

2) VERİ / FORMAT SET = cdf
SET DATA / FORMAT = cdf (taxma USE) istifadə olunursa, məlumat faylı CDF formatında olmalıdır. Varsayılan dosya adı uzantısı ".cdf" və ya ".nc" dir.

3) SET DATA / FORMAT = təsvir
Dəsti bir təsviri faylı olaraq açacaq. Uzantı fayl adına daxil edilməlidir. USE / FORMAT = təsviri də etibarlıdır. Əgər fayl uzantısı .des və ya .mc-dirsə, fayl / FORMAT seçicisiz bir descriptor faylı kimi tanınacaqdır. (.mc yalnız Ferret v6.85 və daha yüksək versiyada tanınır).

"Məlumat dəstinin əsasları" bölməsinə, "NetCDF məlumatları" bölməsinə baxın.

SAT VERİ / FORMAT = CDF / SİFARİŞ = & ltpermutation & gt / REGULART

Yer dəyişdirmə arqumenti həm fayldakı oxların sırası, həm də istiqamət barədə məlumat ehtiva edir.

/ SİFARİCİ seçicisindən göstərilən sifariş həmişə netCDF ncdump -h əmri ilə göstərilən dəyişənlərin ölçülərinin elan olunduğu sıranın tam əksinə olmalıdır. (Bu qeyri-müəyyənlik "C sifariş" və "FORTRAN sifariş" arasındakı linqvistik fərqi əks etdirir. COARDS standartında və Ferret sənədlərində istifadə olunan standart X-Y-Z-T sifarişinə C terminologiyasından istifadə etsək T-Z-Y-X sifariş kimi istinad ediləcəkdir.)

Beləliklə, Ferretdə diskdəki məlumatların X və Y oxlarını köçürdüyü bir faylı istifadə etmək üçün

Verilənlərin XZ "lövhələrində" yerləşdirildiyi bir fayldan istifadə etmək üçün, məsələn, model outpusda ortaya çıxa bilər.

Müəyyən bir ox boyunca koordinatların "sağ tərəf qaydası" əmrindən tərsinə çevrildiyini göstərmək üçün, məsələn şimaldan cənuba uzanan bir Y oxu (şəkil məlumatlarında nadir deyil), bu oxdan əvvəl mənfi işarəsi ilə çıxacağıq. Misal üçün

Eksi işarəsi ** yerləşdirildikdən sonra ** ox vəziyyətinə tətbiq olunmalıdır. Beləliklə, bir fayl həm XY oxu sıralamasını köçürsəydi və enlikdə şimaldan cənuba sıralanma istifadə edilsəydi, bu fayla giriş olardı

NetCDF sənədləri, prinsipcə özünü sənədləşdirməklə yanaşı, ox qeyri-müəyyənliklərini ehtiva edə bilər. Məsələn, zaman seriyası ehtiva edən, lakin fayldakı koordinat dəyişənində vahidləri olmayan bir fayl, X oxundakı bir məlumat xətti kimi görünə bilər. / SİFARİŞ seçicisi bu qeyri-müəyyənlikləri həll etmək üçün istifadə edilə bilər. Bu misal üçün bir komanda ilə fayl başlatmaq olar

a) USE / ORDER = XYZT-nin göstərilməsinin hər zaman standart sifarişin verilməsinə bərabər olmadığını unutmayın. Məsələn, bir netCDF faylında bir XYT şəbəkəsində dəyişənlər varsa, / ORDER = XYZT spesifikasiyası Ferretə onu bir XYZ ızgarası kimi şərh etməsini təklif edərdi.

b) Qeyd edək ki, ya fayl netCDF deyilsə və ya fayl netCDFdirsə, lakin "inkişaf etmiş" başlığa malikdirsə / SİFARİŞ seçicisinə məhəl qoyulmayacaqdır (bax SAVE / HEADING = inkişaf etmiş)

DATA / FORMAT = cdf / REGULART təyin edin

Böyük netCDF məlumat dəstlərinin bilinən normal vaxt oxları ilə başlanğıc sürətini artırır. Ferret bir netCDF sənədini işə saldıqda (SET DATA / FORMAT = cdf əmri və ya USE əmri təxəllüsü), zaman oxundakı point_spacing = "even" atributunu yoxlayır. Əgər tapılsa, Ferret koordinatların bərabər aralı olduğunu bilir və tam təsvir almaq üçün oxdakı yalnız ilk və son koordinatı oxuyur. Tapılmazsa, Ferret koordinatların tam siyahısını oxumalıdır - çox böyük sənədlər üçün vaxt aparan bir prosedur. Koordinatları oxuduqdan sonra Ferret onların nizamlı olub olmadığını təyin edir. / REGULART seçmə qabiliyyəti, Ferret-ə faylda bir point_spacing atributunun olub-olmamasından asılı olmayaraq zaman oxunu müntəzəm olaraq qəbul etməyi əmr edir, point_spacing olmayan, lakin normal olduğu bilinən fayllarda başlatma müddətini sürətləndirir. Faylda zaman oxunda sərhəd atributu varsa və / REGULART təyin olunarsa, sərhədlər nəzərə alınmır.

Point_spacing atributu tapıldıqda, (Ferret v7.5 ilə başlayaraq) Ferret boşluqda bəzi yoxlamalar aparacaq. İlk delta-koordinatın ölçüsünü (sonuncu-birinci) / npoints ilə müqayisə edir. Əgər koordinatlar həqiqətən verilənlər bazasındakı koordinat tiplərinin dəqiqliyi daxilində mütəmadi olaraq aralıq qoyulmayıbsa, xəbərdarlıq edəcək və oxu nizamsız bir ox kimi qəbul edərək bütün koordinatları oxuyacaq.

Nəzərə alın ki, netCDF faylları yazarkən, Ferret, varsayılan olaraq, point_spacing atributunu daxil etməz. Bunun səbəbi, Ferretin standart fayl xarakteristikasının əlavə oluna bilməsi, əlavə edilmiş addımların mütəmadi olaraq aralıklandığına zəmanət verilməməsidir. Normal vaxt addımları ilə sabit uzunluqlu çıxış sənədləri üçün SAVE / RIGID seçicisini istifadə etmək məsləhətdir. This allows Ferret to include the point_spacing="even" attribute. If the files will be very large (too large for the full time range to be in memory), then use the /RIGID/TLIMITS= qualifiers to specify the full, ultimate fixed size and use SAVE/APPEND to insert data into the file piecemeal.

If the file has the bounds attribute for the record axis (files written with Ferret version 5.70 and after include the bounds attribute for all irregular axes), then we can append further timesteps to the file and keep the correct point spacing. If there is a gap between the last time in the existing file and the first time being appended, Ferret adds a void point, consisting of missing data, centered on the interval between the upper cell bound of the time axis in the file and the lower cell bound of the new data being written.

SET DATA/FORMAT=cdf/STRICT

Ferret reads and checks the coordinate data when a dataset is initialized. Coordinates must be strictly increasing. If coordinates are repeated, Ferret will attempt to create a strictly-increasing axis by "midro-adjusting" the coordinates.

To avoid this adjustment, specify USE/STRICT.

SET DATA/FORMAT=cdf/FEATURE=

For data files that follow the CF standard for Discrete Sampling Geometries (DSG) using contiguous ragged array form, Ferret/PyFerret v7.6 implements initializing and working with the data. On USE dataset.nc, Ferret reads the header and locates the attributes that define the feature type and the coordinates, and defines the "translation grid" that is used to find data at specified times and locations.

The /FEATURE= qualifier is used to change the interpretation from the feature-type given in the dataset to another interpretation. Currently a Trajectory dataset may be viewed as a Timeseries dataset, with a timeseries increasing along each trajctory, or USE/FEATURE=none may be specified to ignore the DSG specification and treat the data as a set of 1-D variables.

SET DATA/FORMAT=cdf/FMASK=

For data files that follow the CF standard for Discrete Sampling Geometries (DSG), and beginning with Ferret/PyFerret v7.6, a mask variable can be applied to the dataset, picking out a desired subset of the features.

These commands set a mask on the names of the station ID's. With the mask in place, only the features (Timeseries, Profiles, etc) chosen by the mask are used in listings, plots, etc. The alias FMASK stands for SET DATA/FMASK . CANCEL DATA/FMASK (whose alias is CLEARMASK) removes the feature-mask fro the dataset.

See the section on NetCDF data for more on the process of initializing coordinate data.

3) SET DATA/FORMAT=UNFORMATTED
To use the format "unformatted" the data must be floating point, binary, FORTRAN-style records with all of the desired data beginning on 4-byte boundaries. This option expects 4 bytes of record length information at the beginning and again at the end of each record. The "-" designator ( /VARIABLES) can be used to skip over unwanted 4-byte quantities (variables) in each record. See the chapter "Data Set Basics", section Binary data.

4) SET DATA/FORMAT=FORTRAN format string
For ASCII data (SET DATA/EZ/FORMAT= ) FORTRAN format specifications should be surrounded by parentheses and enclosed in quotation marks.

QEYD: Integer format is not supported by Ferret to read integer data use an equivalent F format, for instance, FILE/FORMAT=(f5.0). See also reading "delimited" files for reading string data or data with dates which have mixed string and numeric information.

The format specified is for reading each record it cannot be used to specify the total number of values read. That is determined by the grid for the variables. The grid is by default an abstract axis of length 20408, or it may be set explicitly using DEFINE AXIS, DEFINE GRID and SET DATA/GRID= commands.

NOTE: These file types are not actively supported. The capabilities are historically in Ferret/PyFerret but more modern file types are encouraged for their machine independence and self documentation.

/FORMAT=stream is used to indicate that a file contains either unstructured binary output (typical of C program output) or fixed-length records suitable for direct access (all records of equal length, no record length information embedded in the file). With caution it is also possible to read FORTRAN variable-length record output. This sort of file is typically created by "quick and dirty" FORTRAN code which uses the simplest FORTRAN OPEN statement and outputs entire variables with a single WRITE statement.

This format specifier allows you to access any contiguous stretch of 8-byte values from the file. The /SKIP=n qualifier specifies how many values should be skipped at the file start. The /GRID=name qualifier specifies the grid onto which the data should be read and therefore the number of values to be read from the file (the number of points in the grid). Note that an attempt to read more data than the file contains, or to read record length information, will result in a fatal FORTRAN error on UNIX systems and will crash the Ferret program.

For multiple variables, use the /COLUMNS=n specifier to specify how many 8-byte values separate each variable in the file. Each variable is assumed to represent a contiguous stream of values within the file and all variables are assumed to possess the same number of points. (A "poor man's method" is to create multiple Unix soft links pointing to the same file and multiple SET DATA/EZ commands to specify one variable from each link name.)

See the chapter "Data Set Basics", section Binary data for further discussion and examples of binary types. Also see the section below under SET DATA/TYPE for a list of the data types that may be read using SET DATA/FORMAT=STREAM

6) SET DATA/EZ/FORMAT=DELIMITED

SET DATA/EZ/FORMAT=DELIMITED[/DELIMITERS=][/TYPE=][/VAR=] filename

or (because FILE is an alias for SET DATA/EZ)

Initializes a file of mixed numerical, string, and date fields. If the data types are not specified the file will be analyzed automatically to determine data types. Using delimited files, the number of variables that can be read from a single file is increased from 20 to 100.

The alias COLUMNS stands for "SET DATA/FORMAT=DELIMITED"

/DELIMITER - list of field delimiters. Default is tab or comma. You can list any ascii character. For example, if fields are delimited with X and also with tabs and commas, use /DELIM="X, ,,". Special characters include

/TYPE is the list of data types of the fields. Field types may be any of

  • "-" - skipped
  • NUMERIC
  • TEXT
  • LATITUDE - e.g. 87S or 21.5N (interpreted as negative or positive, respectively)
  • LONGITUDE - e.g. 160W or 30E (interpreted as negative or positive, respectively)
  • TIME - e.g. hh:mm or hh:mm:ss.s
  • DATE - e.g. mm/dd/yy or mm/dd/yyyy or yyyy-mm-dd or yyyymmdd - value returned is days from 1-January-1900 (consistent with the DAYS1900 function) using US date formats.
  • EURODATE - e.g. dd/mm/yy or dd/mm/yyyy or yyyy-mm-dd using European style date formats
  • DATIME - combined US date and time, separated by a space and read together as one field., e.g. 05/16/2013 14:22:15
  • EDATIME -combined Eurodate and time formats, separated by a space and read together as one field, e.g.
    16/05/2-13 14:22:15

DATIME and EDATIME are first implemented in Ferret V7.1. In future DATIME and EDATIME will also allow Z and T as a separator.

The months in all of the date formats are numeric months. These formats do not read text abbreviations of months such as Jan, Feb.

See the section on delimited files in the Data Set Basics chapter "Reading Delimited Data" for examples.

Restores the current default data set number that was saved with SET DATA/SAVE.

This is useful in creating GO files that perform their function and then restore Ferret to its previous state.

Saves the current default data set number so it can be restored with SET DATA/RESTORE.

This is useful in creating GO files that perform their function and then restore Ferret to its previous state.

Associates a title with the data set.

For EZ, netCDF, or DODS datasets, set a title. This title appears on plotted outputs at the top of the plot.

Accesses data from an ASCII or unformatted file that is not in a standardized format (TMAP or netCDF). The command FILE is an alias for SET DATA/EZ.

See the chapter "Data Set Basics", section ASCII data for more information and examples.

Beginning with Ferret v6.93, the FILE command when given without a grid, Ferret determines the size of the file and defines an axis and grid on which to read the variables. It takes any /skip and /columns qualifiers into account. This means that `VAR,RETURN=isize` for variables in the dataset return the correct result.

[Prior to Ferret v6.93, when used on its own, SET DATA/EZ/VAR= uses a default axis length which may be shorter than the size of your data. If this is the case, use DEFINE AXIS and DEFINE GRID commands, and FILE/GRID= to read your data, as discussed in the "Data Set Basics" chapter.]

Command qualifiers for SET DATA_SET/EZ:

Specifies the number of columns in the EZ data file.

By default the number of columns is assumed to be equal to the number of variables (including "-"'s) specified by the /VARIABLES qualifier.

Specifies the defining grid for the data in the data set. The argument can be the name of a grid or the name of a variable that is already defined on the desired grid.

This is the mechanism by which the shape of the data (1D along T axis, 2D in the XY plane, etc.) is specified. See also the examples in the section Reading ASCII files. By default Ferret uses grid EZ, a line of up to 20480 points oriented along the X axis.

Specifies the number of records to skip at the start of a data set before beginning to read the data. By default, no records are skipped.

For ASCII files a "record" refers to a single line in the file (i.e., a newline character). If the FORMAT statement contains slash characters the "data record" may be multiple lines the /SKIP qualifier is independent of this fact.

For FORTRAN-structured binary files the /SKIP argument refers to the number of binary records to be skipped.

For unstructured (stream) binary files (e.g., output of a C program) the /SKIP argument refers to the number of words (8-byte quantities) to skip before reading begins.

Stream files only. Change the byte ordering of numbers read from the file big-endian numbers are converted to little-endian numbers and vice versa.

For ASCII delimited files, /TYPE specifies the type of each variable to be read (see SET DATA/FORMAT=DELIMITED). For unstructured (stream) binary files (see SET DATA/FORMAT=STREAM), /TYPE specifies the data type of a set of variables in the file. For stream files, the available values and their corresponding types are:

will read a file containing INTEGER*4 and REAL*4 numbers into the variables v1 and v2.

Names the variables of interest in the file. Default is v1.

Except in the case of /FORMAT=stream, Ferret assumes that successive values in the data file represent successive variables. For example, if there are three variables in a file, the first value represents the first variable, the second represents the second variable, the third the third variable, and the fourth returns to representing the first variable. The maximum number of variables allowed in a single free-formatted data set is 20. The "Delimited Read" option allows for 100 variables. See SET DATA/FORMAT=DELIMITED for reading from a delimited file.

Variable names may be 1 to 24 characters (letters, digits, $, and _) beginning with a letter. To indicate a column is not of interest use "-" for its name.

Misal: (the third column of data will be ignored)

Specifies the order (ORDER=permutation) in which axes are to be read. This qualifier does NOT work for delimited files (SET DATA/FORMAT=delimited). For netCDF files there are additional options for this qualifier see SET DATA/FORMAT=CDF/ORDER.

The "permutation" string may be any permutation of the letters X, Y, Z, and T. If the /format=stream qualifier is used, the string may also contain V (for variable). This allows variables to be "interleaved."

Ref Sec31.4.

Specifies the default context expression. When Ferret's "action" commands (PLOT, CONTOUR, SHADE, VECTOR, WIRE, etc.) are issued with no argument, the default context expression is used. This is the expression last used as argument to an action command, or it may be set explicitly with SET EXPRESSION. See the chapter "Variables and Expressions", section Expressions for a full list of action commands.

1) yes? SET EXPRESSION temp
Sets the current expression to "temp".

2) yes? SET EXPRESSION u , v , u^2 + v^2
Set the current expressions to "u , v , u^2 + v^2"

When running Ferret in batch "gif" mode, starting Ferret with either ferret -gif və ya ferret -batch filename.gif, a temporary file is created and the graphics information written to it. Beginning with Ferret v6.84, the command SET GIFFILE names this temporary file as directed. Then a FRAME command saves this file with the name given by SET GIFFILE, or the name given in the FRAME command. This is useful if running multiple Ferret sessions.

For instance, name the file with the session ID: (Try the command SHOW SYMBOLS on starting Ferret for more ideas).

Ref Sec31.5.

Specifies the default grid for abstract expressions. Yazın GO wire_frame_demo at the Ferret prompt for an example of usage.

See the chapter "Grids and Regions", section Grids.

Command qualifiers for SET GRID:

Restores the current default grid last saved by SET GRID/SAVE. Useful together with SET GRID/SAVE to create GO files that restore the state of Ferret when they conclude.

Saves the current default grid to be restored later. Useful together with SET GRID/RESTORE to create GO files that restore the state of Ferret when they conclude.

When using curvilinear data, call the script mp_grid varnam.jnl" to associate the grid with the map region.

Ref Sec31.6.

/APPEND /FILE /FORMAT /HEADING /PRECISION/NCFORMAT/ENDIAN/DEFLATE/SHUFFLE/XCHUNK/YCHUNK/ZCHUNK/TCHUNK/ECHUNK/FCHUNK /OUTTYPE

Uses SET LIST to specify the default characteristics of listed output.

The state of the list command may be examined with SHOW LIST. See commands "CANCEL LIST" and "LIST".

Command qualifiers for SET LIST:

Specifies that by default the listed output is to be appended to a pre-existing file. Cancel this state with CANCEL LIST/APPEND.

Specifies a default file for the output of the LIST command.

The filename specified in this way is a default only. It will be used by the command

yes? LIST/FILE variable

yes? LIST/FILE=snoopy.dat variable

If the filename specified is "AUTO", or if no name is given at all, Ferret generates a filename based on the data set, variable, and region. The resulting name is often quite long but may be shortened by following "AUTO" with a minus sign and the name(s) of the axes to exclude from the filename.

Qeyd: the region information is not used in automatic netCDF output filenames.

Sends data to file WcoadsSST.X140W110WY2S2NL500.

Sends data to file WcoadsSST.L500.

Specifies an output format for the LIST command. (When a FORTRAN format is specified the row and column headings are omitted from the output.)

produces unformatted (binary) output

See also SET LIST/NCFORMAT which sets details of NetCDF-4 formatted files.

1) yes? SET LIST/FORMAT=(12F6.1)
Specifies a FORTRAN format (without row or column headings).

2) yes? SET LIST/FORMAT=UNFORMATTED
Specifies binary output. (FORTRAN variable record length record structure.)

  • When using GT format all variables named in a single LIST command will be put into a single GT-formatted timestep.
  • Very limited error checking will be done on FORTRAN formats.
  • FORTRAN formats are reused as necessary to output full record.
  • Latitude axes are listed south to north when /FORMAT is specified.

Specifies that ASCII output is to be preceded by a heading that documents data set, variable, and region. Cancel the heading with CANCEL LIST/HEAD.

SET LIST/OUTTYPE=

Sets the output data type for all variables written to netCDF files. The types may be DOUBLE, FLOAT, INT, SHORT, or BYTE. CANCEL LIST/OUTTYPE will restore the default netCDF write behavior. See the notes in the documentation of the SAVE command for details about output data types.

Specifies the data precision (number of significant digits) of the output listings. This qualifier has no effect when /FORMAT= is specified.

If the value specified for #digits is zero or negative Ferret will interpret this as the desired number of decimal places rather than the number of significant digits. (Ferret v7.5 and higher)

Note that this controls only the output precision of the data. If the data came from a file with data stored as single precision floating point data, for instance, any higher resolution digits are arbitrary.

SET LIST/NCFORMAT

For writing NetCDF files, specifies that the output file will be of one of these output formats:

SET LIST/NCFORMAT=netcdf4 may be abbreveiated as SET LIST/NCFORMAT=4 and SET LIST/NCFORMAT=classic may be abbreviated as SET LIST/NCFORMAT=3.

The NetCDF documentation describes these formats:

SET LIST/ENDIAN

In netCDF classic format, the problem of endianness is solved by writing all data in big-endian order. The HDF5 library allows data to be written as either big or little endian, and automatically reorders the data when it is read, if necessary.

By default, netCDF uses the native types on the machine which writes the data. Users may change the endianness of a variable (before any data are written). In that case the specified endian type will be used in HDF5 (for example, a H5T_STD_I16LE will be used for NC_SHORT, if little-endian has been specified for that variable.)

The default setting is native.

SET LIST/DEFLATE=

Sets the level of HDF5 compression. DEFLATE=0 turns off compression, DEFLATE=1 sets a deflate level of 1. The setting may be between 0 and 9 however levels greater than 1 are not recommended by the HDF5 documentation. Specifying SET LIST/DEFLATE with no value turns on the compression and sets the level to 1. See the NetCDF and HDF5 documentation for details of HDF5 compression.

SET LIST/SHUFFLE=

Settings for HDF5 shuffle 0=off/ 1=on. See the NetCDF and HDF5 documentation for details.

SET LIST/XCHUNK=/YCHUNK=/ZCHUNK=/TCHUNK=/ECHUNK=/FCHUNK=

Settings for HDF5 chunking.

Ref Sec31.7.

The command SET MEMORY provides control over how much "physical" memory Ferret can use. (In reality the distinction between physical and virtual memory is invisible to Ferret. The SET MEMORY command merely dictates how much memory Ferret can attempt to allocate from the operating system.)

SET MEMORY controls only the size of Ferret's cache memory—memory used to hold intermediate results from computations that are in progress and used to hold the results of past file IO and computations for re-use. The default size of the memory Ferret will allocate is 25.6 megawords. This memory size can be set larger or smaller than this figure. We are allocating double-precision "words" so the same command allows you to load the same amount of data, but will request twice the memory from the operating system, and the default memory cache is 25.6×8= 204.8 megabytes.

See also SHOW MEMORY, and see MEMORY USAGE in this users guide for further details on setting the memory size appropriately and on handling operations that are memory intensive.

Sets the maximum size of Ferret's memory cache to 100 million (8-byte) words. (Approximately 0.8 Gigabytes)


Mapping Impervious Surfaces Precisely—a GIS-Based Methodology Combining Vector Data and High-Resolution Airborne Imagery

Impervious surfaces are fragments of the earth where the natural soil function has been altered considerably, for instance, regarding the infiltration of water. The methodology proposed in this study combines vector datasets and aerial imagery to map impervious areas precisely with a spatial resolution of 10 cm and focuses on the practicality and simplicity of the approach. The study is carried out in the German city of Mannheim. Vegetation is classified by NDVI calculation from airborne imagery, while vector data, based on municipal cadastres and OpenStreetMap, is used to superimpose impervious surfaces, such as buildings and traffic areas. Only data that is usually available and free of charge to municipal administrations is used to ensure the method’s repeatability. This data combination is proposed to benefit from the individual advantages of each data source. The uncertainties that arise are discussed, emphasizing areas that are particularly challenging to analyse. According to an extensive validation, the achieved results of the proposed method are valid with a correctness of 93%. Therefore, the proposed methodology can be suggested for statistical comparison purposes as a standardized practise.


Removing undesired points from a mesh

I have a 3D data set made of a certain number of points (x,y,z) that cover a certain region of space. Using the scatteredInterpolant object I can interpolate this data set over a grid to produce a rectangular mesh. Note that the mesh may extend to regions that are not defined by the data set in fact, after the mesh generation I need to remove the part of the mesh that is extrapolated away from the data set (replacing its values with NaN, for example) in order to retain only the mesh generated between the data points.

I came up with the following MATLAB script to solve this problem in a very naive way. Considering a single mesh point (xq,yq), I evaluate the minimum distance between this point and the data set if this distance is greater than a certain threshold, then the corresponding interpolated value (zq) is set to NaN.

This code gets the job done (to my utter surprise, since I am not really proficient with Matlab!). Here you can find a full mesh, and here the same mesh after the undesired points are removed. In both pictures the red dots represent the initial data set the mesh is interpolated from.

My main concern here is that while this code works fine with a limited number of points in the starting data set, it gets incredibly cumbersome when the number of data points is in the order of hundreds of thousands, which is sadly my case. I can let it be if necessary, but I feel like I should make the code a bit more efficient, since I may have to run it many times. Do you have any suggestion on how to improve its efficiency? Any input will be greatly appreciated.


Videoya baxın: Statistika-1 - haqqında ümumi anlayışlar (Oktyabr 2021).