Daha çox

ArcPy istifadə edərək birləşdirilmiş cədvəlin dəyərinə əsasən raster cədvəli üçün yeni sahə hesablanır?


Rastr masası üçün yeni bir sahəni birləşdirilmiş cədvəldəki bir qiymətə görə hesablamaq mümkün olub olmadığını bilməliyəm. İdeal olaraq ArcMap içərisindəki cədvələ masa və raster qat əlavə etmədən bu vəzifəni yerinə yetirmək istərdim. Zəhmət olmasa kömək edin!

Yeniləmə kursorunu yaradan sətri alana qədər skriptimin aşağıdakı hissəsi uğurla işləyir:

#ArcMap v. 10.2.1 # Yeni məhsul rasterlərinin hər birinə 3 sahə əlavə edin. Əgər sPotash və sPotash! = "#": Arcpy.PolygonToRaster_conversion (sPotash, "ZONE) dəyişkən nisbətlər cədvəlini məhsul rasterinə birləşdirən məkan birləşməsini həyata keçirin. "," "C:  Users  Desktop  CurrentWork  pm  Output_1192015  pt_tst", "CELL_CENTER", "ZONE", 1) arcpy.AddField_management ("pt_tst", "LB_P_AC", "DOUBLE", "", " "," "," ") arcpy.AddField_management (" pt_tst "," LB_P_SQM "," DOUBLE "," ",", "", "") arcpy.AddField_management ("pt_tst", "P_P_SQM", "DOUBLE" "," "," "," "," ") arcpy.MakeRasterLayer_management (" "C:  Users  Desktop  CurrentWork  pm  Output_1192015  pt_tst", "pt_tst_lyr") arcpy.TableToTable_conversion ("Variable_Rates.cs" "" C:  Users  Desktop  CurrentWork  pm  Output_1142015 "," Potash_Rates "," # "," Potash ") arcpy.AddJoin_management (" pt_tst_lyr "," Value "," Potash_Rates.dbf "," Zone ") # arcpy.JoinField_management ("pt_tst_lyr", "VALUE", "Potash_Rates.dbf", "ZONE", "Potash") potashrstr = pt_tst_lyr cursor = arcpy.UpdateCursor ("pt_tst_lyr") = _P_SQM "] # Potash sahəsi kursor kimi arcpy.da.UpdateCursor (" pt_tst_lyr ", sahələr) ilə Dəyişən_Qiymətlər cədvəlinə aid bir sahədir: kursorda sıra üçün: sıra [1] = sıra [0] /4046.86

bir cədvələ qoşulduğunuzda, ArcGIS-də istifadə ediləcək sahələrin adları cədvəlin və sahənin adının birləşməsinə çevrilir. Buna görə cəhd etməlisiniz

sahələr = ["Potash_Rates.Potash", "pt_tst.LB_P_SQM"]

eyni zamanda raster adınızda kiçik bir xəta var, amma ehtimal ki, orijinalınızdakı kimi deyil

cursor = arcpy.UpdateCursor ("pt_tst_lyr") silinməlidir

"" C: Users Desktop CurrentWork pm Output_1192015 pt_tst "" "C: Users Desktop CurrentWork pm Output_1192015 pt_tst" "

EDİT: sahə kalkulyatoru ilə də cəhd edə bilərsiniz

arcpy.CalculateField_management ("pt_tst_lyr", "pt_tst.LB_P_SQM", "[Potash_Rates.Potash] /4046.86")

EDİT: Bir şəbəkə ilə işlədiyinizi dərhal anlamadım, buna görə sintaksis bir az fərqlidir

arcpy.CalculateField_management ("pt_tst_lyr", "pt_tst.vat: LB_P_SQM", "[Potash_Rates.Potash] /4046.86")

Bunun üçün istifadəçi tərəfindən müəyyən edilmiş bir funksiya yarada bilərsiniz:

və sonra hesabladığınız sütunu təyin etmək üçün istifadə edin:

Görünüşlər üçün daha çox iş kimi görünür (indekslənmiş baxışlar, hesablanmış sütunda sürətli axtarışlara ehtiyacınız varsa):

Bunun subquery versiyasından incə bir fərqi var, çünki qoşulma üçün bir çox nəticə varsa səhv çıxarmaq əvəzinə birdən çox qeyd qaytaracaqdır. Ancaq bu, c_const.code-un UNİKAL bir məhdudiyyəti ilə asanlıqla həll olunur (şübhə edirəm ki, bu artıq İLK KEYDİR).

Birinin subquery versiyasından daha çox başa düşməsi daha asandır.

Bunu marc_s göstərdiyi kimi bir alt sorğu və UDF ilə edə bilərsiniz, ancaq bu çox güman ki yüksək dərəcədə sadə bir QOŞULMA ilə müqayisədə səmərəsizdir, çünki skaler bir UDF-in sıra-sıra hesablanması lazımdır.


Prosedur

Eşik rasteri, bir axın kimi təsnif ediləcək qədər yığılmasına sahib olduğu təyin olunan hüceyrə dəyərlərini təyin edir və eşik rasteri, Akış Yığım GP aləti tərəfindən yaradılan bir rasterdən əmələ gəlir.

    Axın istiqaməti və axın toplama rastrlarını yaradın.

A. ArcMap'ı açın və DEM əlavə edin.
B. Giriş olaraq DEM ilə Flow Direction GP alətini çalıştırın.
C. Flow Accumulation GP alətlərini giriş kimi axın istiqaməti olan raster ilə çalıştırın.

A. Açıq Raster Kalkulyator.
B. Aşağıdakı ifadəni Xəritə Cəbri ifadə sahəsinə daxil edin və aləti işə salın:

Bu, eşiği qarşılamayan hüceyrələrə NoData dəyərləri təyin edərək axın şəbəkəsini təyin edən bir raster yaradır. Axın yığılmasını təmsil edən qalan hüceyrələr, raster atribut cədvəlində tək bir sıra içərisindədir.

A. Watershed GP alətini açın.
B. Adım 1-də yaradılan axın istiqaməti rasterini Giriş axını istiqaməti kimi göstərin.
C. Adım 4-də yaradılan eşik yığma rasterini xüsusiyyət tökmə nöqtəsi raster kimi göstərin.


V1.9.6-da tətbiq olunan shift () ilə bu olduqca sadədir.

  1. Yeni funksiya shift () sürətli qurğuşun / lag tətbiq edir vektor, siyahı, data.frames və ya data.tables. Həm də ola biləcək bir növ arqument tələb edir "gecikmə" (standart) və ya "qurğuşun". = Və ya set () ilə birlikdə çox rahat istifadəni təmin edir. Məsələn: DT [, (cols): = shift (.SD, 1L), by = id]. Xahiş edirəm daha çox məlumat üçün? Shift-ə baxın.

Əvvəlki cavablar üçün tarixçəyə baxın.

Bir neçə insan konkret sualı cavablandırdı. Bu kimi hallarda faydalı ola biləcəyi istifadə etdiyim ümumi təyinatlı bir funksiya üçün aşağıdakı kodu nəzərdən keçirin. Yalnız əvvəlki sıranı almaqdansa, "keçmişdə" və ya "gələcəkdə" istədiyiniz qədər sətirdə gəzə bilərsiniz.

@Steve Lianoglou-nun yuxarıdakı şərhinə əsasən, niyə yalnız:

Və seq_len və ya baş və ya hər hansı digər funksiyadan istifadə etməkdən çəkinin.

Arun həllindən sonra oxşar nəticələr .N-ə istinad edilmədən əldə edilə bilər

Dolğunluq arqumenti əlavə etdim və bəzi adları dəyişdirdim və "shift" dedim. https://github.com/geneorama/geneorama/blob/master/R/shift.R

Budur intuitiv həllim:

Burada sürət dəyişdirmə, 1-dən min sətir sayı 4-dir. Nrow (df) sizə məlumat çərçivəsindəki və ya bir vektordakı sətirlərin sayını təqdim edir. Eynilə, daha əvvəlki dəyərləri götürmək istəyirsinizsə, 2, 3,. vs. və həmçinin NA'ları əvvəlinə uyğun olaraq qoyun.

Formasını istifadə edərək, bu yeni sütun DT sətrinin əvvəlki dəyərindən də istifadə edə bilərsiniz [(i-1), 4]


4 Cavablar 4

Bunun kömək edib-etmədiyinə baxın. Cədvəlin 2-ci nüsxəsini sorğuya qoyun, 1-ci nüsxəyə Hesab və FiscalYear-a qoşulun, ancaq FiscalPeriod-a daxil olun. Sonra AktualBeginningBalance cədvəlin 2-ci nüsxəsindən yalnız FiscalPeriod'u seçmək üçün və 1-ci cədvəldən FiscalPeriod'u seçmək üçün bir məhdudiyyət ilə hesablana bilər. Qeyd - yanvar ayı üçün 0-a çevirmək üçün lazım ola biləcək sıfır nəticələr əldə edə bilərsiniz.

Tamam, biraz daha mürəkkəbdir - sonda digər cavaba bənzər bir sual sorğusu istifadə etdim, ancaq EB-ni masadan çəkməyə çalışmaq əvəzinə hesabladım.


Kim GIS istifadə edə bilər?

Coğrafi obyektlər haqqında məlumatı tutan hər hansı bir təşkilat, müvafiq obyektləri ehtiva edən bəzi xəritə məlumatlarına sahib olduğu müddətcə bu məlumatları CİS-ə yükləyə bilər. Bu səbəbdən, yalnız coğrafi məlumatların atributları deyil, hər cür məlumat dindirilə bilər.

Bunun üçün bir növ ortaq istinad sisteminə sahib olmaq lazımdır. Bu, yerleşim verilerindeki doğru qeydin yerleşim verilerindeki müvafiq qeyd ilə eşleştirilebilmesi deməkdir.

Məsələn, Ordnance Survey (OS) çaylar haqqında məkan məlumatları cədvəlini (ad, yer, uzunluq) və bir ətraf qrupu çaylar haqqında ətraf mühit məlumatlarını (ad, qaynaq növü, nitrat çirklənməsi, axın dərəcələri) saxlayır. İki cədvəlin hər ikisi çayın adını ehtiva edir, buna görə iki cədvəl ad atributundan ümumi istinad kimi istifadə edilə bilər. Cədvəllərin birləşdirilməsi ətraf mühitə dair məlumatları məkan mənbəyi (məkan) verir, buna görə də ətraf mühitə dair məlumatlar CİS ekranında görünə bilər.

Bu cür tətbiq, iki məlumat dəstindəki təşkilatlar arasında əlaqələr qurma qabiliyyətindən asılıdır. Çox vaxt müəyyən bir məlumat növünün bütün istifadəçiləri tərəfindən başa düşülən ədədi bir istinad sistemindən istifadə etmək daha yaxşıdır, belə ki, spesifik xüsusiyyətlər birmənalı olaraq müəyyən edilə bilər. Yalnız mətn adlarından istifadə edirsinizsə, bir məlumat toplusunda səhv yazılmış bir ad varsa və ya təkrarlanan girişlər varsa, bu düşə bilər. Məsələn, Britaniyada River Avon ad atributu olan bir çox çay uzanması var.

Ordnance Survey, milyonlarla Topoqrafik Tanımlayıcı (TOID) istifadə edərək öz ümumi istinad sistemini inkişaf etdirdi. Bunlar geniş miqyaslı verilənlər bazasında hər bir xüsusiyyət üçün tətbiq olunan unikal 16 rəqəmli nömrələrdir. TOID, istifadəçilər arasında məlumatları sürətli və səmərəli şəkildə birləşdirməyi, birləşdirməyi və ya ötürməyi çox asanlaşdırır. Bu sistem, Rəqəmsal Milli Çərçivə (DNF) kimi tanınan böyük bir layihənin bir hissəsidir.

CİS proqramı

Yerdəki bir yerə aid olan hər hansı bir məlumat CİS-ə yüklənə və analiz edilə bilər. CİS obyektlərinə əlavə edilmiş məlumatların dindirilib istismar edilməsinin müxtəlif yolları var.

Coğrafi məlumatlarınızı idarə etmək üçün yardıma ehtiyacınız varsa və ya tələblərinizi idarə etmək üçün bir tərəfdaşla əlaqə qurmaq istəsəniz, xəritələşdirmə üçün proqramı ziyarət edin.

Atributlar nədir?

& lsquoAttribute & rsquo, bir obyekt haqqında coğrafi xüsusiyyətlərinə əlavə olaraq saxlanıla bilən hər hansı bir məlumatı təsvir edir.

Məsələn, bir yolun nömrəsi, adı, maksimum eni, sürət həddi və s. Ola bilər. GIS bu təsviri atribut məlumatları ilə işləyə bilər və onu ağıllı bir formatda təqdim edə bilər və bir kağız xəritəyə mətn yerləşdirməklə əldə edilə biləndən üstün bir nəticə təqdim edə bilər.

CİS ilə artıq bir ərazidəki obyektlər haqqında məlumat ötürmək üçün mövcud məkana neçə mətn təsvirinin yerləşə biləcəyi ilə məhdudlaşmırsınız. Cədvəlli məlumatlar obyektlərin hər biri haqqında bir verilənlər bazasında olduğu kimi saxlanıla bilər, beləliklə demək olar ki, sonsuz bir sıra atributların qeyd olunmasına imkan yaradır. Bütün CİS-də xüsusiyyətlərin dindirilməsinə imkan verən sadə alətlər mövcuddur. Beləliklə, bir obyekti tıklamaq üçün siçanınızdan istifadə edərək, bu məlumatların hər zaman ekranda olmaması üçün tam bir xüsusiyyət göstərilə bilər. Maraqlı obyekt vizual xəritə qrafiki ilə müəyyən edilə bilər və sonra həmin obyekt sizə öz atributlarını deyə bilər.

Atribut masaları

Əksər CİS-lər istifadəçiyə məlumatları cədvəl şəklində, ümumiyyətlə xəritə qrafiklərindən istifadə etmədən keçirməyə imkan verir. Bu cədvəl proqramının istifadəsinə bərabərdir. Çox vaxt bir obyektin adını bilə bilərsiniz, lakin mütləq harada olduğunu bilmirsiniz; buna görə cədvəldən istifadə edib obyektin yerini tapmaq üçün xəritəyə keçə bilərsiniz.

CBS xüsusiyyətlərin hər birinin xüsusiyyətləri və coğrafi xüsusiyyətləri arasında daimi bir əlaqə yaradır: digəri haqqında bir şey bilirsinizsə bunlardan birini əldə edə bilərsiniz. İnternetdə yer tapmaq xəritələşdirmə xidmətlərinin əsası budur: hər hansı bir yer üçün xəritə yarada bilərsiniz, çünki poçt kodu atributu ilə coğrafi koordinatlar arasında bir əlaqə təbəqəsi var.

CİS, başqa sistemlərdən bir obyekt haqqında mövcud ola biləcək hər hansı bir məlumatı əlaqələndirmək üçün istifadə edilə bilər.

CİS istifadə edirsiniz? Seçici olun

CİS xəritə qatlarındakı xüsusiyyətlər müəyyən meyarlara cavab verənləri seçib görüntüləməklə sorğu edilə bilər.

Cədvəllərdə saxlanılan məlumatları bir anda həzm etmək çətin ola bilər. Müəyyən bir şərt qrupuna uyğun məlumatların uyğun dəstlərini süzmək lazımdır. Məsələn, tanımadığınız bir şəhəri ziyarət etdiyinizi düşünün. Şəhər mərkəzini və bütün restoranların yerini göstərən xəritəniz ola bilər. CBS ilə bu restoranlar haqqında bir sıra məlumatlar saxlanıla bilər və hansı növ yeməklər, başına düşən orta xərc və s.

GIS hansı restorana getmək istədiyinizi müəyyənləşdirməyə kömək edə bilər. Bir az ədvalı bir şey üçün əhvalınız var, buna görə Meksika restoranlarını seçməyə qərar verdiniz. Cədvəldəki qeydlər müəyyənləşdiriləcək və şəhərdəki bütün Meksika restoranları xəritə ekranında vurğulanacaq. Axtarışınızı daha da dəqiqləşdirə bilərsiniz. Büdcədəsiniz, buna görə də hesabın çox bahalı olmasını istəmirsiniz: bu səbəbdən orta qiymətə sahib bütün Meksika restoranlarının siyahısını tələb edərək sorğuya əlavə bir filtr əlavə edə bilərsiniz. Ekranda indi yalnız mövcud ehtiyaclarınıza uyğun olan qeydlər göstərilir və bəlkə də şəhərdəki yerlərə əsasən seçimlərdən hansını istədiyinizi seçə bilərsiniz.

Bu tip sorğuları məlumat sahələri sorğu vermək üçün mövcud olduğu müddətdə istədiyiniz qədər sadə və ya qəliz edə bilərsiniz. Bu qabiliyyət təkcə CİS proqramına xas deyil, bir çox fərqli məlumat sistemi seçim etmənizə imkan verəcəkdir. Bununla birlikdə, yalnız CİS sorğu nəticələrinin yerini əyani şəkildə təqdim edə bilər. Bundan əlavə, GIS, obyektlərin olduğu yerə görə seçilməsi üçün seçim filtrinə coğrafi meyarları tətbiq edə bilər.


2. Tercih olunan ərazilərin xəritəsinin yaradılması

Dream Team-ə istədiyimiz əraziləri əhatə edən bütün ərazi istifadəsini təmin edən bir torpaq istifadə qatını tapa bilmədiyimiz üçün, iki fərqli torpaq istifadəsi şəkli, & # 8220land-usewest & # 8221 and land-useeast & # 8221 birləşdirildi. tədqiqat sahəmizi əhatə edən tək bir torpaq istifadəsi shapefile istehsal etmək. İki shapefile birləşdirmədən əvvəl, & # 8220land-usewest & # 8221 shapefile proyeksiyasını land-useeast & # 8221 shapefile proyeksiyasına uyğunlaşdırmaq üçün çevirməliydik. Bunun səbəbi, & # 8220land-usewest & # 8221 shapefile NAD 1927 proyeksiyasından, & # 8220land-usewest & # 8221 shapefile isə Nad1983 Harn proyeksiyasından istifadə etməsidir. Transformasiyanı həyata keçirmək üçün & # 8220project & # 8221 alətindən istifadə etdik. Əvvəlcə Çıxış Koordinat Sistemi olaraq Proqnozlaşdırılan Koordinat Sistemlərindən & # 8220NAD 1983 HARN StatePlane Washington North FIPS 4601 Feet.prj & # 8221 seçdik. İkincisi, Coğrafi Dönüşüm altında, onu 1927 NAD'dan NAD 1983'e çevirmək üçün & # 8220NAD_1927_TO_ NAD 1983_NADCON & # 8221 seçdik, daha sonra 1927 NAD'dan NAD 1983 HARN'ye dəyişdirmək üçün & # 8220NAD_1983_To_HARN_WA_OR & # 8221 seçdik. Dəyişiklikdən sonra qərb Seattle ərazi istifadəsi şəklini şərq Seattle ərazisi istifadə sənədinə köçürdük, çünki bizim maraq dairəmiz budur. Ardından, hər bir shapefile ərazi istifadəsinə əsaslanaraq & # 8220value & # 8221 adlı iki yeni sahə yaradaraq iki shapefile yenidən təsnif etdik və eyni ərazi istifadə dəyərini paylaşan çoxbucaqlı sayını azaltmaq üçün & # 8220dolve & # 8221 alətini istifadə etdik. İki təbəqəni birləşdirmək üçün, tək bir shapefile istehsal etmək üçün & # 8220union & # 8221 alətindən istifadə etdik və ona # 8220seattlelanduse & # 8221 adını verdik. Birləşmə yolu ilə iki shapefile qoşulduqdan sonra, Seattle'ın qərb tərəfindəki ərazi istifadə xəritəsindəki & # 8220value & # 8221 sahəsi avtomatik olaraq & # 8220seuelanduse & # 8221 atribut cədvəlində iki sahənin eyni ada icazə verilmir. Daha sonra & # 8220seattlelanduse & # 8221 shapefile qatından üç fərqli shapefile yaratdıq: i) sənaye ii) kənd təsərrüfatı iii) ticarət.

Yalnız sənaye ərazi istifadəsini göstərən bir xəritə hazırlamaq üçün, & # 8220seattlelanduse & # 8221 shapefile'nin xüsusiyyətlər cədvəlinə & # 8220values ​​& # 8221 və & # 8220value1 & # 8221 adlı sənaye sahələrinin olduğu & # 8220values ​​& # 8221 adlı yeni bir sahə əlavə etdik. sahələrə 1 dəyər verildi, digər torpaq istifadəsinə isə 0 dəyər verildi. Fayl & # 8220industrial & # 8221 olaraq qeyd olunur. Ardından, & # 8220industrial & # 8221 shapefile'yi raster & # 8221 adlı dönüşüm alətindən istifadə edərək raster IMAGINE sənədinə çevirdik. Çıxış & # 8220indusras & # 8221 olaraq qeyd edildi. Əkinçilik ərazi istifadəsi üçün bir xəritə yaratmaq üçün, eyni müddət təkrarlandı və məhsul & # 8220agriras & # 8221 olaraq qeyd edildi.

Ticari torpaq istifadəsi şəklinə yaxınlıq yaratmaq üçün əvvəlcə yeni bir sahə yaratdıq ki, bu ərazidə kommersiya istifadəsinə 1, digər torpaq istifadəsinə isə 0 dəyər verildi, bu təbəqə & # 8220commercelu & # 8221 olaraq qeyd edildi. Daha sonra City Block 2000 shapefile istifadə etdik və & # 8220x & # 8221 ve & # 8220y & # 8221 adlı iki yeni sahə yaratdıq və & # 8220x & üçün mülk ayarında & # 8220X Coordinate of Centroid & # 8221 seçerek hər ikisi üçün həndəsi hesabladıq. # 8221 sahəsi və & # 8220y & # 8221 sahəsi üçün & # 8220Y Centroid Koordinatı. Daha sonra XY məlumat nöqtələri əlavə edildi və digər təbəqələrimizlə eyni proyeksiyaya quruldu. Bu fayl ixrac edildi və & # 8220landusexy & # 8221 olaraq qeyd edildi. Yuxarıda göstərilən proses, & # 8220kompartivi tək hissəyə & # 8221 alətinə istifadə edərək poliqonları fərdi atributlara ayırdıqdan sonra & # 8220commerce & # 8221 shapefile üçün təkrarlandı və nəticədə ortaya çıxan fayl & # 8220commercexy & # 8221 olaraq qeyd edildi. & # 8220commerce & # 8221 təbəqəsi üçün çoxbucaqları ayırmaq lazım idi, çünki centroid nöqtəsinə sahib olmaq üçün hər çoxbucaqlıya ehtiyacımız var. Nəticə iki nöqtədir: biri hər City Block çoxbucağının mərkəzində, digəri isə hər & # 8220commercelu & # 8221 çoxbucağının mərkəzində yerləşən bir dəst. Yerdəki bu nöqtələrlə, Centroid nöqtələrinin City Block 2000-dən & # 8220commercexy & # 8221 qatındakı centroid nöqtələrinə olan məsafəsini hesablamaq üçün istifadə edə bilərik. Ticarət sahələrinə yaxınlığı hesablamaq üçün & # 8220near & # 8221 vasitəsi istifadə olundu; girişimiz & # 8220landusexy & # 8221, çıxışımız isə & # 8220 ticari xy & # 8221 olan yeni bir sahə yaradıldı & # 8220neardist & # 8221. & # 8220landusesexy & # 8221 atribut cədvəlində. Bu atribut cədvəlində, dəyərlərin 0-100 arasında bir aralığa sahib olması üçün məsafələri standartlaşdırmaq üçün & # 8220score & # 8221 adlı yeni bir sahə əlavə etdik. Bu, & # 8220 ([neardist] / (maksimum [neardist]) * 100) & # 8221 & # 8220score & # 8221'in sahə kalkulyatoruna daxil edilərək edildi. Məsafələri davamlı olaraq göstərmək üçün (nöqtələr əvəzinə çoxbucaqlar ilə təmsil olunur), & # 8220landusexy & # 8221-dən atribut cədvəlindəki məlumatları City Block 2000 atribut cədvəlinin atribut cədvəlinə qoşduq. Nəhayət, skor dəyərlərini ehtiva edən The City Block 2000, & # 8220proxcommras & # 8221 adlı raster IMAGINE dosyasına çevrildi.

GeoCommunity, hər iki yol sənədini dörd sektora ayırdı. Səkkiz sektorun hamısını birləşdirmək üçün əlavə alətindən istifadə etdik və beləliklə tək bir yol faylı yaratdıq. Analizimiz yalnız böyük yollar və magistral yollarla maraqlandığından, onları lazımsız məlumatlardan ayırmalıyıq vəziyyət, kiçik yollar və küçələr . Atribut cədvəlində qara dəyərləri seçərək (magistral yollar və magistral yollar dəyərlərlə siyahıya alınır), daha kiçik yolları və küçələri sildik. Sonra (məsələn, dövlətlərarası magistral yolları seçmək üçün müvafiq sahəni istifadə edərək) "NUMBER = I-5 və ya sayı = I-90 və ya NUMBER = I-405" kimi xüsusiyyətlər cədvəlindəki dəyərlərə görə seçin, ayrıldıq. magistral və arteriya yollarını iki ayrı təbəqəyə aparırıq, çünki bunlar analizimizdə fərqli çəkilərə sahib olacaqdır.


Mücərrəd

Bu araşdırmanın məqsədi çox kriteriyalı qərar qəbuletmə metodları ilə coğrafi bir məlumat sistemi tətbiq etmək, Ekvador kontinentalında külək elektrik stansiyalarının quraşdırılması üçün ən uyğun yeri seçmək idi. Bundan əlavə, nəticələri qiymətləndirmək üçün ümumi bir fəaliyyət indeksinin yaradılmasından ibarət olan bir standartlaşdırma prosesi həyata keçirildi. Nəhayət, Pearson korrelyasiya əmsalı çox meyarlı qərar qəbuletmə metodları arasında qarşılıqlı yazışmaları təhlil etmək üçün istifadə olunur.

Bu tədqiqatda meteoroloji parametrləri (külək sürəti, havanın sıxlığı), relyefi (yamac), yeri (yarımstansiyalara qədər məsafələr, yol şəbəkəsi, şəhər əraziləri, elektrik ötürücü xətlər, enerji doldurma limanları) və ətraf mühit parametrlərini (bitki örtüyü), fərqli seçim meyarlarını, nəzərdən keçirilmişdir.

Bu araşdırmanın nəticələri ən yüksək ümumi göstəriciyə sahib ərazinin 617,5 km 2-dən çox ərazisi olan Ekvadorun And bölgəsi olduğunu ortaya çıxardı. Ümumi performans indeksinin nəticəsi göstərir ki, dörd seçilmiş çox kriteriyalı qərar qəbuletmə metodu, ideal bir yerin maksimum punktuasiyasının% 75-nə bərabər və ya daha çox olduğu oxşar nəticələr vermişdir. Bu çərçivədə təhlil edilən metodlar oxşar həllərə yaxınlaşır və çox kriteriyalı qərar qəbul etmə metodunun külək təsərrüfatları üçün ideal yerləri seçmək üçün güclü bir vasitə olduğunu göstərir.


Prosedur

Aşağıdakı təlimatlar hər hüceyrənin mərkəzinin X və Y koordinatlarını Raster to Point alətindən və Həndəsəni Hesabla alətindən istifadə edərək bir şəbəkədə necə çıxarılacağını təsvir edir.

  1. İstifadə edərək, şəbəkədəki hər bir hüceyrə üçün bir nöqtə yaradın Nöqtəyə qədər raster alət, aşağıdakı addımları istifadə edərək:
    1. İstifadə edərək grid rasterini ArcMap-a əlavə edin Məlumat əlavə edin düyməsini Standart alətlər paneli.
    2. İçində ArcToolbox pəncərə, gedin Konversiya vasitələri & gt Rasterdən & gt Nöqtəyə qədər raster.
    3. İçində Nöqtəyə qədər raster informasiya qutusu üçün Raster daxil edin. Zaman Raster daxil edin qurulur, Sahə parametr avtomatik olaraq dəyişdirilir Dəyər.
    4. Üçün bir ad və yer təyin edin Çıxış nöqtəsinin xüsusiyyətləri.

    Aşağıdakı şəkildə, istifadə edərək şəbəkədən çevrilən nöqtələrin bir nümunəsi göstərilir Nöqtəyə qədər raster alət.

    1. Atribut cədvəlinə biri X, biri Y üçün iki yeni sahə əlavə edin və istifadə edin Həndəsəni hesablayın aşağıdakı addımlardan istifadə edərək nöqtələrin koordinatlarını hesablamaq üçün alət:
      1. İçində Mündəricat, Addım 1-də yaradılan qatı sağ vurun və Atribut Cədvəlini açın.
      2. Basın Cədvəl Seçimləri & gt Sahə əlavə edin.
      3. İçində Sahə əlavə edin pəncərə, sahəyə Northing (Y koordinatları üçün) adını verin və Yazın üçün İkiqat.

      Aşağıdakı şəkil atribut cədvəlindən ixrac edilmiş X və Y koordinatlarını ehtiva edən bir Microsoft Excel sənədinin bir nümunəsidir.


      Bazar ertəsi, 18 iyul 2016

      Məşq 4: Sahələr və Seçimlərlə İş

      Məqsədlər
      Bu çalışmanın məqsədi sahələri əlavə etmək və hesablamaq, həmçinin Python-da SQL ifadələrini istifadə edərək xüsusiyyətləri seçmək idi. Bu, üçüncü məşqdəki skript (və məlumatlar) istifadə edilərək istifadə olunan bəzi alətlərin dəyişdirilməsi ilə edildi.

      Proses

      Əvvəlcə bu məşq üçün lazım olan sistem modulları idxal edildi. Sonra dəyişənlər quruldu. Sonra 'sahə əlavə et', 'sahəni hesabla' və 'seçin' alətləri istifadə edildi. Nəhayət, kompaktlıq hesablandı və məşq tamamlandı.

      # idxal sistemi modelləri
      arcpy idxal edin
      arcpy idxal env
      idxal os
      idxal vaxtı
      datetime idxal edin

      # mövcud sənədlərin üzərinə yazmaq üçün skriptə icazə verin
      arcpy.env.overwriteOutput = Doğru

      # dəyişənlər yaradın
      print "Dəyişənlər Yaradın", datetime.datetime.now (). strftime ("% H:% M:% S")

      # giriş geodatabase
      ex3geodatabasePath = "Q: StudentCoursework CHupy GEOG.491.801.2167 MILLERZM BlankResults_Ex3.gdb"

      # Bu fayl adı sonrakı 'həll olunan həll' fc adı üçün istifadə ediləcək
      intersectName = "İntersectedFcs"
      dissolveOutput = os.path.join (ex3geodatabasePath, intersectName) + "_ Çözülmüş"

      # ÇıxışDəyişənlər
      selectName = "ÇökdürünFC_Selected"
      finalSelect = os.path.join (ex3geodatabasePath, selectName)
      print "Çözülmüş fcs-lərə bir sahə əlavə etmək", datetime.datetime.now (). strftime ("% H:% M:% S")

      # Proses: Sahə əlavə edin
      arcpy.AddField_management (dissolveOutput, "Area_km2", "FLOAT", "", "", "" "", "NULLABLE", "NON_REQUIRED", "")
      print "Alanın km2-də hesablanması", datetime.datetime.now (). strftime ("% H:% M:% S")

      # Proses: Sahəni hesablayın
      arcpy.CalculateField_management (dissolveOutput, "Area_km2", "[Shape_Area] / 1000000", "VB", "")
      print "Yalnız sahəsi 2 km-dən çox olan çoxbucaqlıların seçilməsi", datetime.datetime.now (). strftime ("% H:% M:% S")

      # Proses: Seçin (4)
      arcpy.Select_analysis (dissolveOutput, finalSelect, "Area_km2 & gt2")
      print "Kompaktlığın hesablanması üçün bir sahənin əlavə edilməsi", datetime.datetime.now (). strftime ("% H:% M:% S")

      # Proses: Sahə əlavə edin (2)
      arcpy.AddField_management (finalSelect, "Compactness_Float", "FLOAT", "", "", "" "," NULLABLE "," NON_REQUIRED "," ")
      çap "Kompaktlığın hesablanması", datetime.datetime.now (). strftime ("% H:% M:% S")

      # Proses: Sahəni Hesablayın (2)
      arcpy.CalculateField_management (finalSelect, "Compactness_Float", "[Shape_Area] / ([Shape_Length] * [Shape_Length])", "VB", "")


      çap "Hesablamalar tamamlandı", datetime.datetime.now (). strftime ("% H:% M:% S")

      Bütün mənbələr Dr. Christina Hupy tərəfindən təmin edilmişdir

      Məşq 3: Python ilə Geoprosessiyaya giriş

      Məqsədlər

      Bu tapşırığın məqsədi bir skript qurmaq üçün modulları idxal etmək, ağıllı dəyişənlər yaratmaq və geosessil modellərini skript kimi ixrac etmək idi. Bu tapşırıq, Python-da ssenari yazaraq, sinifin ilk məşqində edilən addımları yenidən yaratmaqla həyata keçirildi.

      Proses

      Birincisi, birində yaradılan modellə bir əlaqə olmalı idi, bu əlaqə modeli bir .py faylı olaraq ixrac edilərək üçüncü məşq üçün yaradılan bir geodatabase-də saxlanıldı. Ardından, skript yaza bilmək üçün ArcPy modulları və Python modulları Pythona idxal edildi. Bu modullara aşağıdakılar daxildir: os, zaman və datetime. Bundan sonra, faylları müvafiq geodatabazalarına bağlayaraq dəyişənlər yaradıldı, sonra məlumatları idarə etmək üçün alətlərdən istifadə edildi. Məlumat kəsildikdən, arabelleğe alındıqdan, seçildikdən və s. Bir dəfə bu məşq üçün yaradılan yeni geodatabana göndərildi. Nəhayət, məlumatlar təmizləndi, danışmaq mümkün oldu və skript geodatabase daxilində yeni bir fayl yaratdı.

      Nəticələr

      #-------------------------------------------------------------------------------
      # Ad: Ex3
      # Məqsəd: xizək kurortları üçün ideal sahələr tapır
      #
      # Müəllif: Zach Miller
      #
      # Tarix: 15.07.2016
      #-------------------------------------------------------------------------------
      # Proqramın işləməsini təmin etmək
      çap "Script başlatıldı"

      # idxal sistemi modelləri
      arcpy idxal edin
      arcpy idxal env
      idxal os
      idxal vaxtı
      datetime idxal edin
      arcpy.env.overwriteOutput = Doğru

      # dəyişənlər yaradın
      çap "Dəyişənlər Yaradın", datetime.datetime.now (). strftime ("% H:% M:% S")

      # giriş geodatabase
      ex1geodatabasePath = "Q: StudentCoursework CHupy GEOG.491.801.2167 MILLERZM Ex1.gdb"

      # daxili adlar
      nfsLand = "NFS_Land"
      snowDepth = "SnowDepth_in"
      temp = "Temperature_F"
      studyArea = "StudyArea"
      hava limanları = "hava limanları"

      # coğrafi verilənlər bazasını adla birləşdirmək
      nfsInput = os.path.join (ex1geodatabasePath, nfsLand)
      snowDepthInput = os.path.join (ex1geodatabasePath, snowDepth)
      tempInput = os.path.join (ex1geodatabasePath, temp)
      studyAreaInput = os.path.join (ex1geodatabasePath, studyArea)
      airportsInput = "Q: StudentCoursework CHupy GEOG.491.801.2167 MILLERZM Ex1.gdb Airports_Project"

      # çıxış dəyişənləri
      ex3geodatabasePath = "Q: StudentCoursework CHupy GEOG.491.801.2167 MILLERZM BlankResults_Ex3.gdb"


      Videoya baxın: Mosaic rasters with ArcGIS. burdGIS (Oktyabr 2021).