Daha çox

UpdateCursor 'müəyyən edilməyib' Python


Bir neçə sənədim var (shapefiles). Cədvəl 1-də bir neçə sahə olan yalnız bir sıra, Cədvəl 2-də isə bir neçə sətir var. İstədiyim şey Cədvəl 1-dən bir dəyər götürmək və Cədvəl 2-dəki bütün satırları doldurmaqdır. İstədiyim dəyəri tapmaq üçün bir SearchCursor və satırları doldurmaq üçün bir UpdateCursor istifadə etdim.

import arcpy arcpy.env.workspace = "C:  Users  Documents  Scoring  Ecodis_clip_split" #set iş sahəsi dəyərləri olan qovluqlara satır = arcpy.SearchCursor ("Table1.shp", "", "", " area_ha "," ") # aid edilə bilən arcpy.env.workspace =" C:  Users  Documents  Scoring  Split_wetlandt "içərisində dəyər axtarın # yenilənməsi lazım olan faylları olan qovluğa #set iş sahəsi satır = UpdateCursor ("Table2.shp", "", "", "area_eco", "") # SearchCursor-dan yuxarıdakı bütün satır dəyərlərini yeniləyin

Bunu çalıştırdığımda, bu Erressessage'ı almağa davam edirəm:

İzləmə (son zəng son): Fayl "", sətir 17, in  NameError: ad 'UpdateCursor' müəyyən edilməyib

Bir şey müəyyən edilməyibsə, bu, Pythonun onu dəyişən kimi gördüyü deməkdir? Səhv yazısından qurtula bilsəm belə: Cədvəl 2-dəki bütün satırları dəyərlə dolduracaqmı və ya başqa bir şey etməyimə ehtiyac var? Qeyd edək ki, Python-u öyrənməyə yeni başlamışam və heç vaxt heç nə yazmamışam ...

17.06.14 11:32 də redaktə edin

@ Aaron, bu Cədvəl 2-dəki dəyərləri Cədvəl 1-dən axtardığım dəyərlərlə əvəz edəcəkmi?

import arcpy arcpy.env.workspace = "C:  Users  Documents  Scoring  Ecodis_clip_split" #set iş sahəsi dəyərləri olan qovluqlara satır = arcpy.SearchCursor (cədvəl 1 "," "," "," area_ha " , "") atributable arcpy.env.workspace = "C:  Users  Documents  Scoring  Split_wetlandt" içərisində dəyər axtarın # arcpy.UpdateCursor ilə yenilənməsi lazım olan faylları olan qovluğa #set iş sahəsi. Cədvəl 2 ["area_eco"]) # İmlecdəki sıra üçün yuxarıdakı SearchCursor-dan dəyəri olan bütün satırları yeniləyin: area_eco.replace (SearchCursor)

EDİT 6/27614 12:04 pm

Ssenarimi buna yenilədim. Hər hansı bir şəkildə Cədvəl 2-dəki bütün aidiyyəti sənədləri sildim, amma bərpa etdim. Yenidən işlədirəm və indi heç bir şey olmur. Satırları yeniləmir, satırdakı dəyər 0 olaraq qalır.

import arcpy arcpy.env.workspace = "C:  Users  Documents  Scoring  Ecodis_clip_split" #set iş sahəsi dəyərləri olan qovluqlara satır = arcpy.SearchCursor ("Table1", "", "", "area_ha" , "") # aid edilə bilən arcpy.env.workspace = "C:  Users  Documents  Scoring  Wetland" dəyərini axtarın # yenilənməsi lazım olan faylları olan qovluğa iş seti = arcpy.UpdateCursor ("Cədvəl2", "", "", "area_ha", "") sətirlər

Göstərməyi unutmusunuz arcpy UpdateCursor çağırarkən modul.

satır = arcpy.UpdateCursor ("Table2.shp", "", "", "area_eco", "")

İstifadə etməklə əlaqədar Haruna ikinci ilə bəyanat

Ayrıca, "klassik" imleci və ya məlumat girişini (da) istifadə etməklə bağlı OS cavabımdan birinə müraciət edərdim.

Nəhayət, python / arcpy öyrənməyinizə kömək edəcək bir neçə mənbəyə işarə etmək istərdim:

Ümid edirəm kömək edir.


Burada nə baş verirsə, Python tərcüməçinin "UpdateCursor" un haradan gəldiyini bilməməsidir. Düzgün sintaksis aşağıdakı kimidir (yəni ArcGIS 10.1+):

arcpy.da.UpdateCursor (YourFeatureclass, ["Field1", "Field2", "Field3", "etc"])

Bir imleci tətbiq etməyin çox təmiz bir yoluiləbəyanat:

arcpy.da.UpdateCursor ilə (YourFeatureclass, ["Field1", "Field2", "Field3", "etc"]) kursor kimi: kursor sırası üçün: # Bir şey et

Kursor obyektləri avtomatik olaraq açılır, bir şəkildə işlənir və a istifadə edərək avtomatik bağlanıriləbəyanat. Daha çox məlumat UpdateCursors-da ESRI kömək bölməsində mövcuddur.


Bu, mənim başa düşməyimə əsaslanır. Ssenarini sınamadım, amma bu işləməlidir. Daha çox ayıklamağa ehtiyacınız varsa, mənə məlumatlarınız üçün bir keçid verin.

import arcpy arcpy.env.workspace = "C:  Users  Documents  Scoring  Ecodis_clip_split" #set iş sahəsini dəyərləri olan qovluğa # Ecodis üçün kursor yaradın cursorEco = arcpy.SearchCursor ("Table1", "", "", "area_ha", "") # aid edilə bilən arcpy.env.workspace = "C:  Users  Documents  Scoring  Wetland" dəyərini axtarın # olması lazım olan faylları olan qovluğa #set iş sahəsi yeniləndi # Sulak sahə üçün bir imleci yaradın cursorWet = arcpy.UpdateCursor ("Table2", "", "", "area_ha", "") # sıra içərisində hər sətri satır Eko üçün satır Eko: çap (rowEco.getValue (") area_ha ")) # courorWet in rowWet üçün Sulak sahəsindəki imlecin içərisindəki hər satırı təkrarlayın: # Ecodis satırının dəyərini Wetland satır rowWet.setValue (" area_ha ", rowEco.getValue (" area_ha ")) # dəyişdirilmiş olun Weltand cursorWet.updateRow (rowWet) # cursorEco olduqda təmizləyin: del cursorEco əgər cursorWet: del cursorWet əgər rowEco: del rowEco if rowWet: del rowWet

Həndəsəni hesablamaq üçün məlumat çərçivəsi koordinatı və ya məlumat mənbəyi əlaqələndirilməsi arasında necə seçim edilir?

Bu tostu arcpy (python) ilə tamamlamaq üçün məlumat çərçivəsi koordinatı və ya məlumat mənbəyi koordianı arasında seçim etmək asan bir üsulla həndəsəni ("[email protected]!") Hesablamaq üçün bir yol axtardım. Təəssüf ki, istifadə və ya imzalayanla (updateCursor) bağlı bir şey söylədim.

bunun asan bir yolu varmı?

DarrenWiens2 tərəfindən

Təəssüf ki, istifadə və ya imzalayanla (updateCursor) bağlı bir şey söylədim.

bunun asan bir yolu varmı?

Bu qarışıqdır. UpdateCursor istifadə edərək çox mürəkkəb və daha sadə bir həll axtarırsınız? Əgər belədirsə, mürəkkəb həllə və ya daha yaxşı bir şəkildə kodun özünə bir keçid göndərin. Əks təqdirdə, zəhmət olmasa axtardığınızı daha da açıqlayın.

Bunu etmək üçün alternativ bir yol, daha təsirli və ya bilmədiyim bir yol axtarıram

DarrenWiens2 tərəfindən

Xahiş edirəm tapdığınızı göndərin, belə ki, başlanğıc nöqtəmiz olsun.

redaktə: Yeniləmə Kursorundan necə istifadə edəcəyinizi öyrənməkdənsə, sahə kalkulyatorundan (və ya Sahəni Hesablayın) istifadə etmək üçün bir yol axtardığınızı düşünürəm. Sahə kalkulyatoru işləmədiyi halda Update Cursorun işləmə səbəbini, sahənin qatın CRS-dən istifadə etməsini, bir Update Kursorunun CRS-i təyin edə biləcəyimi düşünürəm. Sadəcə Yeniləmə Kursorunda fərqli bir CRS-in göstərilməsinin həqiqətən düzgün nəticələr verəcəyini deyə bilmərəm, ancaq yenə də onu dəyişdirməkdə sərbəstsiniz.

Mən asan görünmədikdə sürətlə keçmişəm (səmərəli prosedur)

Mən də kodu sınamadım. Ancaq buna bənzəyir

Bağışlayın, amma niyə kopyalaya / yapışdıra bilməyəcəyimi bilmirəm

XanderBakker tərəfindən

"Həndəsə Xüsusiyyətləri əlavə edin (Veri İdarəetmə)" alətindən istifadə edə bilərsiniz, bu xüsusiyyətinizə yeni bir sahə əlavə edəcək (məs. AREA və ya AREA_GEODESIC). Xüsusiyyət sinifinizə: Həndəsə Xüsusiyyətləri əlavə edin - Yardım | Masaüstü üçün ArcGIS

arcpy.AddGeometryAttributes_management (Giriş_Features, Geometry_Properties, , , )

Gördüyünüz kimi koordinat sistemini parametr olaraq təqdim edə bilərsiniz.

Bu vasitənin yalnız 10.2-də mövcud olduğuna inanıram və 10.1-dən istifadə edirəm

XanderBakker tərəfindən

Doğrudur, bu vasitə 10.2-də təqdim edildi və 10.1-də mövcud deyil.

Python skriptini istəməyinizin səbəbi nədir? Bunu tətbiq etməyiniz yalnız bir dəfədirsə, onu yazmağa ehtiyac yoxdur və bir neçə kliklə nəticəni əldə edə bilərsiniz.

Təkrar-təkrar etməli olduğunuz bir şeydir (çoxsaylı xüsusiyyət siniflərində)?

Bir vasitə yaratmaq və digər istifadəçilərə funksionallıq təklif etmək istəyirsiniz?

Bir alət yaratmaq və / və ya birdən çox məlumat dəstinə keçid edən bir skript yaratmaq mümkündür, ancaq arxasındakılardan bir az daha çox bilmək, hansı variantın sizin üçün daha yaxşı olduğunu müəyyənləşdirməyə kömək edir.


Python Kursorları və Lüğətləri ilə Turbo Şarj Edilən Məlumat manipulyasiyasını

tərəfindən RichardFairhurs t

Sahə Kalkulyatoru, Qoşulma və Xülasə Statistika vasitələrindən istifadə ilə bağlı problemlər

Sahə kalkulyatoru əla bir vasitədir və qurulması asandır, lakin böyük məlumat dəstləri ilə bir çox məlumat manipulyasiyası etməyiniz lazım olduqda ssenari qaydalarını ciddi şəkildə ləngidə biləcək bir neçə məhdudiyyət var. Ən bariz məhdudiyyət bir anda yalnız bir sahənin hesablanmasıdır. Bu, tez-tez xüsusiyyət sahəsindəki hər bir qeydin bir neçə sahəni yeniləmək üçün bir neçə dəfə işlənməsi lazım olduğunu göstərir. Birləşdirmə istifadə edərək xüsusiyyət sinifləri arasında məlumat köçürmələri etməlisinizsə, hər iki xüsusiyyət sinifindəki birləşmə sahəsini indeksləşdirmək vacibdir, həmişəlik işlənən hesablamalardan qaçınmaq lazımdır və hətta birləşdirmə ilə əlaqəli olduqda sürət əhəmiyyətli dərəcədə yavaş olur. Ayrıca, xüsusiyyət sinifləri arasındakı qeydləri düzgün bir şəkildə uyğunlaşdıran bir birləşmə yaratmaq üçün birdən çox sahədən istifadə etməyiniz lazımdırsa, yeganə seçiminiz hər iki xüsusiyyət sinifində işləyən bir birləşmə etmək üçün bu sahə dəyərlərini birləşdirən yeni bir sahə yaratmaqdır. Həm də, bu birləşmələrdən əvvəl tez-tez bir xülasə cədvəli yaradılmalıdır ki, bu da daha çox vaxt tələb edir.

Xoşbəxtlikdən ArcGIS Desktop 10.1 və ya daha sonrakı bir versiyanız varsa, bu kimi skriptləri dramatik şəkildə sürətləndirə bilən və xüsusiyyət sinifləri arasında məlumat ötürülməsini həm çevik həm də inanılmaz dərəcədə sürətli edə biləcək bir alternativ var. Çözüm, sahə kalkulyatorunu bir və ya daha çox məlumat giriş imleci (da imleci) ilə əvəz etmək və bir da SearchCursor istifadə edərək bir və ya daha çox python lüğəti ilə birləşdirmək və xülasə cədvəlləri yaratmaqdır.

Bir Xüsusiyyət Sınıfı daxilində bir Sahə Hesablamasını dəyişdirmək üçün da UpdateCursor istifadə etmək:

Aşağıda, başqa bir sahədən götürülmüş bir dəyərdən istifadə edərək qurulmuş bir köprü ilə URL sahəsini doldurmaq üçün bir xüsusiyyət sinifində da UpdateCursor istifadə edəcək sadə bir skript var. Strftime metodu, skriptin başladığı vaxtı və bitmə vaxtını yazdırmaq üçün istifadə olunur. Bu skripti öz məlumatlarınıza uyğunlaşdırmaq üçün yalnız 7-ci sətirdə Xüsusiyyət Sınıfı yolunu və adını, 9-cu sətirdəki sahə sahəsindəki sahə adlarını və 14-cü sətirdəki URL sətrini dəyişdirməlisiniz. oxşar sahə hesablanması.

Bir Xüsusiyyət Sınıfı daxilində bir neçə Sahə Hesablamasını dəyişdirmək üçün da UpdateCursor istifadə etmək:

İndi deyək ki, bu xüsusiyyət sinifinin yenilənməsini başa çatdırmaq üçün daha 2 sahə hesablamasını işlətməliyik. Bir hesablamaya iki başqa sahəni bir araya gətirmək lazımdır, digəri isə bir sahədəki dəyərləri kapitallaşdırılmış dəyərlərdən başlıq vəziyyətinə çevirmək lazımdır. Yəni 100K qeyd varsa, bu qeydlərin hamısı 3 dəfə hesablanmalıdır.

Bütün bunlar 100K qeydlər arasındakı bir UpdateCursor tək bir keçidlə idarə edilə bilər. Qeydlər yalnız bir dəfə dəyişməli olduğundan və UpdateCursor-un oxuması və ya hesablaması üçün daha çox sahənin əlavə edilməsi işləmək üçün çox az əlavə vaxt tələb etdiyindən, 3 sahə hesablamasında sürət artımı əvvəlki ssenaridən daha sürətli olur. Nəticədə, bir da UpdateCursor-un bir keçidi ilə nə qədər sahə hesablamasını əvəz edə bilsəniz, ssenarinin sürəti bir o qədər dramatik şəkildə yaxşılaşacaqdır.

Aşağıda hər üç sahə yeniləməsini edə bilən skript var (sahələrdə bir araya gətirilən və ya vəziyyəti dəyişdirən boş dəyər olmadığını düşünək). Bu ssenarini öz məlumatlarınızla istifadə etmək üçün hələ 7, 9 və 14 sətirləri dəyişdirməlisiniz (istəyə görə 16 və 18 sətirlərdə hesablamaları dəyişdirin).

İki Xüsusiyyət Sinifini Birləşdirən Bir Qoşulmanı Dəyişdirmək üçün Da SearchCursor istifadə edərək hazırlanmış bir Python Lüğətindən istifadə:

Başqa bir ümumi məlumat manipulyasiyası, Qoşulmuş xüsusiyyət sinifindən Tarif Kalkulyatorunu istifadə edərək Hədəf xüsusiyyət sinifinə dəyərlər ötürmək üçün bir xüsusiyyət sinifinin digərinə qoşulmasını əhatə edir. Bununla yanaşı, axtarış kursorunu istifadə edərək Python lüğətinə yüklənmiş xüsusiyyətlər bir xüsusiyyət sinifindəki qoşulma sahəsi dəyərlərini birləşdirmə ilə digərinə uyğunlaşdırmaqda daha sürətli olur. Sahə Kalkulyatorunu əvəz etmək üçün da UpdateCursor istifadə etməklə birləşdirildikdə, bu cür məlumat manipulyasiyalarının sürəti tək bir xüsusiyyət sinifindəki məlumat manipulyasiyalarından daha dramatik ola bilər.

Nümunə 1 - Xüsusiyyət Dərsləri arasında Tək Sahə Dəyərinin Köçürülməsi

Aşağıda, başqa bir sahədəki ümumi birləşmə dəyərinə əsasən bir xüsusiyyət sinifinin dəyərini digərinə köçürmək üçün lazım olan kod verilir. Bu skripti öz məlumatlarınızı dəyişdirmək üçün 7 və 14-cü sətirləri mənbənin yoluna və adına uyğunlaşdırın (Qoşulun) və yeniləyin (hədəf) Xüsusiyyət Sınıfını normal olaraq qoşulacağınız xüsusiyyət siniflərinə uyğunlaşdırın, sahəni əvəz etmək üçün 9 və 16 sətirləri dəyişdirin. Qoşulma sahəsinin adı və köçürülən sahənin adı ilə siyahı.

Nümunə 2 - Sahə Dəstləri arasında 1: 1 uyğunluğun olduğu Xüsusiyyət Dərsləri arasında Çoxsaylı Sahə Dəyərlərinin ötürülməsi.

Sahə Kalkulyatoru kimi bir xüsusiyyət sinifindən digərinə daha çox sahə köçürüldükdə, skriptiniz də bir o qədər sürətlənəcəkdir. Əgər köçürmə sahə ötürülməsi üçün sadə bir sahədirsə, köçürmə sahələri for for formasında işlənə bilər. Aşağıda iki xüsusiyyət sinfi arasında 5 uyğun sahənin ötürülməsinə bir nümunə var. Bu kodu məlumatlarınıza uyğunlaşdırmaq üçün 7 və 14 sətirlərdə xüsusiyyət siniflərini və 9 və 16 sətirlərdə sahə siyahılarını yenidən dəyişdirməlisiniz.

Nümunə 3 - Kompleks Sahə Manipulyasiyalarını əhatə edən Xüsusiyyət Dərsləri arasında Çoxsaylı Sahə Dəyərlərinin ötürülməsi

Bir cədvəldən digərinə məlumatların sadə ötürülməsindən çox olan daha mürəkkəb sahə köçürmələri etməlisinizsə, bunu tək bir cədvəldə görülən sahə hesablamalarına bənzər koddan istifadə edərək edə bilərsiniz. Birinci cədvəl daxilində hamısı əvəzinə ümumi birləşmə dəyərləri olan iki ayrı cədvəl arasında aparılmış ikinci sahə hesablama nümunəmin 3 sahə yeniləməsi.

Birləşdirilmiş Qoşulma Sahəsini dəyişdirmək üçün Çox Sahəli Python Lüğət Açarının yaradılması:

Qeydləri iki xüsusiyyət sinfi arasında uyğunlaşdıran çox sahəli birləşmə dəyərlərinin işlənməsi, ayrıca sahələrin yeni bir sahəyə birləşdirilməsinə ehtiyac olmadan lüğətlər və imleclərdən istifadə etmək mümkündür. Birləşdirmə hələ də vacibdir, ancaq yaddaşda dərhal işlənə bilər, bu sahəni hesablamaqdan daha sürətli. Aşağıda tək sahə ötürülməsi nümunəsi göstərilir, lakin bu dəfə xüsusiyyət sinifləri arasındakı qeydləri uyğunlaşdırmaq üçün istifadə olunan xüsusiyyət sinifləri arasındakı unikal dəyərləri təyin etmək üçün 3 ayrı sahədən istifadə edərək qeydləri uyğunlaşdırırıq.

Da SearchCursors istifadə edərək hazırlanmış bir neçə Python lüğətlərinin eyni vaxtda işlənməsi ilə ardıcıl qatılanların dəyişdirilməsi

Cədvəllər arasında məlumat manipulyasiyası etmək üçün bir neçə birləşmə yaradılmalı və sökülməli olduqda, sürət qazancları daha da artırıla bilər, çünki bir neçə lüğət yarada və sonra yeniləmə kursorunun tək bir keçidi zamanı bütün qoşulma münasibətlərini eyni vaxtda işləyə bilərsiniz. yenilənmiş xüsusiyyət sinfi. Bu fayda əldə etmək üçün yeniləmə imlecini işlətmədən əvvəl bütün mənb cədvəllər lüğətlərə oxunmalıdır. Bu şəkildə nə qədər çox qoşulma edə bilsəniz, skript sürətiniz bir o qədər yaxşılaşacaqdır.

Aşağıda normal olaraq yenilənmiş xüsusiyyət sinfinə qoşulan iki xüsusiyyət sinifinin lüğətlərlə əvəz olunduğu və eyni vaxtda tək bir UpdateCursor əməliyyatı ilə işlənildiyi bir nümunə verilmişdir.

Xülasə Statistikası Çıxış Cədvəlini dəyişdirmək üçün da SearchCursor istifadə edərək hazırlanmış Python lüğətindən istifadə

Digər bir ümumi ehtiyac, bir sahənin və ya birdən çox qeydləri əhatə edən sahələrin unikal dəyərləri üçün bir xüsusiyyət sinifinin xülasəsini yaratmaqdır. Bunu həyata keçirmək üçün Python Dictionary bir Xülasə Cədvəli çıxışı əvəzinə istifadə edilə bilər. Faydası, nəticənin yaddaşda saxlanılması və həqiqi bir xülasə cədvəlini çıxarmaqdan daha sürətli yaratmaqdır. Aşağıda xülasə lüğəti yaratmaq və mənbə cədvəlini həmin sahəyə uyğun cəm dəyərləri ilə yeniləmək və xülasəni quran hər bir qeyd üçün mənbə cədvəlində faiz sahəsi yaratmaq üçün istifadə edən bir nümunə var.

Nümunələr başa düşüldükdən sonra yeniləmə kursorunu və ya piton lüğətini istifadə edərək Sahə Kalkulyatoru, Birləşdir və ya Xülasə cədvəli ilə edə biləcəyiniz hər şeyi praktik olaraq etmək mümkündür. Bu kodlaşdırma üsullarından istifadə edərək kütləvi Məlumat manipulyasiyaları edən bir neçə skripti yenidən yaza bildim, belə ki hər birinə bir saatdan çox vaxt sərf etmək əvəzinə, işləmək yalnız 3 ilə 10 dəqiqə çəkir. Bu kimi kodu istifadə edərək əvəz edə biləcəyiniz bu əməliyyatlardan nə qədər çoxu, işləmə müddətində bir o qədər qənaət əldə edəcəksiniz. Performans qazancları, böyük bir gözləmə olmadan və ya işdən sonrakı iş vaxtınızın böyük hissələrini istehlak etmədən məlumatları güncel saxlamağa imkan verən çox böyük ola bilər. İndekslər və sahə əlaqələri əlavə etmək üçün mənbə məlumat şemasını dəyişdirə bilmədiyiniz zaman ortaya çıxan problemləri həll edir və məlumatların surətlərini çıxarmaq praktik deyil.

nümunə kodunda hər hansı bir səhv aşkar etsəniz, xahiş edirəm mənə bildirin və düzəlişə işarə etmək üçün bu bloqa bir yeniləmə göndərəcəyəm. Nə olduğunu başa düşməyiniz üçün koda əlavə edilmiş daha çox şərhə ehtiyacınız varsa, mənə bildirin və kodu daha tam şərh etməyə çalışacağam. Bu kod nümunələri shapefiles, fayl geodatabase xüsusiyyət sinifləri və dəyişdirilməmiş SDE xüsusiyyət sinifləri üzərində işləmək üçün hazırlanmışdır. Sürətli SDE xüsusiyyət sinifləri ilə işləmələri üçün əlavə kod dəyişiklikləri tələb olunur.

Bu üsulların faydalılığını ilk dəfə Forum vasitəsi ilə mənə nümayiş etdirən və bunları necə tətbiq edəcəyimi başa düşməyimə kömək edən Chris Synder-ə təşəkkürümü bildirmək istəyirəm.

DanPatterson_Re tərəfindən yorğun

Yaxşı iş Richard. siniflərim üçün qeyd edildi

tərəfindən RichardFairhurs t

Kod nümunələrimdə bir səhv tapdım. Bir sətri Title Case-ə çevirməyə çalışdığım yerdə sintaksis belə olmamalı idi:

updateRow [5] = Başlıq (updateRow [5])

updateRow [5] = updateRow [5] .title ()

Qeyd: Orijinal Blog yazısı düzəldildi.

Bunun üçün təşəkkür edirəm, Richard - çox faydalıdır.

Bu sətirdəki məntiqi mənim üçün yıxmaq istərdinizmi? Komponentlərin hər birinin nə etdiyini bilmək istərdim:

tərəfindən RichardFairhurs t

Bu yaxşı bir sualdır və bu kod sətrini izah etməyə çalışmaq, bəlkə də gələcəkdə də onu başa düşməyimə və istifadə etməyimə kömək edəcəkdir.

Soldan sağa ayırmaq üçün çalışacağam.

1. Son lüğət dəyişəninə atama (bu açıq olmalıdır, amma mütləq vacibdir)

2. Açılış qıvrım mötərizəsi (və sonda bağlanma qıvrım mötərizəsi) hər şeyi lüğətin bir hissəsi edir. Buruq mötərizələrin içərisində qalan hər şey sonda cədvəldən oxunan Açar / Dəyər cütlərini çıxarmaq üçün nəzərdə tutulub ki, bu da sonrakı lüğət axtarış proseslərində istifadə ediləcəkdir.

3. r, masanızda açılan bir imlecdən oxunan bir sıra deməkdir. r [0] sətrin ilk (sıfır əsaslı) elementini oxuyur, bu da oxunan hər sətirdə ilk sahədən alınan dəyərdir. R [0] -dən sonra iki nöqtə, bu dəyərin sonrakı lüğət axtarışlarında istifadə olunan lüğət açarı olacağı deməkdir.

4: İki nöqtədən sonra lüğət düyməsi ilə əlaqəli lüğət dəyəri var.Bu, mötərizə cütünün içərisinə düşən hər şey ilə müəyyən edilir, bunlar toplu və ya tək bir dəyər kimi qəbul edilə bilən dəyərlər toplusudur. Lüğət açar / dəyər cütləri iki nöqtədən sonra tək bir dəyər istifadə etməklə məhdudlaşır, ancaq bir dəyər kimi ötürülə bildikləri müddətdə topl və ya siyahı kimi koleksiyonları əhatə edir.

5. Mötərizədəki r [1:], siyahı və ya siyahı kolleksiyası içərisində ayrı maddələr kimi oxunan kursor sahələrinin qalan hissəsindəki bütün sahə dəyərlərini çıxaran bir siyahı anlama hissəsidir. [1:] sahə siyahısındakı ikinci sahənin dəyəri ilə başlamaq və sahə siyahısındakı son sahə oxunana qədər gələn hər sahədən dəyər əlavə etməyə davam etmək deməkdir.

6 "for r in" bir imlecin hər sətrində təkrarlanan bir siyahı anlama hissəsidir.

7. Siyahını başa düşməyin son hissəsi lüğətin son qıvrım mötərizəsindən əvvəl baş verir. Bu kod, göstərilən cədvəldə (sourceFC) cədvəldəki satırları oxumaq üçün istifadə olunan axtarış imlecini açır. Kursor yuxarıdakı 6-cı bənddə təkrarlayıcı tərəfindən hər dəfə bir sıra oxunacaq və hər sətirdə verilən sahələr siyahısında göstərilən sahələrin dəyərləri (sourceFieldsList) olacaqdır.

Yuxarıdakı quruluş yaxşıdır ki, hər sətir həmişə bənzərsiz bir lüğət açarı ilə nəticələnəcəkdir. Birdən çox sətir eyni lüğət açar dəyərini ehtiva edə bilsə, adətən bir kursoru aşağıda göstərilənə bənzər lüğətə oxumaq üçün bir quruluşdan istifadə etməlisiniz (bu naxışda bir çox mümkün dəyişiklik var, buna görə bu yalnız bir nümunədir) :

  1. # Bu dəyərin cəmi və qeydlərin sayını saxlayan bir sahənin unikal açar dəyərləri ilə da da SearchCursor-dan xülasə lüğət yaradın.
  2. valueDict = <>
  3. arcpy.da.SearchCursor ilə (sourceFC, sourceFieldsList) searchRows kimi:
  4. searchRowdakı searchRow üçün:
  5. keyValue = searchRow [0]
  6. deyilsə keyDalətdəki dəyərDict:
  7. # ilk keyField dəyərinin və ilk qeyd sayğacının dəyəri üçün 1-in siyahısını saxlayaraq lüğətə yeni bir keyValue girişini təyin edin
  8. valueDict [keyValue] = [searchRow [1], 1]
  9. # NumberField dəyərinin son xülasəsini cari qeydlə cəmləşdirin və keyvalue artıq lüğətdə olduqda qeyd sayını artırın
  10. başqa:
  11. valueDict [keyValue] [0] + = searchRow [1]
  12. valueDict [keyValue] [1] + = 1

Mükəmməl izahat - təşəkkürlər Richard!

Bu məlumatlar çox faydalı oldu, təşəkkür edirəm Richard.

İştirak edən bir Qeydiyyat Sahəsini əvəz etdim

Artıq 6 saniyədə tamamlanan arcpy.da.TableToNumPyArray və arcpy.da.ExtendTable ilə 40 dəqiqə.

Görəsən niyə standart alətlər bu daha sürətli işləyən modulla tətbiq olunmur?

Bu, indiyə qədər tapdığım ən faydalı Python veb səhifələrindən biri oldu. Burada nümayiş etdirilən texnika yalnız alternativlərdən daha sürətli qaçmaqla deyil, həm də yazmalı olduğum kodun miqdarını geri almaqla vaxta qənaət edir. Təşəkkürlər!

tərəfindən RichardFairhurs t

Bu texnikaya görə təşəkkürlərinizi bölüşmək üçün vaxt ayırdığınız üçün təşəkkür edirik. Bu Blogdakı nümunələr, texnikanın vacibliyini vurğulamaq üçün qəsdən sadə saxlanılır.

Texnikanın necə tətbiq oluna biləcəyinə dair daha inkişaf etmiş bir nümunə üçün arcpy-yə cavab olaraq hazırladığım kodu yoxlayın - Yerləşmiş axtarış imleclərinin performansını necə artırmaq olar? - Coğrafi İnformasiya Sistemləri Yığıcı. . Bu yazıdakı kod aşağıdakıları göstərir:

1) çox səviyyəli bir əlaqəli ağac yaradan bir cədvəl dəsti ilə işləyərkən lüğətlərdən necə istifadə ediləcəyi,

2) lüğətlə (siyahı) metodundan istifadə edərək açarla əlaqəli çoxsaylı məlumat qeydlərini özündə cəmləşdirən siyahıların lüğət dəyərinin siyahısı ilə lüğət düyməsini səmərəli şəkildə doldurmaq üçün

3) matçlar üçün lüğət düymələrini işləyərkən siyahı dəyərlərinin siyahısına necə daxil olmaq və

4) bir çox sahəli kompozit lüğət açarı rolunu oynayacaq bir qapı yaratmaq və istifadə qaydaları.

"Birləşdirilmiş birləşdirmə sahəsini dəyişdirmək üçün bir çox sahəli Python lüğət açarı yaratmaq:" məsələsini istifadə etməkdə çətinlik çəkirəm.

Mənbə / yeniləmə xüsusiyyət sinifləri və sahə ilə əvəz etdim, ancaq skripti çalıştırdığımda səhv mesajı alıram:

Təhlil xətası Sintaksis Xətası: etibarsız sintaksis (sətir 23)

Kod xəttində problemin nə olduğunu ayırd edə bilmirəm.

vaxtdan idxal

çap "Start script:" + strftime ("% Y-% m-% d% H:% M:% S")

sourceFieldsList = ["WPP_TYPE", "MATERIAL", "DIAMETER", "Unit_Rate"]

# Əsas dəyərlərin 3 ayrı feild-ə əsaslandığı da da SearchCursor-dan lüğət yaratmaq üçün siyahı anlama istifadə edin
valueDict =

updateFieldsList = ["Varlıq_Tipi", "EXTG_Material", "Çap", "Repl_Cost"]

arcpy.da.UpdateCursor ilə (updateFC, updateFieldsList) updateRows kimi:
updateRows üçün updateRows üçün:
# keyValue dəyişənində yenilənən sətirin 3 sahə dəyərini birləşdirərək Qoşulma dəyərini saxlayın
keyValue = updateRow [0] + "," + str (updateRow [1]) + "," + str (updateRow [2]
# keyValue-nun Lüğətdə olduğunu yoxlayın
əgər keyValue in valueDict:
# açar dəyər altında saxlanılan dəyəri lüğətdən yenilənmiş sahəyə köçürün.
updateRow [3] = valueDict [keyValue] [0]
updateRows.updateRow (updateRow)

çap "Bitmiş skript:" + strftime ("% Y-% m-% d% H:% M:% S")

tərəfindən NeilAyres

Birincisi, kodu daha düzgün oxumaq üçün düzgün şəkildə formatlaşdırsanız kömək olardı.

tərəfindən NeilAyres

Ancaq səhvin burada olduğunu düşünürdüm:

<> İçərisində bir lüğət yaradacaq kimi görünmür.

Lüğətlər açar: dəyər cütləri ilə doldurulur.

Yenidən baxaraq asın.

Ancaq niyə bunu 2 addımda etmirsiniz, OID-i açar kimi istifadə edin, bütün digər məlumatları bir dəyər siyahısına daxil edin.

Sonra yeni birləşdirilmiş dəyəri hesablayın.

Bunun sizin probleminiz olub-olmadığına əmin deyiləm, ancaq bu sətrin sonunda bağlanma mötərizəsini itirdiniz:

keyValue = updateRow [0] + "," + str (updateRow [1]) + "," + str (updateRow [2]

tərəfindən RichardFairhurs t

İlk sahəni lüğət qurarkən etdiyiniz kimi bir simli etməyə çalışın. Beləliklə dəyişdirin:

Son str () metodu üçün həmin sətirdə son mötərizəni də əlavə edin.

Riçardı tutduğunuz üçün təşəkkür edirəm, python kodunun nə qədər sürətli işlədiyinə heyran qaldım.

tərəfindən RichardFairhurs t

İşlədiyini eşitdiyim üçün sevindim. İndi bilirsiniz ki, Blogun başlığına niyə "Turbo Charging" yazdım.

Esri, Qoşulma vasitəsinin performansını yaxşılaşdırmaq üzərində işləyirsə, şərh verə bilərmi?

Sahə adlarını sərt kodlamadan bir lüğət ilə daxil etmə imleci metodundan istifadə ilə bağlı hər hansı bir tövsiyə varmı?

tərəfindən RichardFairhurs t

Bir lüğətin istinad etdiyiniz ikinci yazıdan kodun işini yaxşılaşdıracağından əmin deyiləm. Bu yazıda mövcud bir sıra ilə uyğunlaşmağa çalışmırsınız. Hər satırdakı məlumatları heç bir şeyə uyğunlaşdırmadan ötürürsünüz. Beləliklə, lüğətin təsadüfi giriş qabiliyyəti istifadə olunmur və bir lüğət əlavə edərək təklif olunan koddan heç bir addım ata bilməzsiniz.

Geodatabase OID, sahə və uzunluq sahələrinə daxil olmaqdan çəkinməyiniz lazım olduğunu söyləyən şərhlə razıyam. Sahəniz varsa bir GlobalID sahəsinə də əlavə etməzdim. Bir sahənin tənzimlənə biləcəyinə dair bir yoxlama da var. SDE cəlb edilərsə, bir tənzimləmə sessiyasına başlamaq və dayandırmaq üçün daha çox kod tələb olunur və performans azalacaq.

Bəs sualınızın son məqsədi nədir? Bir vasitədir? Əgər belədirsə, bu Bloqdakı Çox Sahədən Tək Sahəyə alətinə daxil olan Əlavə et alətinə alternativimi nəzərdən keçirin. Düzenlenemeyen sahələr məsələsi ilə məşğul olur və qeydlərin bir fərdi sinifdən bağımsız bir cədvələ və eyni həndəsə tipli xüsusiyyətlər sinifləri arasında iki müstəqil masa arasında köçürülməsinə imkan verir. Bununla birlikdə, SDE ilə uyğunlaşdırdığımı və ya etmədiyimi xatırlaya bilmirəm. Elədiyimi düşünürəm, amma mənə bildirməyin. Kodu heç vaxt həndəsi bir şəbəkə ilə sınamamışam. Bunları ilk növbədə sadə xüsusiyyət sinifləri və fayl geodatabases üçün optimallaşdırdım.

Bu çox yaxşı işləyir, lakin versiya bazasında çox sayda düzəliş edilməsi ilə əlaqədar bir problemim var və bir müddət sonra uğursuz olur. autocommit əlavə etməyə çalışdım, lakin döngədə işləmir. Düzgün yazdığımdan da əmin deyiləm.

idxal arceditor
arcpy idxal edin
vaxtdan idxal

çap "Start script:" + strftime ("% Y-% m-% d% H:% M:% S")

sourceFieldsList = ["BI_SRV_MAP_LOC", "SRVADDR1", "SRVADDR2", "SRVST", "SRVCITY", "SRVZIP", "BUSINESS", "HOME", "BICUST", "MOBILE", "BI_FORMAT_NAME", "BI_FORMAT_NAME", " , "BI_KEY_CUST_CD", "BI_ROUTE_CD", "BI_OUT_PRI_CD", "BI_MED_NEC_CD", "BI_SRV_LOC", "BI_AR_STAT", "BI_ACCT", "BI_MTR_PHS", "BI_TRF_NBR", "BI_M_N"

edit = arcpy.da.Editor (arcpy.env.workspace)
edit.startEditing (Doğru, Doğru)
edit.startOperation ()

# Da da SearchCursor-dan lüğət yaratmaq üçün siyahı anlama istifadə edin
valueDict =

updateFieldsList = ["SERVICE_MAP_LOCATION", "SERVICE_ADDRESS", "SERVICE_ADDRESS2", "STATE", "CITY", "Zip", "BusinessPhone", "PrimaryPhone", "CustID", "MobilePhone", "NAME", "MISC_CHAR_1" , "KeyAccount", "MISC_CHAR_2", "OutagePriority", "MEDALERT", "Service_Number", "SERVICE_STATUS", "Account_Number", "CISPhase", "TRANSFORMER_ID", "MeterNumber"]

arcpy.da.UpdateCursor ilə (updateFC, updateFieldsList) updateRows kimi:
updateRows üçün updateRows üçün:
# keyValue dəyişənində güncəllənən sətrin Qoşulma dəyərini saxlayın
keyValue = updateRow [0]
# keyValue-nun Lüğətdə olduğunu yoxlayın
çap düyməsini dəyişdirin
əgər keyValue in valueDict:
# açar dəyər altında saxlanılan dəyərləri lüğətdən yenilənmiş sahələrə köçürün.
aralığında n üçün (1, len (sourceFieldsList)):
updateRow = valueDict [keyValue] [n-1]
updateRows.updateRow (updateRow)

del valueDict
arcpy.DeleteManagement ("test")
edit.stopOperation ()
çap "düzəlişlər tamamlandı"

# Düzəliş sessiyasını dayandırın və dəyişiklikləri qeyd edin
edit.stopEditing (True)
çap "Bitmiş skript:" + strftime ("% Y-% m-% d% H:% M:% S")
çap "Bitmiş skript:" + strftime ("% Y-% m-% d% H:% M:% S")

Hər hansı bir rəhbərlik təşəkkür edirik!

tərəfindən RichardFairhurs t

Heç bir şey dəyişməsə də, hər bir qeydə yazmaq üçün kodunuzu yazdınız. Yalnız dəyərinin dəyişdiyi qeydlərə yazmaq üçün qeydləri müqayisə etmək və yalnız fərqli olanlara yazmaq üçün bir cümləsi əlavə etmək lazımdır. Burada verilən sadə nümunələr yalnız əsas konsepsiyanı göstərmək üçündür, proqram axını və məntiqini düzəltməklə əldə edilə bilən effektlərin hamısını əks etdirmir.

Budur öz ehtiyaclarım üçün yazdığım bir proqramın yalnız mənbə cədvəlinə uyğun gəlmədiyi zaman yeniləmə cədvəlindəki qeydləri yeniləyəcək bir hissəsi. Bu nümunədə tikilmiş lüğət, boşluq işarələrini mənbə cədvəlindən kəsir, çünki yeniləmə cədvəlində boşluq boşluğu yoxdur, lakin mənbə cədvəlində boşluq dolğusu var:

Çox sağ olun, axtardığım budur. Mən bir cəhd verəcəyəm.

apnDict-i izah edə bilərsiniz.

tərəfindən RichardFairhurs t

O sətri sildim. Bu kod, bir neçə digər alt proqrama sahib olan daha uzun bir skriptdən düzəliş edilmiş bir çıxarışdır. Bu səsi qaçırdım və kodu göndərməzdən əvvəl silməli idim, çünki sizə lazım olan kodla əlaqəli deyil.

Təşəkkür edirəm ssenari işləyəcək, amma yenə də hər qeyddə işləyir və dəyişiklik edir. Özümü çox yaxın hiss edirəm. keyvalue (yenilənmiş xüsusiyyət) valueDict (mənbə xüsusiyyəti) ilə müqayisə edildiyini görürəm. Bu hissənin ətrafında olduğumu hiss edirəm

əgər list (valueDict [keyValue]) & lt & gt updateRow [1:22]:
# Poçt ünvanı, sahib adları və ya hər ikisində bir dəyişiklik edildi
changeCnt + = 1

idxal arceditor
arcpy idxal edin
vaxtdan idxal

serviceFC = arcpy.MakeFeatureLayer_management ("E: arcgisserver Resources Connections GIS_SCRIPTINGVS.sde . DBO.ELECTRIC . DBO.ServicePoint", "test", "LINE_SECTION = 'PRIUG6819'", " "," OBJECTID OBJECTID görünən NONEAncillaryRole AncillaryRole görünən NONEEnabled Effektiv görünən NONESubtypeCD SubtypeCD görünən NONEAccount_Number Account_Number görünən NONESERVICE_MAP_LOCATION SERVICE_MAP_LOCATION görünən NONEMeterNumber MeterNumber görünən NONETRANSFORMER_ID TRANSFORMER_ID görünən NONEMAP_NO MAP_NO görünən NONELINE_SECTION LINE_SECTION görünən NONESUBSTATION YARIMSTANSİYANIN görünən NONEFEEDER_NUMBER FEEDER_NUMBER görünən NONESERVICE_STATUS SERVICE_STATUS görünən NONEService_Number Service_Number görünən NONECC_Number CC_Number görünən NONENAME NAME VISIBLE NONESERVICE_ADDRESS SERVICE_ADDRESS VISIBLE NONESERVICE_ADDRESS2 SERVICE_ADDRESS2 MISIBLE NONECITY CITY GÖRÜNTÜLÜ DEYİL DÖVLƏT VISIBLE NONEDESCRIPTION DESCRIPTION VISIBLE NONLEDONLANDIĞDIRDI tionDate görünən NONEComments görünən NONELoadManagement LoadManagement görünən NONEMISC_CHAR_1 MISC_CHAR_1 görünən NONEMISC_CHAR_2 MISC_CHAR_2 görünən NONEOutagePriority OutagePriority görünən NONEZip görünən NONEDetail Ətraflı görünən görünən NONEKeyAccount KeyAccount görünən NONELongitude Boylam görünən NONELatitude Enlem görünən NONETownship Township görünən NONESection_ Section_ görünən NONET_S T_S görünən NONEcreated_user created_user görünən NONEcreated_date CREATED_DATE Poçt ServiceCurrentRating görünən NONEServiceCurrentRating Şərhlər NONECoopNumb CoopNumb görünən NONElast_edited_user last_edited_user görünən NONElast_edited_date last_edited_date görünən NONEGlobalID GlobalID görünən NONECustomerID MüşteriNo görünən NONEStationGuid StationGuid görünən NONEphaseCode phaseCode görünən NONEADD3 ADD3 görünən NONEACCTBASE ACCTBASE görünən NONEPrimaryPhone PrimaryPhone görünən NONEBusinessPhone BusinessPhone görünən NONEMobilePhone Mobilephone görünən NONECustID Müştərilər üçün Kimlik No görünən NONECISPhase CISPhase GÖRÜNƏN NONEMEDALERT MEDALERT GÖRÜNƏN HESABLANMAYAN ŞƏKİL GÖRÜNƏN YOX ")

çap "Start script:" + strftime ("% Y-% m-% d% H:% M:% S")

sourceFieldsList = ["BI_SRV_MAP_LOC", "SRVADDR1", "SRVADDR2", "SRVST", "SRVCITY", "SRVZIP", "BUSINESS", "HOME", "BICUST", "MOBILE", "BI_FORMAT_NAME", "BI_FORMAT_NAME", " , "BI_KEY_CUST_CD", "BI_ROUTE_CD", "BI_OUT_PRI_CD", "BI_MED_NEC_CD", "BI_SRV_LOC", "BI_AR_STAT", "BI_ACCT", "BI_MTR_PHS", "BI_TRF_NBR", "BI_M_N"

updateFieldsList = ["SERVICE_MAP_LOCATION", "SERVICE_ADDRESS", "SERVICE_ADDRESS2", "STATE", "CITY", "Zip", "BusinessPhone", "PrimaryPhone", "CustID", "MobilePhone", "NAME", "MISC_CHAR_1" , "KeyAccount", "MISC_CHAR_2", "OutagePriority", "MEDALERT", "Service_Number", "SERVICE_STATUS", "Account_Number", "CISPhase", "TRANSFORMER_ID", "MeterNumber"]


UpdateCursor 'müəyyən edilməyib' Python - Coğrafi İnformasiya Sistemləri

Yığın məlumat strukturu əsasən prioritet növbəni təmsil etmək üçün istifadə olunur. Python'da, & # 8220 istifadə edərək mövcuddurheapq& # 8221 modulu. Pythondakı bu məlumat quruluşunun xüsusiyyəti hər dəfə ən kiçik yığın elementi atıldı (min yığın). Elementlər itələdikdə və ya atıldıqda, yığın quruluşu saxlanılır. Heap [0] elementi də hər dəfə ən kiçik elementi qaytarır.


Bu məqalə töhfə verir Manjeet Singh. GeeksforGeeks'i sevirsinizsə və töhfə vermək istəsəniz, hisse.geeksforgeeks.org istifadə edərək məqalə də yaza və ya məqalənizi [email protected] ünvanına göndərə bilərsiniz. GeeksforGeeks ana səhifəsində görünən məqalənizə baxın və digər Geekslərə kömək edin.

Xahiş edirəm səhv bir şey tapsanız və ya yuxarıda müzakirə olunan mövzu haqqında daha çox məlumat paylaşmaq istəsəniz şərh yazın.

Diqqət turk! İlə təməllərinizi möhkəmləndirin Python Proqramlaşdırma Fondu Kurs edin və əsasları öyrənin.

Əvvəla, reportaj hazırlıqlarınızla Data Structures anlayışlarınızı artırın Python DS Kurs. Və Maşın Öyrənmə Səyahətinizlə başlamaq üçün Maşın Təlimi & # 8211 Əsas Səviyyə Kursu


Thunderhead Explorer

Data Scientists, məkan məlumatlarını işləyir və təhlil edirsinizsə və Python istifadə edirsinizsə, ArcPy alətlər arsenalınıza daxil edilməli və ArcMap coğrafi məkan vizualizasiyası üçün istifadə edilməlidir. Apache Hive-ni kosmik İstifadəçi Tərifli Funksiyaları (UDF) ilə genişləndirdiyim son yazıdan sonra bu yazıda Python içərisində "genişləndirilmiş" pətəyin istifadəsini və ArcMap və ya hər hansı birində göstərilməsi üçün çıxışı bir xüsusiyyət sinifinə necə yığacağımı göstərəcəyəm. ArcGIS Server istifadə edərək ArcWeb müştəri.

Çalışan bir Hadoop nümunəsini nəzərə alaraq və Hive qurduğunuzu və son yazıda təsvir edildiyi kimi bir Hive masası yaratdığınızı düşünsəniz, Hive Thrift serverini aşağıdakı kimi başladın:

ArcGIS for Desktop bir ana kompüterə quraşdırıldıqda, Python isteğe bağlı olaraq quraşdırılır və GeoProcessing imkanları ilə aktivləşdirilir. Masaüstünüzdə Hive qurun və HIVE_HOME mühit dəyişənini Hive'nin yerləşdiyi yerə təyin edin. Hive python kitabxanalarına daxil olmaq üçün, dəyəri $ HIVE_HOME / lib / py olaraq təyin olunmuş PYTHONPATH mühit dəyişənini ixrac edin.

Arxamızdakı quruluşla, masaüstündə bir çoxbucaqlı xüsusiyyət sinfi və Hadoop Fayl Sistemində saxlanılan və bir pətək cədvəlinə məruz qalan bir sıra nöqtələri nəzərə alaraq sadə bir istifadə vəziyyətini həll edək, Hadoop-da çoxbucaqlı əməliyyatda bir nöqtə yerinə yetirmək istəyirəm. və qaytarma nəticələri ilə yerli xüsusiyyət sinfi çoxbucaqlı atributlarını yeniləyin.

Budur Python ssenarisi:

arcpy idxal edin
idxal sys

arcpy idxal env

hive_service idxal ThriftHive
hive_service.ttypes-dən HiveServerException idxal edir
qənaət idxalından qənaət
thrift.transport idxal TSocket
thrift.transport idxal TTransport
thrift.protocol idxal TBinaryProtocol

env.overwriteOutput = Doğru

cəhd edin:
nəqliyyat = TSocket.TSocket ('localhost', 10000)
nəqliyyat = TTransport.TBufferedTransport (nəqliyyat)
protokol = TBinaryProtocol.TBinaryProtocol (nəqliyyat)
müştəri = ThriftHive.Client (protokol)
transport.open ()

client.execute ("faylı ölkələrə əlavə edin .shp")
client.execute ("faylı ölkələrə əlavə edin .shx")
client.execute ("jar GeomX.jar əlavə et")
client.execute ("'com.esri.GenericUDFPip' olaraq müvəqqəti funksiya pipi yaradın")

client.execute ("" "
fid olaraq t.p seçin, val kimi sayın (t.p)
(şəhərlərdən p olaraq pip (x, y, '. / countries.shp') seçin) t
burada p! = - 1 qrup t.p
""")
satır = client.fetchAll ()
transport.close ()

keyval = dict ()

satır sırası üçün:
ayələr = row.split ()
key = int (jetonlar [0])
val = int (jetonlar [1])
keyval [key] = val
del sıra
sətirlər

satır = arcpy.UpdateCursor ("countries.shp")
satır sırası üçün:
key = sıra.FID
əgər keyval düyməsidir:
sıra.HADOOP = keyval [key]
rows.updateRow (sıra)
del sıra
sətirlər

Thrift.TException istisna olmaqla, tx:
çap '% s'% (tx.message)

Ssenari Thrift Hive müştərisini və ArcPy kitabxanasını idxal edir. Daha sonra localhostdakı Thrift Hive serverinə qoşulur və bir sıra quraşdırma əməliyyatları həyata keçirir. İlk ikisi ölkələrin şekillendirme həndəsi və məkan indeksi sənədlərini paylanmış önbelleğe əlavə edir. Növbəti quraşdırma, məkan UDF funksiyalarını ehtiva edən jar faylını əlavə edir. Son quraşdırma, yüklənmiş qabdakı sinifə istinad edərək pip funksiyasını təyin edir.Seçim ifadəsi, ölkə identifikatorunu və hansı ölkənin nöqtəsinin hansı ölkənin çoxbucağına düşdüyünü təyin etmək üçün boru funksiyasından istifadə edən bir yuva seçiminə əsasən, bu ölkədəki şəhərlərin sayını almaq üçün icra olunur. Pip nəticəsi tapılmadıqda və son qrup sayından çıxarıldığı təqdirdə -1 dəyəri olan bir fid qaytarılır. FetchAll funksiyası, hər bir mətn elementinin bir fid dəyərinin ardından bir nişanın ardından bir sayma dəyərinin olduğu bir mətn elementlərinin siyahısını qaytarır. Lüğətə açar sözün fid olduğu və dəyərin sayıldığı siyahını işarələməklə bir lüğət doldurulur. Yerli ölkələrin xüsusiyyət sinifində bir arcpy yeniləmə kursoru açılır və bir sıra iteratoru icra olunur. hər sətir üçün FID dəyəri alınır və lüğət düyməsi kimi olub olmadığını yoxlayır. Tapılsa, HADOOP atributu sahəsi lüğət dəyəri ilə yenilənir.

Müvəffəqiyyətli bir icra edildikdən sonra (və unutmayın ki, Hive bir toplu iş olduğu üçün bu biraz vaxt ala bilər), ArcMap'ı açın, bu xüsusiyyət sinifini yükləyin və HADOOP sahə dəyərlərinə əsaslanan bir sinif fasiləsi seçicisi ilə simvollaşdırın.

Çox sərin, yox? Bu, BigData vasitəsi ilə Python istifadə edən bir GIS alətinin evliliyinin çox sadə bir nümunəsidir. Eyni düşüncə prosesində bu alətlər birləşməsindən istifadə edilərək daha çox şey edilə bilər. Daha çox arcpy istifadəsi ilə eyni damar boyunca daha çox yazı gözləyin. Sadəcə ağlınıza kiçik bir toxum əkmək istəyirdim.

Yeniləyin: Bu, Hive'dəki hər ölkədəki şəhərlərin ortalama lat / lon dəyərlərini və bir nöqtə xüsusiyyət sinfi yaratmaq üçün istifadə edilən nəticəni hesablayan başqa bir nümunədir:


Mdhntd

Kaliforniyada kiminsə pasportunu və yaşıl kartını tutmaq qanunsuzdur?

Trolların daşa çevrilməsinin bütün halları nəticədə Tolkien-ə istinad edirmi?

Yuvarlanan topun bu mərkəzi trayektoriyası necə çəkilir?

Buna bükülmüş bir silindr necə modelləşdirilir

Array başlatma optimallaşdırması

Dərəcələrdəki tarixlər məna vermir & # 8211 insanlar maraqlanmayacaq?

Bir ayın orbitə çıxa biləcəyi bir planetdən maksimum məsafə varmı?

İngiltərə ilə AB arasında gələcək danışıqların mümkün olduğuna dair hər hansı bir işarə varmı?

"Busen" yalnız döşlər arasındakı ərazidir?

"Sənaye ethernet" nədir?

Bütün partiyaya əlavə etmədən əvvəl niyə qatıq başlanğıcını az miqdarda südlə qarışdırmaq tövsiyə olunur?

Niyə çarpaz çarpaz bir şəkildə sıxın?

Python'da JSON seçici sinfi

Niyə yüksək səviyyəli kameralarda da normal olaraq normal (çapraz tipli) AF sensorları mövcuddur?

Əlinizdə olan metadonla səyahətin hüquqi statusu nədir?

Bir Sözdə Bütün Mümkün Unikal Məktubları Birləşdirin

NSE Sayısal IQ Testi 12: 759802, 358829, 847123 ,?

Məzun olduqdan sonra doktorantın tələblərinə dair hər hansı bir öhdəliyim varmı?

Səsin C faktorunu tapın

401k-ı tələbə kreditlərimdən üstün tutmalıyam?

İnsanları x və y oxu ilə birlikdə çəkmək

1 milyard insanı sonsuza qədər qəbul etmək üçün bir mega quruluş nə qədər böyük olmalıdır?

Yuxarıda göstərilən QGIS3 məlumatları aktiv deyil

QGIS-də bir vektor qatını qgsAffine (və ya başqa bir metodla) ilə döndərmək? Verilənlər müəyyənləşdirilmiş parametrlər aktiv olsa da, etiketlər köçürülə bilməz. QGIS-də məlumatların alt hissəsini bağlamaq? QGIS 2.12.1 - & # 8222data müəyyən edilmiş ləğv etmək & # 8220 Düyməsində Ölçü köməkçisi ilə problem QGIS verilərində müəyyən edilmiş ləğv edilmiş ifadə redaktorunda sətir düyünlərinin pointeval () ifadəsinə vurulması zamanı səhv gözlənilməz nəticələr verir & Verilənlər ilə təyin olunmayan & # 8221 etiket xassələri SAGA GIS-də istifadə üçün SRTM (hgt) hazırlanır? Görünürlük / mövzunu qlobal olaraq idarə etmək üçün xüsusi bir vasitə varmı? QGIS-də? & # 8220Data definition override & # 8221 ilə təyin olunmuş svg markerlərdən istifadə edərkən QGIS qat panelindəki sual işarələri (& # 8220? & # 8221)

QGIS 3.4 MADEIRA-da heç bir aktiv "məlumat müəyyənləşdirilmiş ləğv etmirəm", funksiya ilə dəyişdirmək istədiyim "Ölçü" düyməsini sağa vururam. "Məlumatı ləğv et" sözləri solğun boz və kursivdir və "təsvir" ə tıkladıqda bunu əldə edirəm

Güman edirəm ki, bunu bir yerdə aktivləşdirməliyəm, amma harada tapmaq uğursuz oldu.
Təşəkkürlər

QGIS 3.4 MADEIRA-da heç bir aktiv "məlumat müəyyənləşdirilmiş ləğv etmirəm", funksiya ilə dəyişdirmək istədiyim "Ölçü" düyməsini sağa vururam. "Məlumatı ləğv et" sözləri solğun boz və kursivdir və "təsvir" ə tıkladıqda bunu əldə edirəm

Güman edirəm ki, bunu bir yerdə aktivləşdirməliyəm, amma harada tapmaq uğursuz oldu.
Təşəkkürlər

QGIS 3.4 MADEIRA-da heç bir aktiv "məlumat müəyyənləşdirilmiş ləğv etmirəm", funksiya ilə dəyişdirmək istədiyim "Ölçü" düyməsini sağa vururam. "Məlumatı ləğv et" sözləri solğun boz və kursivdir və "təsvir" ə tıkladıqda bunu əldə edirəm

Güman edirəm ki, bunu bir yerdə aktivləşdirməliyəm, amma harada tapmaq uğursuz oldu.
Təşəkkürlər

QGIS 3.4 MADEIRA-da heç bir aktiv "məlumat müəyyənləşdirilmiş ləğv etmirəm", funksiya ilə dəyişdirmək istədiyim "Ölçü" düyməsini sağa vururam. "Məlumatı ləğv et" sözləri solğun boz və kursivdir və "təsvir" ə tıkladıqda bunu əldə edirəm

Güman edirəm ki, bunu bir yerdə aktivləşdirməliyəm, amma harada tapmaq uğursuz oldu.
Təşəkkürlər


Sasquatch Görmə Mənzərələrinin Xəritəçəkmə

Bu seriyada əvvəlki iki məqalə var. Bu təlimatı işləməyə başlamazdan əvvəl bu məqalələrdəki fəaliyyətləri tamamlayın.

Bu seriyadakı ilk məqalədə Sasquatch mənzərələrinin bir məlumat dəstini müəyyənləşdirdik və yüklədik, məlumat bazasını təhlil üçün hazırladıq, bəzi əsas dərəcə rəng xəritələri və xülasə statistikası yaratdıq.

İkinci məqalədə, Məkan Statistikası Alətləri alətlər qutusundan bir neçə vasitə istifadə edərək məkan təhlilini bir addım daha irəli apardıq. Xüsusilə, Ölçmə Coğrafi Dağılımlar alətlər dəstindən verilənlər bazasının mərkəz nöqtəsini və fenomenin dağılma və istiqamətini ölçən bir neçə vasitə istifadə etdik. Bir verilənlər bazasında klasterin olub-olmadığını yoxlamaq üçün Orta Ən Yaxın Qonşu (ANN) alətindən necə istifadə edəcəyimizi də öyrəndik. Veri dəstinin ya qruplaşdırılmasının, ya da dağılmasının mövcudluğunu müəyyənləşdirmək, bu gün araşdırdığımız klaster analiz alətləri üçün bir şərtdir. ANN aləti məlumatlarda təsadüfi bir məkan nümunəsi müəyyənləşdirsəydi, klaster analiz alətlərinə davam etmək mənasız olardı. Bununla birlikdə, ANN aləti, Oregon və Washington üçün Sasquatch görüşlərində bir kümelenmiş bir model təyin etdi.

Bu məqalə, İsti Ləkə Analizi, Optimize Edilmiş İsti Ləkə Analizi və Kümə və Xarici Analiz daxil olmaqla Məkan Statistikası Alətlər qutusunda tapılmış Xəritəçəkmə Kümələri alətlər dəstindən bir neçə aləti araşdıracaq.

Xəritəçəkmə klasterləri alət dəstinə giriş

Xəritəçəkmə Kümeleri alətləri, klasterin yerini dəqiq müəyyənləşdirmək və qrupların yerləşməsinə əsasən hərəkətə ehtiyac olduqda xüsusi vəziyyətlər üçün yaxşıdır. Bu alətlər qrupların yerləşməsini və qrupların coğrafi dərəcəsini görselləşdirmək üçün istifadə edilə bilər. Bəzi suallara cavab verməkdə kömək edirlər: Kümələr haradadır? Hadisələr haradadır? Məkan kənarları haradadır? Hansı xüsusiyyətlər ən çox oxşayır və ya bənzəmir?

İsti Ləkə Analizi (Getis-Ord Gi *) Aləti

Bu gün analizə Hot Spot Analysis (Getis-Ord Gi *) vasitəsi ilə başlayacağıq. Bu alət kifayət qədər mürəkkəbdir və bir az izahat tələb edir, amma isti nöqtə xəritəsinin necə yaradıldığının təfərrüatlarını başa düşməyinizi istərəm, izah edərkən bir neçə bənd üçün mənimlə qalın. Hot Spot Analysis aracı, Getis-Ord Gi * statistikasından istifadə edərək statistik cəhətdən əhəmiyyətli isti nöqtələri və soyuq nöqtələri təyin etmək üçün xüsusiyyətləri və xüsusiyyətlərini araşdırır. Yüksək, aşağı və əhəmiyyətli olmayan dəyərlərin vizual qruplaşdırılmasını təmin edir.

ArcGIS Pro və Mekansal Analiz haqqında ArcGIS Pro və R istifadə edərək Məkan Analizinə giriş.

Bu alət yüksək dəyərlər (isti nöqtələr) və aşağı dəyərlər (soyuq nöqtələr) statistik cəhətdən əhəmiyyətli məkan qruplarını müəyyənləşdirir. Bu yaradır Çıxış xüsusiyyət sinfi içindəki hər bir xüsusiyyət üçün z-skoru, p dəyəri və güvən səviyyəsi qutusu sahəsi (Gi_Bin) ilə Giriş xüsusiyyət sinfi.

Z-skorları və p-dəyərləri, xüsusiyyətlərinə görə sıfır fərziyyəni rədd edib etməməyinizi izah edən statistik əhəmiyyətə malik ölçülərdir. Əslində, yüksək və ya aşağı dəyərlərin müşahidə olunan fəza qruplaşmasının eyni dəyərlərin təsadüfi paylanmasında gözlədiyindən daha aydın olub olmadığını göstərirlər. Z skoru və p dəyəri sahələri hər hansı bir FDR (False Discovery Rate) düzəlişini əks etdirmir.

Gi_Bin sahəsi statistik cəhətdən əhəmiyyətli isti və soyuq nöqtələri müəyyənləşdirir. +/- 3 qutulardakı xüsusiyyətlər, statistik əhəmiyyəti yüzdə 99 inam səviyyəsi xüsusiyyətləri ilə əks etdirir +/- 2 konteynerlərdə yüzdə 95 etibar səviyyəsini, +/- 1 konteynerlərdə yüzdə 90 etibar səviyyəsini və xüsusiyyətlər üçün qruplaşdırmanı əks etdirir. qutuda 0 statistik baxımdan əhəmiyyətli deyil. FDR düzəlişləri olmadan, statistik əhəmiyyət p-dəyəri və z-skoru sahələrinə əsaslanır.

Təhlili aparmaq üçün hər xüsusiyyət üçün bir məhəllə təyin olunur. Bir məhəllənin necə təyin olunduğu, hər bir xüsusiyyətin təyin edilməsi üçün iş sahəsi ilə əlaqəli olaraq araşdırıldığı üçün alət çıxışı üçün çox vacibdir.

Datasdakı hər bir xüsusiyyət analizdə ölçülən bir atribut dəyəridir. Hər xüsusiyyətə bir məhəllə təyin olunur. Bu məhəllə analiz üçün çox vacibdir. Məhəllənin alətin giriş parametrlərinin bir hissəsi kimi necə təyin olunacağına qərar verməlisiniz. Qonşuluq, Məkan Münasibətlərinin Konseptualizasiyası parametri vasitəsi ilə İsti Ləkə Analizi alətində təyin olunur. Sabit məsafə zolağı standartdır, lakin hazırda səkkiz fərqli ehtimal var. Məkan münasibətlərinin konsepsiyalaşdırılması üçün bütün parametr imkanlarını tam təsvir etmək bu məqalənin əhatə dairəsindən kənara çıxdı, ancaq detalları burada oxuya bilərsiniz.

Məhəllənin nə olması barədə yaxşı bir fikriniz yoxdursa, bunun əvəzinə Optimize Edilmiş İsti Ləkə Analizi alətindən istifadə etməyi düşünməlisiniz (bu məqalədə daha sonra araşdırdıq). Növbəti bəndlərdə məhəllə barədə daha ətraflı danışacağıq.

Məhəllə müəyyən edildikdən sonra bütün tədqiqat sahəsi ilə müqayisə olunan məhəllədir. Qonşuluq dəyərləri iş sahəsindən əhəmiyyətli dərəcədə yüksək olarsa, xüsusiyyət isti nöqtə kimi qeyd ediləcəkdir. Əksinə, qonşuluq dəyəri iş sahəsindən əhəmiyyətli dərəcədə aşağıdırsa, xüsusiyyət soyuq bir nöqtə kimi qeyd olunur. Heç bir halda deyilsə, xüsusiyyət Əhəmiyyətli deyil kimi qeyd olunur. Bu proses aşağıdakı qrafiklərdə göstərilmişdir və isti / soyuq nöqtə xəritəsini yaratmaq üçün tədqiqat sahəsindəki hər xüsusiyyət üçün təkrarlanır.

Hər bir xüsusiyyət araşdırılacaq bir atribut dəyərinə malikdir Hər bir xüsusiyyətə məhəllə təyin olunur Məhəllə iş sahəsi ilə müqayisə olunur Hər xüsusiyyət, isti bir nöqtə, soyuq nöqtə olaraq qeyd olunur və ya hər bir xüsusiyyətin qonşuluğunu tədqiqat sahəsi ilə müqayisə edərək əhəmiyyətli deyil

Daha əvvəl də izah edildiyi kimi, məhsul 90, 95 və 99% daxil olmaqla hər bir xüsusiyyət üçün müxtəlif güvən səviyyələrini təyin edir. Bu məlumat Gi_Bin sahəsində çıxış xüsusiyyət sinfi üçün saxlanılır. Xüsusiyyətlər, xüsusiyyəti təsadüfi bir nümunə nümayiş etdirən əhəmiyyətli bir məna olaraq da qeyd edilə bilər.

Alətin bu qədər uzun bir təsviri ilə, əvvəllər Washington və Oregon əyalətlərinə qoşulduğumuz Sasquatch görmə məlumat dəstinə qarşı Hot Spot Analysis alətini işə salaq.

Əvvəlki bir məqalədən xatırlayın ki, Məkan Statistikası alətlər qutusundakı alətlərin əksəriyyəti giriş məsafəsi sinfinin dəqiq məsafə ölçmələrini təmin edən bir koordinat sistemində proqnozlaşdırılmasını tələb edir. WA_OR_Bigfoot xüsusiyyət sinifini Azimuthal Equidistant proyeksiyası ilə təyin olunmuş WA_OR_Bigfoot_Project adlı yeni bir xüsusiyyət sinfinə çıxarmaq üçün ArcGIS Pro bacarıqlarınızdan istifadə edin.

Xəritə Xəritəçəkmə Kümeleri alətlər dəstində tapılan İsti Ləkə Analizi (Getis-Ord Gi *) alətini tapın və açın. Aşağıda göstərildiyi kimi Hot Spot Analizi aləti üçün giriş parametrlərini daxil edin. Join_Count sahəsi, son məqalədəki Mekansal Birləşdirmə vasitəsi ilə təyin olunduğu kimi ilçe başına mənzərə sayını ehtiva edir və məkan münasibətlərinin konsepsiyalaşdırılması üçün & # 8220Contiguity kənarları guşələrini & # 8221 istifadə edəcəyik. Bu, təhlil olunan xüsusiyyətin bir kənarına və ya küncünə toxunan bütün digər bölgələr kimi hər bir mahal üçün qonşuluğu təyin edəcəkdir. Aləti işə salın.

İsti Ləkə Analizi Alət Parametrləri

Çıxış aşağıdakı ekran görüntüsündə göründüyü kimi görünməlidir. İsti nöqtələr Vaşinqtonun mərkəzi və cənub bölgələrində və Oregon'un bəzi şimal bölgələrində təsbit edildi. Soyuq ləkələr əsasən şərqi Vaşinqtonda təsbit edildi.

Sasquatch mənzərələrinin isti nöqtə təhlili

Eyniləşdirmə məqsədi ilə bəzi mahal etiketlərini açmaq istəyə bilərsiniz.

Mərkəzi və cənubi Vaşinqtonda və şimal Oregonda isti nöqtələr təyin olundu

Məkan Münasibətləri Parametrinin Konseptualizasiyası çıxış nöqtəsi xəritəsinə dramatik təsir göstərə bilər. Məsələn, aşağıda göstərilən nöqtə xəritəsi bu parametr üçün Tərs məsafədən kvadrat şəklində istifadə olunaraq hazırlanmışdır.

Tərs məsafədən istifadə edərək isti nöqtə analizi

Bu parametr üçün mütləq doğru və ya yanlış bir dəyər yoxdur, lakin çox vaxt bəzi dəyərlər müəyyən bir verilənlər bazası üçün digərlərindən daha yaxşıdır. Nəticədə suala cavab verməlisiniz və sözügedən verilənlər bazası üçün qonşuluq yaratmağın ən yaxşı yolu nədir? & # 8221 Tədqiq etdiyiniz bəzi məlumat dəstləri olduqca sadə olacaq. Cinayət məlumatları üçün qonşuluq üçün kifayət qədər məhdud bir məkan dərəcəsi ilə nəticələnəcək bir parametr seçmək istəyə bilərsiniz. Eyni şey əmlak satışı kimi bir mövzuya da aiddir. Bununla birlikdə, Sasquatch mənzərələri kimi bir şey öyrənirsinizsə, bu suala həqiqətən yaxşı bir cavab verə bilməyəcəksiniz, buna görə fərqləri görmək üçün yalnız Mekansal Münasibətlər Parametrlərinin Fərqli Konseptuallaşdırılmasına cəhd edə bilərsiniz.

Məkan Münasibətlərin Konseptualizasiyası üçün hansı parametri seçəcəyinizi bilmirsinizsə, Optimize Edilmiş İsti Ləkə Analizi vasitəsini də istifadə edə bilərsiniz.

Optimize edilmiş isti nöqtə analiz vasitəsi

Optimize edilmiş isti nöqtə analizi vasitəsi giriş xüsusiyyət məlumatlarını sorğu-suala çəkir və bu məlumatların xüsusiyyətlərindən istifadə edərək avtomatik olaraq müxtəlif isti nöqtələr parametrlərini təyin edəcəkdir. Daha sonra Hot Spot Analysis aracı məlumatdan əldə edilən xüsusiyyətlərdən istifadə edərək icra olunur.

Məkan münasibətlərinin konseptualizasiyası və digərləri daxil olmaqla müəyyən isti nöqtə parametrlərini təyin etmək ehtiyacını mahiyyətcə aradan qaldırır. Bu alət analitikdən daha az giriş tələb etsə də, məkan əlaqəsi parametrinin (qonşuluq tərifi) konseptləşdirilməsini təyin etmək qabiliyyətindən imtina edirsiniz. Bunun əvəzinə, bu vasitə, məlumatlarınız üçün doğru seçim ola bilən və ya olmaya bilən məkan münasibətlərinin konseptləşdirilməsi üçün avtomatik olaraq Sabit məsafədən istifadə edir.

Məkan münasibətlərinin konseptuallaşdırılması üçün bir parametr seçə bilməməyim səbəbindən əksər hallarda Optimize edilmiş isti nöqtə analizi alətini istifadə etməyi xoşlamasam da, bu vasitə hadisə məlumatlarından (nöqtələrdən) isti nöqtə xəritələri yaratmaq imkanı verir. Cinayət yerləri hadisə məlumatlarına yaxşı bir nümunədir. Cinayət məlumatları ilə cinayətin yeri çox vacibdir, ancaq mütləq hər bir cinayətlə əlaqəli ölçülə bilən bir xüsusiyyətiniz yoxdur. Bu, Sasquatch mənzərələrinə də aiddir. Gəlin bunun necə işlədiyini görək.

Xəritəçəkmə Kümeleri alətlər dəstində olan Optimize Edilmiş İsti Ləkə Analizi alətini tapın və açın. Parametrləri aşağıdakı ekran görüntüsündə göründüyü kimi təyin edin. Bir əvvəlki təlimdə giriş xüsusiyyət qat olaraq yaratdığımız Washington və Oregondan mənzərələrin proqnozlaşdırılan xüsusiyyət xüsusiyyətlərini istifadə edirik. Analiz sahəsini boş buraxa bilərsiniz, çünki bu hadisələrlə əlaqəli hər hansı bir dəyər yox, yalnız fərdi mənzərələrlə maraqlanırıq. Altıbucaqlı şəbəkədəki hadisələri & # 8220Sayır & Hadisə 828 Birləşdirmə Metodu olaraq. Bu, çıxış xüsusiyyət sinifindəki fərdi xüsusiyyətlər üçün altıbucaqlar yaradacaqdır. WA_OR_Bigfoot_Project layihəsini sərhəd poliqon təbəqəsi olaraq təyin edin. Bu parametr haqqında daha sonra daha çox danışacağıq.

Optimize edilmiş isti nöqtə analiz vasitəsi

Aləti işə salın və çıxış xüsusiyyət sinfi aşağıdakı ekran görüntüsündə göründüyü kimi görünməlidir.

Optimize edilmiş Hotspot Çıxışı & # 8211 Altıbucaqlı

Xüsusiyyət Katmanı | üzərindəki şəffaflıq sürüşdüricisindən istifadə edərək təbəqəyə şəffaflığı yaxınlaşdırmaq və tətbiq etmək istəyə bilərsiniz Görünüş nişanı. Bu mənzərədən görə bilərik ki, Sasquatch görmə nöqtələri qərbdə bəzi əlavə isti nöqtələr və Vaşinqtonun mərkəzindəki Kennewick yaxınlığında daha kiçik bir isti nöqtə ilə Cascade dağ silsiləsini təqib edir.

Şəffaflıq tətbiq edin

Aşağıda göründüyü kimi altıbucaq yerinə bir balıq toru ızgarası quruluşlu bir çıxış xüsusiyyət sinifindən də istifadə edə bilərsiniz.

Balıq toru

Mərkəzi xüsusiyyət kimi əvvəlki məqalədə yaratdığımız digər bəzi məlumat dəstlərini də göstərə bilərsiniz.

Mərkəzi Xüsusiyyətli isti nöqtələr

Hadisələrin harada mümkün olduğunu təyin edən sərhəd poliqonları bir az izaha ehtiyac duyur. Sınaqlı bir çoxbucaqlının istifadəsi, "ölü yer" in tətbiq oluna biləcəyi vəziyyətlərdə faydalıdır. Ölü məkan heç bir hadisənin baş vermədiyi, ancaq bir hadisənin baş vermə potensialının olduğu bir sahə olardı. Sınırlayıcı çoxbucaqsız bir sahə aşağıda göstərildiyi kimi sıfır kimi qeyd edilə bilər.

Sərhəd qutusu tətbiq edilmir

Optimize edilmiş isti nöqtə analizi vasitəsi ilə nöqtələrin göstərilməsinin başqa bir fərqli yolu, hadisə məlumatlarının toplanması metodu üçün ağırlıqlı çoxbucaqlar yaratmaq üçün & # 8220Snap yaxınlıqdakı hadisələrdən istifadə etməkdir. Bu aşağıda göstərilmişdir.

Ağırlıqlı nöqtələr yaratmaq üçün yaxınlıqdakı hadisəni çəkin Ağırlıqlı Xallar

ArcGIS Pro və Mekansal Analiz haqqında ArcGIS Pro və R istifadə edərək Məkan Analizinə giriş.

Kiçik və Küməli Analiz Aləti

Araşdıracağımız son vasitə Klaster və Dışa Çıxış Analizi vasitədir. Bu vasitə, isti nöqtə təhlili aparmaqla yanaşı, məlumatlarınızdakı kənarları müəyyənləşdirir. Dışa çıxanlar bir çox analiz növü üçün son dərəcə aktualdır. Alət, xüsusiyyətləri və məhəllələri iş sahəsindən ayırmaqla başlayır. Hər bir xüsusiyyət digər xüsusiyyətlərdən əhəmiyyətli dərəcədə fərqli olub olmadığını öyrənmək üçün hər xüsusiyyətə qarşı araşdırılır. Eynilə, hər bir məhəllə digər məhəllələrlə müqayisədə statistik cəhətdən fərqli olub olmadığını yoxlayır.

Klaster və Kənar Təhlil alətinin nəticəsi dörddə bölünən məlumatlardır. Quadrantın yuxarı sağ küncündə Yüksək-Yüksək dəyərlər var. Bu vəziyyətdə həm xüsusiyyət həm də qonşuluq həmkarlarına nisbətən yüksəkdir. Bu xüsusiyyətlər isti nöqtələr kimi qeyd olunur.

Sol alt kadranda Aşağı-Aşağı dəyərlərdir. Bu vəziyyətdə həm xüsusiyyətlər həm də qonşuluqlar həmkarlarına nisbətən aşağıdır. Bunlar soyuq yerlərdir.

Sol üst küncdə Yüksək-Alçaq kvadrant var. Bunlar xüsusiyyətlərin digər xüsusiyyətlərə nisbətən yüksək olduğu və qonşuluqların digər məhəllələrə nisbətən aşağı olduğu daha üstün xüsusiyyətlərdir.Sasquatch görmə fəaliyyətinin nümunəsini istifadə etsək, bu kvadrantdakı xüsusiyyətlər, aşağı görmə qabiliyyəti olan məhəllələr ilə əhatə olunmuş yüksək səviyyəli görmə fəaliyyətini göstərir.

Nəhayət, kvadrantın sağ alt küncündə Aşağı-Yüksək qrup var. Sasquatch görmə nümunəmizə qayıtsaq, bu, yüksək görmə fəaliyyətinin məhəllələri ilə əhatə olunmuş aşağı görmə fəaliyyətinin sahələrini göstərə bilər.

İsti nöqtə və klaster analizi üçün kvadrantlar

Klaster və Xarici Analiz aracı, İsti Nöqtə Analizini çalıştırdığınız zaman çalıştırılmalıdır. Çıxış edənlər bir çox problemi araşdırarkən son dərəcə vacib ola bilər. Cinayət fəaliyyətini araşdırsaydınız, bu vasitə cinayətkarlığın az olduğu sahələri əhatə edən və əksinə, cinayətkarlığın yüksək olduğu sahələri tapmaq imkanı verəcəkdir. Qonşularından fərqli və istifadə edilməmiş bir vasitə olan dəyərləri tapmağa çalışır.

Xəritəçəkmə Küməsi alətlər dəstində Kümə və Kənar Analiz alətini tapın və açın. Parametri aşağıda göstərildiyi kimi doldurun. Aləti işə salın.

Kümelenme və Kənar Təhlil Aləti

Çıxış aşağıda göründüyü kimi görünməlidir.

Kümələrdən və Çıxışdan Analiz Alətindən Çıxış

Bunu necə şərh edirsiniz? Tünd göy rəngli bölgələr LH kvadrantındadır (kənara çıxanlar), bu da mahalın görmə səviyyəsinin az olduğunu, ətrafdakı qonşuluğun isə görmə səviyyəsinin yüksək olduğunu göstərir. Açıq mavi rəngdə simvolizə olunan bölgələr soyuq ləkələrdir (LL). Açıq çəhrayı rəngdə simvollaşdırılan ölkələr həm mahal, həm də qonşuluq üçün isti nöqtələri göstərən HH kvadrantının bir hissəsidir. Heç bir xüsusiyyət HL kvadrantına düşmədi (kənarlaşdırıcılar), ancaq bunlar olsaydı, bu bölgələri aşağı olan qonşuluq görmə fəaliyyəti ilə yüksək görmə fəaliyyəti olaraq təyin edərdi.

Gələn həftə Sasquatch mənzərələrini təhlil etmək üçün istifadə edilə bilən bəzi R proqramlaşdırma alətlərinə nəzər salmağa başlayacağıq.


Rəylər

6/17/21 tarixində Roxbury İcma Kollecinin köməkçisi professor Mya T. Bowen tərəfindən nəzərdən keçirilmişdir

Mətn mövzunun bütün sahələrini və fikirlərini uyğun şəkildə əhatə edir və hər fəslin sonunda təsirli bir lüğət təqdim edir. daha çox oxu

6/17/21 tarixində Roxbury İcma Kollecinin köməkçisi professor Mya T. Bowen tərəfindən nəzərdən keçirilmişdir

Hərtərəfli qiymətləndirmə: 5 daha az baxın

Mətn mövzunun bütün sahələrini və fikirlərini uyğun şəkildə əhatə edir və hər fəslin sonunda təsirli bir lüğət təqdim edir.

Məzmun dəqiqliyi reytinqi: 5

Bu mətnin məzmunu dəqiq, səhvsiz və qərəzsizdir.

Uyğunluq / Uzunömürlülük reytinqi: 5

Mətn & # 39s məzmununa əsaslanaraq, mətnin çap tarixi 2016-cı il olmasına baxmayaraq, müasir və qısa müddətdə köhnəlməyəcək bir məzmundur. Əlavə olaraq, lazımlı yeniləmələrin həyata keçirilməsinin nisbətən asan və sadə olacağı qədər uzaqda yazıldığını gördüm.

Aydınlığa gəldikdə, mətn aydın şəkildə yazılır və istifadə olunan jarqon / texniki terminologiya üçün kifayət qədər kontekst verir.

Mətn terminologiya və çərçivə baxımından bir-birinə uyğundur. Bunu 5 kimi qiymətləndirdim, çünki hər fəslin əsas şərtləri hər fəslin Sözlük bölməsində təqdim olunur. Sözlük bölməsi hər fəsildə təmsil olunan məzmunu gücləndirir.

Mətn bölmələrinin quruluşunu qısa və oxucuya təsir etməyən müvafiq məlumat blokları kimi təqdim edir.

Təşkilat / Struktur / Akış reytinqi: 5

Mətni nəzərdən keçirdiyimə əsasən, mövzular məntiqi və aydın bir axını var.

.Pdf interfeysində hərəkət etməkdə heç bir problemim yox idi və şəkillər / qrafiklər təhrifsiz idi.

Qrammatik səhvlər reytinqi: 1

Mətndə qrammatik səhvlər az idi.

Mədəni Uyğunluq reytinqi: 4

Müəllif Vizuallaşdırma fəslində coğrafi yerlərə əsaslanan müxtəlif irqlərin, etnik qrupların və mənşəylərin əhatə olunmasına bir nəticə olaraq uyğun olacaq coğrafi istinadları istifadə etdi.

Mətn, şagirdləri sinif fəaliyyətlərinə tətbiq etməkdə və nəticədə müvafiq sənayelərdə özlərinə inamlı olma yollarında fayda gətirəcəyinə inandığım çox anlaşılan konsepsiyalar, nümunələr və diaqramlar təqdim edir. Bu mətni gələcək kurslarda istifadə etməyi planlaşdırıram.

6/2/21 tarixində North Shore Community College-dən əlavə professor, Shahab Hussain tərəfindən nəzərdən keçirilmişdir

Bu kitab Python Proqramlaşdırmanın kritik sahələrinin əksəriyyətini təqdim edir və faydalı nümunələrlə izah edir. daha çox oxu

6/2/21 tarixində North Shore Community College-dən əlavə professor, Shahab Hussain tərəfindən nəzərdən keçirilmişdir

Hərtərəfli qiymətləndirmə: 5 daha az baxın

Bu kitab Python Proqramlaşdırmanın kritik sahələrinin əksəriyyətini təqdim edir və faydalı nümunələrlə izah edir.

Məzmun dəqiqliyi reytinqi: 5

Bu kitab mümkün olan bütün yol və ssenarilərlə qərəzsiz bir yanaşma təmin edir. Bu kitab məlumatları mütəşəkkil şəkildə təqdim edir. Məlumat tələblərə uyğun yenilənir və aktualdır.

Uyğunluq / Uzunömürlülük reytinqi: 5

Bu kitab, AI & amp ML üçün məlumat təhlili tapşırıqları üçün Python'dan necə istifadə edəcəyini öyrənmək istəyən müntəzəm bir oxucu üçün olduqca əhəmiyyətlidir.

Bu kitab materialı mümkün qədər aydınlıq, təfərrüatlar və müvafiq real nümunələrlə təqdim edir

Məlumat diqqət mərkəzindədir və lazımi bilikləri yaxşı ardıcıllıqla və ardıcıllıqla təmin edir.

Bu kitabın məzmunu fəsillərdə çox yaxşı təşkil edilmişdir.

Təşkilat / Struktur / Akış reytinqi: 5

Müəllif, hər bir kritik sahəni və mövzunu ayrı-ayrı fəsillərə daxil edərək axın keçidini çətinlik səviyyəsinin yüksəlməsi ilə hamar hala gətirərək əla iş gördü.

Kitabın interfeysi naviqasiya olmadan, şəkillərin / qrafiklərin təhrif edilməməsi və ya digər ekran arızaları olmadan yaxşı yazılmışdır. Vizual ekran yaxşı işləyir.

Qrammatik səhvlər reytinqi: 5

Kitab mətninə baxış zamanı heç bir qrammatik səhv tapa bilmədim.

Mədəni Uyğunluq reytinqi: 5

Heç bir mədəniyyətə və ya cəmiyyətə mənfi təsir və ya münasibət yoxdur.

Bu kitabın adı və materialı xoşuma gəlir. Bu kitab Python Proqramlaşdırma və Məlumat Təhlili kursları üçün əla bir istinad və amp dərsliyi ola bilər.

14/21/14 tarixində Sydda Ferdous Begum, professor, Middlesex Community College tərəfindən nəzərdən keçirildi, 20.04.2011 güncəlləndi

Bu kitab proqramlaşdırma haqqında heç bir şey bilməyən yeni başlayan proqramçı üçün əladır. Bu mətn kompüter elmləri və informasiya texnologiyaları sahəsində istifadə edilə bilər. Başlanğıclara yönəldilmiş olsa da, inkişaf etmiş mövzuları ehtiva edir. daha çox oxu

14/21/14 tarixində Sydda Ferdous Begum, professor, Middlesex Community College tərəfindən nəzərdən keçirildi, 20.04.2011 güncəlləndi

Hərtərəfli qiymətləndirmə: 5 daha az baxın

Bu kitab proqramlaşdırma haqqında heç bir şey bilməyən yeni başlayan proqramçı üçün əladır. Bu mətn kompüter elmləri və informasiya texnologiyaları sahəsində istifadə edilə bilər. Başlanğıclara yönəldilmiş olsa da, inkişaf etmiş mövzuları ehtiva edir, lakin oxucunu kitabla davam etdirməyə sövq edən sadə İngilis dilindən istifadə edərək çox asanlıqla izah edir. Proqramı öyrənmək üçün lazım olan bir çox nümunə, video və bütün mənbələr təqdim edir. Başlanğıc proqramçılara yönəlmiş, obyekt yönümlü proqramlaşdırma, verilənlər bazası və SQL-i də əhatə edən bir kitab tapmaq çətindir.

Məzmun dəqiqliyi reytinqi: 5

Məzmunun hazırda çox müasir olduğunu və gələcək düzəlişlər üçün asan yeniləmələrə uyğun bir şəkildə qurulduğunu gördüm. Bir təlimatçı olaraq, öyrənmə nəticələrinin asanlıqla uyğunlaşdırılması da vacib idi.

Uyğunluq / Uzunömürlülük reytinqi: 5

Məzmunu, xüsusən Python sintaksisini, video mühazirələri dəqiq və səhvsiz və qərəzsizdir.

Mətni çox əlçatan, lakin lazım olduqda texniki terminologiyadan istifadəsində dəqiq olduğunu gördüm. Bu çox vacibdir, çünki bir çox oxucu ingilis dilini ilk dil kimi qəbul edə bilməz və ya tanışlıq olmadan yeni başlayanlardır.

Bu mətnin terminologiyası və çərçivəsi, xüsusən də fəslin sonunda oxucu üçün terminoloji terminləri verildiyi müddətdə uyğun idi.

Bu kitabın modulluğu vacib bir cəhətdir, çünki müəllimlər üçün fərqli bölmələr təyin etmək üçün vacibdir. Bundan əlavə, çox aydın və mütəşəkkildir. Bununla birlikdə, məşq başlıqları müəllimlərin şagirdlərinə rəhbərlik etmələri üçün faydalı olardı (nümunə: İş 1.1, 1.2 və s.).

Təşkilat / Struktur / Akış reytinqi: 5

Fəsillər çətinliklər səviyyəsində artmaqdadır və başlıq və alt başlıqlar oxucunun məntiqi və aydın şəkildə mövzu tapmasına kömək edir.

Bu mətni pdf yan çubuq naviqasiya nişanlarından istifadə etmək çox asandır. Heç bir əhəmiyyətli interfeys problemi tapmadım.

Qrammatik səhvlər reytinqi: 5

Heç bir qrammatik səhv tapmadım.

Mədəni Uyğunluq reytinqi: 4

Ümumiyyətlə, mətn içərisində mədəni cəhətdən həssas bir nümunə tapmadım. Bununla birlikdə, 1.5 kimi nümunələrdə “Tanrı” dan istifadə etmək bəzi oxucular üçün təhqiramiz və ya diqqətsiz kimi qarşılana bilər. Bu asanlıqla başqası ilə əvəz edilə bilər.

Bu kitabı araşdırdıqdan sonra bu kitabı öz dərslərimdə qəbul etməyə qərar verdim.

31/1/21 tarixində Bowling Green State Universitetinin dosenti Sankardas Roy tərəfindən nəzərdən keçirildi

Başlıqdan da göründüyü kimi, bu kitabın nəzərdə tutulan kütləsi, məlumat təhlili işi üçün Python'u araşdırmaq istəyən & quototeverybody & quot. Kitab yeni bir proqramçı üçün kifayət qədər mövzu detalları verərək Python proqramlaşdırma əsaslarını əhatə edir. daha çox oxu

31/1/21 tarixində Bowling Green State Universitetinin dosenti Sankardas Roy tərəfindən nəzərdən keçirildi

Hərtərəfli qiymətləndirmə: 4 daha az baxın

Başlıqdan da göründüyü kimi, bu kitabın nəzərdə tutulan kütləsi, məlumat təhlili işi üçün Python'u araşdırmaq istəyən & quototeverybody & quot. Kitab yeni bir proqramçı üçün kifayət qədər mövzu detalları verərək Python proqramlaşdırma əsaslarını əhatə edir. Kitabda hər fəsildən sonra bir lüğət verilir.

Məzmun dəqiqliyi reytinqi: 4

Əsas məzmun mənim fikrimcə dəqiqdir. Üstəlik kitabın qərəzli olduğunu hiss etdiyim heç bir hadisəni xatırlamıram. Nə də kitabda bir səhv yazısı tapdığımı xatırlamıram.

Uyğunluq / Uzunömürlülük reytinqi: 4

Kitabın əsas məzmunu, məlumat təhlili tapşırıqları üçün Python'dan necə istifadə edəcəyini öyrənmək istəyən daimi bir oxucu üçün olduqca əhəmiyyətlidir. Bundan əlavə, nümunələr və məşq problemləri gündəlik həyatımızla çox əlaqəli olan praktik ssenarilərdən (məsələn, veb cızma, google API, Twitter məlumatları və daha çox) götürülmüşdür. Bununla birlikdə, Python kimi bir proqramlaşdırma dili tez-tez yeni versiyalarla qarşılaşdığından, kodlaşdırma kitabının bir neçə ildən bir yeni bir nəşrə ehtiyac duyacağı gözlənilir.

Mətn aydın, başa düşülməsi asan bir dildə yazılmışdır. Müəllif aydınlıq ölçüsü üzərində zəhmli bir iş görmüşdür.

Mətndə kompüter elmləri və məlumat elminin standart terminologiyası istifadə edilmişdir. Fəsillər terminoloji baxımından tutarlıdır. Bundan əlavə, oxşar çərçivə fəsillərdə istifadə olunur.

Mətn yüksək dərəcədə moduldur. Bütün kitab təxminən 16 fəsildə gözəl bir şəkildə bölünmüşdür. Bu kitab bir dərs kitabı kimi yaxşı xidmət edərdi.

Təşkilat / Struktur / Akış reytinqi: 5

Kitab yaxşı tərtib olunmuşdur. Kitabın hamısını bir-birinə bağlayan bir neçə ümumi mövzuya baxmağıma şadam. Nümunə olaraq, kitabdakı nümunələrin əksəriyyəti mətn emalına aiddir, halbuki mürəkkəbliyi tədricən fəsildən böyüyür. Müəllifin ustalıqla istifadə etdiyi başqa bir ümumi mövzu, əvvəlki bir fəsli (Fəsil 7) sonrakı fəsillərlə əlaqələndirən "fayl" konsepsiyası ilə bağlıdır (Fəsil 12, Fəsil 15 və daha çox)

Pdf-i başdan sona oxuyarkən heç bir naviqasiya problemi ilə qarşılaşmadım. Şəkillər və qrafiklər yaxşı vəziyyətdədir.

Qrammatik səhvlər reytinqi: 5

Heç bir əhəmiyyətli qrammatik problem yaşamadım.

Mədəni Uyğunluq reytinqi: 5

Mətn heç bir şəkildə mədəni cəhətdən təhqiramiz deyil.

Başlıqdan da göründüyü kimi, bu kitabın nəzərdə tutulan auditoriyası Python ilə məlumat təhlili aparmaq istəyən “hamı” dır. İdeal olaraq belə bir kitabın aşağıdakı tapşırıqları yerinə yetirməsi lazımdır: (a) oxucunu Python-un əsas konstruksiyalarından keçmədən keçirin (b) Python-un gücünü sadə, lakin praktik nümunələrlə göstərərək Python proqramlaşdırmasında oxucunu motivasiya edin, ( c) daha çox “həvəskar” oxucuların sınaqdan keçirməsi üçün əlavə bir şeyə sahib olmaq. Məncə, indiki kitab yuxarıdakıların hamısında üstündür. Kitabın hamısını bir-birinə bağlayan bir neçə ümumi mövzuya baxmağıma şadam. Nümunə olaraq, nümunələrin əksəriyyəti mətn işləmə mövzusundadır və bir çox hallarda onların mürəkkəbliyi tədricən artır, bu da yeni anlayışların öyrənilməsində faydalıdır. Müəllifin ustalıqla istifadə etdiyi bir başqa ümumi mövzu da "fayl" konsepsiyası ilə bağlıdır. Dərslikdə əvvəlcə 'yerli fayllara' necə daxil olacağı (mətn işlənə bilər) təqdim olunur, sonra onlayn mətni (məsələn, veb səhifələr və ya veb xidmətin çıxışı) işləmək üçün eyni "fayl" konsepsiyasından istifadə edə biləcəyimiz göstərilir; və daha sonra oxşar bir üslubda bir verilənlər bazasına / məlumatdan məlumat saxlaya / ala biləcəyimizi göstərir. Dərslikdə ayrıca “həvəsli” oxucular üçün çox faydalı olan son nöqtə layihəsi təcrübəsi də təqdim olunur. Veb xidməti API'ləri, verilənlər bazası, görselleştirme və daha çoxunu əhatə edən üç layihə təqdim edir. Kitabda tələbələrin sürətli işə başlamaları üçün zəngin bir kod və məlumat deposu dəsti də verilir. Bunlar praktik məlumat təhlili tapşırıqlarını yerinə yetirərkən oxucuları həyəcanlandıra bilər. Xüsusilə yaxşı xüsusiyyətlər: hər bölmədən sonra ayıklama tövsiyələri və bir lüğət. Məhdudiyyətlər: Bu kitab dərslik kimi istifadə olunarsa, daha çox idman problemi faydalı olacaqdır.

28/20/2010 tarixində Oregon Dövlət Universitetinin direktoru Kuuipo Walsh tərəfindən nəzərdən keçirilmişdir

Dr. Charles R. Severance & # 39s kitabı, obyekt yönümlü proqramlaşdırmaya dərindən dalmadan, 1-10-cu fəsillərdə Python proqramlaşdırma əsaslarını təqdim edir. Bu fəsillər mətn və mətn sənədlərini idarə edən kod nümunələrinə yönəlmişdir. Başlığı nəzərə alaraq. daha çox oxu

28/20/2010 tarixində Oregon Dövlət Universitetinin direktoru Kuuipo Walsh tərəfindən nəzərdən keçirilmişdir

Hərtərəfli qiymətləndirmə: 4 daha az baxın

Dr. Charles R. Severance & # 39s kitabı, obyekt yönümlü proqramlaşdırmaya dərindən dalmadan, 1-10-cu fəsillərdə Python proqramlaşdırma əsaslarını təqdim edir. Bu fəsillər mətn və mətn sənədlərini idarə edən kod nümunələrinə yönəlmişdir. Başlığı nəzərə alaraq, digər məlumat növlərinə də nümunələr gətirmək çox yaxşı olardı, məsələn, işçilərin məlumatları, növ məlumatları və gəlir məlumatları. 11-16-cı fəsillər şəbəkəni qırmaq da daxil olmaqla müxtəlif mənbələrdən mətn toplamaq və idarə etmək üçün bölünür. Bu sonrakı fəsillərdə coğrafi məlumatlar da daxil olmaqla müxtəlif növ məlumatlarla manipulyasiya edilir. Hər fəslin sonunda kitabın veb saytında mövcud kod və məlumat sənədləri ilə bir lüğət və məşq var.

Məzmun dəqiqliyi reytinqi: 4

1-10-cu fəsillərdə yalnız obyekt yönümlü proqrama toxunduğu üçün təriflər və izahlar qarışıqlaşa bilər. Məsələn, Fəsil 6-da dəyişməz tərifi, daha dəqiq təriflə & sabit bir dəyəri & quot ilə müqayisədə qarışıqdır. Kitab oxuculara əvvəldən obyekt yönümlü proqramlaşdırmaya zərif münasibət bəsləyərək daha dəqiq ola bilər. Məsələn, bu, 8-ci fəsildə sətir obyektlərini siyahı obyektlərinə qarşı izah edərkən gözəl şəkildə aparılmışdır. Çap funksiya əvəzinə ifadə olaraq adlandırıldığında bir kiçik səhv var.

Uyğunluq / Uzunömürlülük reytinqi: 5

Məzmunun necə qurulacağını öyrənmək üçün müasirdir. Oxucuya bir problemə yaxınlaşma, problemlərin həll edilməsi və proqramlaşdırma zamanı tipik olan kəskinləşmələrin öhdəsindən gəlmək üçün zamansız məsləhətlər verilir.

Kitab bəzən izahlar həddindən artıq sadələşdirilsə də, aydın yazılmışdır. Hər fəslin sonundakı lüğət terminologiya ilə bağlı qarışıqlığı aradan qaldırmaq üçün faydalıdır.

Hər fəsil terminoloji baxımından tutarlıdır. Terminlər sonrakı fəsillərdə daha ətraflı izah edildiyi üçün, yenidən işlənmiş təriflərin fəsil lüğətinə daxil edilməsi faydalı olardı.

Kitabdakı hər fəsil ayrı-ayrı modullara bölünmüşdü.

Təşkilat / Struktur / Akış reytinqi: 4

Fəsillər məntiqi bir ardıcıllıqla təqdim olunur, baxmayaraq ki, əvvəllər də deyildiyi kimi, mətn boyunca obyektə yönəlmiş konsepsiyalara əsaslanmaq, Fəsil 14-ü tam həll etmək üçün gözləməkdənsə, faydalı olardı.

Kitabın veb saytındakı bağlantılarla bağlı problemim yox idi.

Qrammatik səhvlər reytinqi: 5

Mətndə anladığım qədər qrammatik səhv yoxdur.

Mədəni Uyğunluq reytinqi: 5

Mətn dediyim qədər mədəni qərəzli deyil.

Kitabda əsas Python proqramlaşdırma, strukturlaşdırılmış sorğu dili, məlumat bazaları və məlumatların görselləşdirilməsi mövzusunda inkişaf etmiş mövzulara diqqət yetirilir. Mövzu bütün başlayanlar üçün açıq şəkildə izah olunur. Yaxşı proqramlaşdırma təcrübələri kitab boyu gücləndirilmişdir.

Joe Paris, Fakültə, Linn-Benton Community College tərəfindən 7/2/20 tarixində nəzərdən keçirilmişdir

Bu kitab həm Python dilinə, həm də məlumat elminə tətbiqi üçün əlçatan bir girişdir - daha sonra təhlil üçün məlumatları götürmək, təmizləmək və saxlamaq. İki-on fəsillər çox Allen Downey və. daha çox oxu

Joe Paris, Fakültə, Linn-Benton Community College tərəfindən 7/2/20 tarixində nəzərdən keçirilmişdir

Hərtərəfli qiymətləndirmə: 4 daha az baxın

Bu kitab həm Python dilinə, həm də məlumat elminə tətbiqi üçün əlçatan bir girişdir - daha sonra təhlil üçün məlumatları götürmək, təmizləmək və saxlamaq. İki-on fəsillər əsasən Allen Downey və Jeff Elknerin əla kitabına, & quot; Python'u düşünün: Kompüter alimi kimi necə düşünmək olar? & Quot; Severance bu fəsildəki nümunələrin bir çoxunu kitab və daha yaxşı mövzuları daha yaxşı əks etdirmək üçün yenidən işləyir. veri araşdırması Downey və Elkner & # 39s Python dilinə aydın və qısa giriş hələ də yayılmışdır və erkən materialı yeni proqramçılar üçün asanlıqla əlçatan edir. Kitabın məlumat araşdırması nəzərə alınaraq yazıldığını nəzərə alsaq, 16-cı fəsildə verilmiş yalnız üç nümunə ilə məlumatların vizualizasiyasına münasibətinin kifayət qədər yüngül olduğunu gördüm, hətta Pandas, NumPy, Matplotlib, Seaborn, Bokeh və ya GGplot kimi məlumat mübahisələri və ya görselleştirme paketləri üçün SciPy. Şübhə etdiyim sonuncunun ən azından qismən mətnin yaşı ilə əlaqədardır. Kitabda .format () metodundan və f-simlərindən tamamilə qaçarkən dilin yalnız ən əsas simli formatlaşdırma xüsusiyyətləri və imkanlarını müzakirə edərək, Python-dakı simli formatlamanın əhatə dairəsi çatışmır. Anlama, generator və lambda ifadələri kimi faydalı mövzuların əhatə olunması da əskikdir. & Quotrecursion & quot sözü kitabda yalnız bir dəfə, müqəddimədə görünür, burada müəllif sözün kitabda ümumiyyətlə görünmədiyini bildirir. Nəhayət, Python standart kitabxanasına heç bir rəftar və ya oxucuların təqdim etdiyi inanılmaz funksional zənginliyə görə baxması lazım olan bir işarə yoxdur. Ümumilikdə, bu kitab Python proqramlaşdırma dilinin əsaslarına və məlumatların araşdırılmasına tətbiq olunmasına xidmət edir. İlk hissələrdə sonrakıları dəstəkləmək üçün kifayət qədər Python öyrədir.Bununla birlikdə, Python'u tədris dili olaraq istifadə edərək proqramlaşdırmaya giriş və ya kompüter elminə giriş deyil.

Məzmun dəqiqliyi reytinqi: 5

Kitabın məzmunu, simli formatlaşdırma kimi bəzi materiallara yanaşmasında bir az tarixli olsa da, nəzərdə tutulan əhatə dairəsi nəzərə alınmaqla dəqiqdir. Gözdən keçirdiyim HTML əsaslı versiyada tipoqrafiya və tərtib səhvləri tapmadım. Oxucular, mətnin git deposuna çəkmə istəkləri ilə düzəlişlər / düzəlişlər təqdim edə bilərlər.

Uyğunluq / Uzunömürlülük reytinqi: 3

Kitabın əhatə dairəsi bir qədər dar: sadə məlumat toplama, mübahisə və vizuallaşdırma üçün kifayət qədər Python'a giriş. Bununla birlikdə, Python məlumat elmində və əlaqəli kitabxanaların sayında və imkanlarında aparıcı bir dil halına gəldiyindən, ən azı Pandas, NumPy, Matplotlib və ya digər kitabxanalara toxunmayan hər hansı bir mətn böyüdü. bu cür çoxsaylı kitabxanalardan biri bu sahədə getdikcə daha az əhəmiyyət kəsb etdiyini görəcəkdir.

Downey və Elkner & # 39s-in əvvəlki kitabına əsaslanan fəsillər, əhatə dairəsi yenə də məhdud olduğu təqdirdə çox aydındır. Sonrakı fəsillər mənim fikrimcə aydınlıq hesabına mürəkkəbliyə atılır. Bununla birlikdə, müəllif mətn boyunca ola biləcək səhvləri araşdırır və gələcəkdə səhvlərin düzəldilməsinə kömək etmək üçün oxucuya nələrin səbəb olduğunu anlamağa kömək edir.

Bütün fəsillər eyni şəkildə formatlaşdırılmışdır və terminologiyanın istifadəsində ardıcıldır.

Kitab məntiqi fəsillərə bölünmüş və hər fəsil mənalı və əlçatan hissələrə ayrılmışdır. Həddindən artıq uzun bir alt hissə tapa bilmədim və ümumilikdə hər fəsil bir oxu olaraq təyin ediləcək qədər qısadır. Fəsillər giriş proqramlama mətnində gözlənildiyi kimi onları davam etdirənlər üzərində qurulur.

Təşkilat / Struktur / Akış reytinqi: 5

Mövzular məntiqi qaydada təqdim olunur.

Varsayılan olaraq brauzerdəki mətn kiçik tərəfdədir, ancaq səhifəni böyüdərək düzəldilə bilər. Bununla yanaşı, bölmə başlıqlarını həddindən artıq böyütmə təsiri var. Kod nümunələrində sintaksis rənglənməsinin istifadəsinin materialı asanlıqla başa düşülməsinə doğru çox yol qət edəcəyini də iddia edərdim.

Qrammatik səhvlər reytinqi: 5

Oxuduğumda qrammatik səhv tapmadım.

Mədəni Uyğunluq reytinqi: 5

Təhqiramiz məzmun tapmadım.

Daha əvvəl də bildirildiyi kimi, bu mətn nə proqramlaşdırma, nə də kompüter elmi üçün giriş məqsədi daşımır. Daha doğrusu, mövzunun araşdırılmasına imkan vermək üçün kifayət qədər proqramlaşdırma öyrədən informasiya elminə girişdir. Hesab edirəm ki, kitab Python & # 39-un məlumat elmində meydana çıxan roluna toxunmadan və dilin bu məqsəd üçün təsir edici funksionallıq kitabxanası şəklində təklif etdiyi bir çox vasitəni laqeyd etməklə özünə ziyan vurur.

25/19/19 tarixində Bucknell Universitetinin dosenti Matt Bailey tərəfindən nəzərdən keçirilmişdir

Kitab Python üçün hərtərəfli və əlçatan bir girişdir. İlk doqquz fəsil Python-a az, lakin hərtərəfli girişdir. Başlığı nəzərə alaraq, pandas Python paketinin bir az müzakirə olunacağını gözləyirdim. Daha çox yönəldilmişdir. daha çox oxu

25/19/19 tarixində Bucknell Universitetinin dosenti Matt Bailey tərəfindən nəzərdən keçirilmişdir

Hərtərəfli qiymətləndirmə: 5 daha az baxın

Kitab Python üçün hərtərəfli və əlçatan bir girişdir. İlk doqquz fəsil Python-a az, lakin hərtərəfli girişdir. Başlığı nəzərə alaraq, pandas Python paketinin bir az müzakirə olunacağını gözləyirdim. Daha çox məlumat (veb, verilənlər bazaları və SQL) əldə etməyə yönəldilmişdir.

Məzmun dəqiqliyi reytinqi: 4

Məzmunda heç bir problem tapmadım, ancaq mətndə LaTex-dən bir neçə tipoqrafiya xətası var. Bunlar göz qabağındadır və anlayışa təsir etmir.

Uyğunluq / Uzunömürlülük reytinqi: 5

Python 3 mövcud standartdır, lakin aktuallıq yanaşmadan daha çox mövzunun nəticəsidir.

İlk 9 fəsil çox aydın idi, ancaq regex, ağ proqramları təqdim edərkən çətinliklə (və ehtimal ki mövzu ilə əlaqədar) yaxşı bir sıçrayış olduğu görünürdü. Bir oxucu / öyrənici kimi mübahisəli ola bilər.

Ardıcıl notasiya və terminologiya ilə aydın və yaxşı yazılmışdır.

Düşünürəm ki, hər hansı bir fəsil kifayət qədər asanlıqla modula çevrilə bilər, buna görə də xüsusi fəsillər lazım olduqda daxil edilə və ya istisna edilə bilər.

Təşkilat / Struktur / Akış reytinqi: 5

Yuxarıda qeyd edildiyi kimi, ardıcıllıq məntiqi və aydındır, lakin çətinlik 10 və ya 11-ci fəsillərə (kanallar və şəbəkə proqramları) xeyli sıçrayış kimi görünür.

Qrammatik səhvlər reytinqi: 4

Heç kim üçün fərq etmədim.

Mədəni Uyğunluq reytinqi: 5

Hesab edirəm ki, bu Python-a çox yaxşı sürətli və çirkli bir girişdir, lakin yuxarıda qeyd edildiyi kimi, ilk doqquz fəslin səviyyəsi nəzərə alınaraq, qalan fəsillər bir az aşağı səviyyəli bir yanaşmadan bəhs etmiş ola bilər. Hələ keyfiyyətli bir kitab və mənbə.

5/21/18 tarixində Hollins Universitetinin Təlimatçısı Giancarlo Schrementi tərəfindən nəzərdən keçirilmişdir

Bu kitab Allen Downey-in mükəmməl Think Python kitabının remiksidir. Kitabda, xüsusən də mətn işlənməsində məlumat tətbiqetmələrinə meylli nümunələr daxil olmaqla, orijinalın aydınlığı qorunur. Remiks müntəzəm olaraq fəsillər əlavə edir. daha çox oxu

5/21/18 tarixində Hollins Universitetinin Təlimatçısı Giancarlo Schrementi tərəfindən nəzərdən keçirilmişdir

Hərtərəfli qiymətləndirmə: 4 daha az baxın

Bu kitab Allen Downey-in mükəmməl Think Python kitabının remiksidir. Kitabda, xüsusən də mətn işlənməsində məlumat tətbiqetmələrinə meylli nümunələr daxil olmaqla, orijinalın aydınlığı qorunur. Remiks normal ifadələr, veb xidmətlər, verilənlər bazaları və görselləşdirmə üzrə fəsillər əlavə edir. Alqoritm analizi və GUI kimi mövzuları buraxır və dərslərin müzakirəsini xeyli azaldır. Bu dəyişikliklər onu yaxşı bir məlumat elmi kitabı və daha az bir kompüter elmi dərsliyi halına gətirir. Şagirdlər veb qırxma proqramlarının inkişaf etdirilməsinə aparılır. Xam məlumatları onlayn mənbələrdən çıxara bilən və faydalı bir şəkildə işləyən proqramlar. Kitabda pandalar kimi məlumat elmi, cizgi və ya Python kitabxanaları yoxdur. Python dilinin əhatə dairəsi ümumiyyətlə hərtərəfli, lakin siyahı anlama və lambda ifadələri kimi mövzuları əldən verir. Əlavələr yaxşı düşünülmüş və tələbələrə dərhal tətbiqə başlaya biləcəkləri faydalı bir vasitə təqdim edir. Vizual fəsil çatışmayan yeganə bölmədir. Vizualizasiyadan istifadə edən üç yaxşı sənədləşdirilmiş veb cızma proqramı nümunəsi təqdim edir. Ancaq vizuallaşdırma alətlərinə ümumi bir müalicə və ya bunlardan necə səmərəli istifadə olunacağına dair bir müzakirə vermir.

Məzmun dəqiqliyi reytinqi: 5

Python dilinə ümumi baxış dəqiqdir. Tətbiqlərin müzakirəsi, veb-kazıma proqramlarının ümumi tətbiqləri ilə əlaqədardır.

Uyğunluq / Uzunömürlülük reytinqi: 4

Python 3-ün istifadəsi, sintaksis və məlumat strukturları ilə əlaqəli fəsillərin yaxın gələcəkdə qüvvədə qalmasını təmin edir. Veb xidmətləri, məlumat bazaları və görselləşdirmə ilə əlaqəli fəsillər daha çox risk altındadır. Müəllif veb xidmətləri üçün XML və JSON və verilənlər bazaları üçün SQLite müzakirə edərək mühafizəkar şəkildə oynayır. Bunlar yaxşı seçimdir, çünki geniş istifadə olunur, lakin getdikcə XML yol kənarına düşür və əlaqəli verilənlər bazaları ilə işlənən tapşırıqlar əvəzinə NoSQL sistemlərində işləyir. Üç görselləşdirmə nümunəsindən biri, poçt siyahıları üçün Gmane interfeysinə əsaslanır və bu, ehtimal ki, tələbələr üçün o qədər də uyğun deyil və Gmane-in davamlı mövcudluğu şübhə altındadır. Bu fəsillərin bir neçə ildən sonra yenilənməsinə ehtiyac ola bilər.

Kitab, Python dilini izah etmək üçün əla bir iş görür və hər zaman mövzuların faydalı olduğu bir kontekst təqdim edir. Məlumat yalnız hərtərəfli olmaq üçün deyil, oxucunun daha yaxşı bir proqramçı olmasına kömək etmək üçün verilir. Nümunələr yaxşı izah olunur və motivasiya olunur. Müəllif tez-tez səhvləri başa düşməyə dair arayışları və səhv proqramı ilə əlaqəli bölmələri, təcrübəsiz bir proqramçı üçün dəyərli məlumatlar təqdim edir.

Fəsillərdə ardıcıl bir üslub və terminoloji istifadə var. Kitabdakı Python, Python üçün Stil Kılavuzundakı konvensiyaları izləyir.

Proqramlaşdırma ilə bağlı giriş dərsliyinin nə qədər modul olmasının bir həddi var. Kitab ümumiyyətlə yaxşı bir tarazlıq yaradır. Fəsillər bir-birinin üzərində qurulur, lakin bir kurs davamlılıq itkisi ilə qarşılaşmadan bəzi fəsilləri atlaya bilər. Veb qırxma proqramlarının hazırlanmasına yönəlmiş sonrakı fəsillər xüsusilə modul deyil və qaydada tədris olunmasına ehtiyac var. Vizual bölmə təəssüf ki, verilənlər bazası bölməsindən asılıdır. Kitab vizualizasiyanı daha çox tək başına qurmaqdan faydalanacaqdır.

Təşkilat / Struktur / Akış reytinqi: 5

Kitab yaxşı tərtib olunmuşdur və fəsillər arasında əlaqəli bir axını var. İstisna işləmə kimi bəzi mövzular tipik olduğundan daha erkən təqdim olunur. Ancaq bu girişlər yüngül bir toxunuşla və mövzunun dərhal faydalı olmasına dair bir gözlə həyata keçirilir.

Kod və xaricdəki saytlara keçidlər işlədi. Kod, faydalı bir Readme faylı olan bir qovluğa gözəl yüklənir.

Qrammatik səhvlər reytinqi: 5

Bu rəyçi tərəfindən heç bir qrammatik səhv tapılmadı.

Mədəni Uyğunluq reytinqi: 5

Kitab bir çox mədəni istinadlardan istifadə etmir. Mətn işləmə nümunələri aydın və düzdür və ilk dili ingilis dili olmayan oxucular üçün bir problem olmamalıdır.

İnformasiya elmi tədrisinə yaxşı xidmət edəcək aydın, yaxşı qurulmuş bir kitab.


UpdateCursor 'müəyyən edilməyib' Python - Coğrafi İnformasiya Sistemləri

Instagram REST və Axtarış API'ləri üçün Python 2/3 müştərisi

Instagram REST və Axtarış API'ləri

Geliştirici saytımız bütün Instagram REST və Axtarış API-lərini sənədləşdirir.

[Geliştirici bloqunda] Instagram Platforması ilə bağlı xəbərlər və vacib elanlar yer alır. Əlavə platforma inteqrasiyası yaratmağınıza kömək edəcək təlimatlar və ən yaxşı təcrübələr də tapa bilərsiniz. Yeni yazıları qaçırmamaq üçün RSS lentinə abunə olduğunuzdan əmin olun: http://developers.instagram.com.

Stack Overflow icması, API ilə əlaqəli suallar vermək üçün və ya kodunuzla əlaqəli bir ehtiyacınız varsa, əla bir yerdir. İnstaqramın digər inkişaf etdiricilərindən və üzvlərindən sürətli cavab almaq üçün suallarınızı Instagram etiketi ilə etiketlədiyinizə əmin olun.

Instagram API identifikasiya üçün OAuth2 protokolundan istifadə edir, lakin bütün funksiyalar doğrulama tələb etmir. Daha çox məlumat üçün sənədlərə baxın: http://instagram.com/developer/authentication/

Giriş işarəsi əldə etmək

Doğrulama tələb edən və giriş işarəsinə ehtiyac duyan bir metoddan istifadə edirsinizsə, özünüz üçün giriş işarəsi əldə etmək üçün verilən get_access_token.py skriptindən istifadə edə bilərsiniz. Tətbiqinizin Müştəri ID-si, Müştəri Gizli və Yönləndirmə URI-ni istənəcək və tətbiqiniz üçün öz giriş əlamətinizi əldə etmək üçün təlimatlarla tanış olacaqsınız.

Təqdim olunan nümunə tətbiqetmə bir istifadəçinin kimliyini təsdiqləmək və onlar üçün giriş işarəsi əldə etmək üçün sadə bir OAuth axını göstərir.

Bir giriş işarəsinə sahib olduqdan sonra (istər skript vasitəsilə, istərsə də istifadəçi axınından), bu işarəni InstagramAPI konstruktoruna ötürə bilərsiniz:

Təsdiqlənməmiş sorğuların edilməsi

Doğrulama tələb etməyən metodlar üçün yalnız müştəri identifikatorunuzu və isteğe bağlı olaraq müştəri sirrinizi InstagramAPI qurucusuna ötürə bilərsiniz:

Real vaxt abunəlikləri haqqında daha çox məlumat üçün sənədlərə baxın: http://instagr.am/developer/realtime/

API istifadəçilərinə, etiketlərinə, yerlərinə və ya coğrafiyalarına abunə olmaq üçün istifadə edə bilərsiniz:

Bununla yanaşı, fərqli abunə növlərini işləmək üçün adətən abunə "reaktorları" qeydiyyatdan keçirəcəksiniz:

Abunə olma, ona reaksiya vermək, yeniləmələrin işlənməsi nümunəsi üçün təqdim olunan nümunə tətbiqinə baxın.

Abunəlikləri siyahıya almaq və silmək üçün API-dən də istifadə edə bilərsiniz:

Bu metodlar haqqında daha çox məlumat üçün son nöqtələr sənədlərinə baxın: http://instagr.am/developer/endpoints/

* İlə olan metodlar, ikincisinin bir səhifələmə parametri olduğu iki dəyər qaytarır. Budur son medianı götürmək üçün bir nümunə:

Və səhifələnmiş son nöqtəni tam şəkildə təqib etmək nümunəsi:

Bağlama modulunun idxalı, müəyyən səhv vəziyyəti kodlarının işlənməsinə imkan verir. Bir nümunə aşağıda verilmişdir:

İnstaqramın idxal çağrısı zamanı bir modulun müəyyən edilməməsi ilə bağlı bir səhv alsanız, bu, zəruri bir paketi yeniləyə bilər.

Bu depo şüşə çərçivəsini istifadə edən və identifikasiya, abunəliyi və yeniləmə işlənməsini nümayiş etdirən bir sənədli nümunə tətbiqetmə daxildir. Sınamaq üçün:

  • Əgər sizdə yoxdursa, şüşə yükləyin: pip quraşdırma şüşə
  • Əgər sizdə yoxdursa, şüşə sessiyasını yükləyin: pip quraşdırma şüşə sessiyasını
  • Hələ yoxsa 6379 portunda redis nümunəsini yükləyin və çalıştırın. Təlimatlar üçün http://redis.io-ya baxın.
  • Yönləndirmə URI'inizi dev profilinizdə 'http: // localhost: 8515 / oauth_callback' olaraq ayarlayın.
  • Sample_app.py açın, client_id və gizli ilə yeniləyin və URI yönləndirməsini 'http: // localhost: 8515 / oauth_callback' olaraq təyin edin
  • Yerli bir serverin yerləşəcəyi faylı 8515 portunda işə salın.
  • Brauzerinizdə http: // localhost: 8515-i ziyarət edin

Pulsuz proqram ruhunda, hər kəs bu layihəni inkişaf etdirməyə kömək etmələri tövsiyə olunur.

Budur bəzi yollar Sən kömək edə bilər:

  • alfa, beta və yayım öncəsi versiyalarından istifadə etməklə
  • hatalar barədə məlumat verməklə
  • yeni xüsusiyyətlər təklif etməklə
  • sənədləri yazmaq və ya redaktə etməklə
  • spesifikasiyalar yazmaqla
  • kod yazmaqla (heç bir yama çox kiçik deyil: səhv səhvləri düzəldin, şərh əlavə edin, uyğunsuz boşluğu təmizləyin)
  • kodu yenidən işləyərək
  • məsələləri bağlamaqla
  • yamaları nəzərdən keçirərək

Hataları və xüsusiyyətləri izləmək üçün GitHub problem izləyicisini istifadə edirik. Hata hesabatı və ya xüsusiyyət tələbi təqdim etməzdən əvvəl, onun hələ təqdim olunmadığına əmin olun. Mövcud bir məsələyə səs verərək dəstəyi göstərə bilərsiniz. Bir səhv hesabatı təqdim edərkən, xahiş edirəm bir yığın izini və sürüm nömrənizi və əməliyyat sisteminizi daxil etməklə hatanı çoxaltmaq üçün lazım ola biləcək hər hansı bir məlumatı daxil edin. İdeal olaraq, bir səhv hesabatı uğursuz xüsusiyyətlərlə bir çəkmə istəyi daxil etməlidir.

Bir çəkmə tələbinin göndərilməsi

  1. Layihəni çəngəlləşdirin.
  2. Mövzu şöbəsi yaradın.
  3. Xüsusiyyətinizi və ya səhv düzəltməyinizi həyata keçirin.
  4. Qaç python tests.py .
  5. Xüsusiyyətiniz və ya səhv düzəltməyiniz üçün bir test əlavə edin.
  6. Qaç python tests.py . Dəyişiklikləriniz 100% əhatə olunmursa, 5-ci addıma qayıdın.
  7. Dəyişikliklərinizi yerinə yetirin və itələyin.
  8. Çəkmə sorğusu göndərin.
  9. Hələ etməmisinizsə, Töhfə verən Lisenziya Müqaviləsini ("CLA") tamamlayın.

Təqdimatçı Lisenziyası Müqaviləsi ("CLA")

Çekmə tələbinizi qəbul etmək üçün bir CLA təqdim etməyiniz lazımdır. Instagram və ya Facebook-un açıq mənbəli layihələrində işləmək üçün bunu yalnız bir dəfə etməlisiniz.

Müəllif hüquqları (c) 2014, Facebook, Inc. Bütün hüquqlar qorunur. Python-instagram-a töhfə verməklə, töhfələrinizin BSD lisenziyası altında lisenziyalaşdırılacağını qəbul edirsiniz. Ətraflı məlumat üçün LİSENZİYA-ya baxın.


Bu mesaj apache2 ikili birbaşa icra etdiyiniz üçün göstərilir. Ubuntu / Debian'da apache konfiqurasiyası yalnız aktivləşdirilmiş envvar sənədinə əsaslanır.

Apache-yə init skript və ya apachectl ilə başlasanız.

Əsl probleminiz odur ki, maşınınız üçün uyğun bir ad (fqdn) yoxdur.

Dəyişdirə bilmirsinizsə, /etc/apache2/apache2.conf içindəki ServerName dəyişənini localhost və ya istədiyiniz FQDN olaraq dəyişdirin.

Aşağıdakı kimi çalıştırarak envvarsınızı qaynaqlayın:

APACHE_LOCK_DIR üçün / etc / apache2 / envvars yoxlayın. Mənim Ubuntu 12.04-də SUFFIX normal olaraq boş olan / var / lock / apache2 $ SUFFIX.

Kataloqun olub olmadığını və yazılı olub olmadığını yoxlayın.

Envvars faylının düzgün mənbədən alınmaması ola bilərmi? /Etc/init.d/apache2-yə nəzər yetirsəniz, qaynaqlandığını görə bilərsiniz.

Mənim (default) / etc / apache2 / envvars:

Heç bir nəticə vermirsə, paketi (lər) yenidən qurmağa çalışardım.

Başqa deyildiyi kimi, mühitinizi birbaşa çalıştırmadan əvvəl yükləməlisiniz (mənbə) başqa bir seçimdir: apache2ctl məs.

TLDR Əvvəlcədən istifadə edərək apache2-yə başlamalısınız:

AH00558: apache2: 127.0.1.1 istifadə edərək serverin tam ixtisaslı domen adını etibarlı şəkildə təyin etmək mümkün olmadı. Bu mesajı boğmaq üçün qlobal olaraq 'ServerName' direktivini təyin edin

Bu mesaj, server adınızı / domen adınızı təyin etməlisiniz. Bir localhost / istehsal testi üçün bunu etmək vacib deyil, bunun üçün narahat olmağa ehtiyac yoxdur.

Yalnız apache2-dən istifadə edərək başqa bir şəkildə çalıştırdığınız zaman, əvvəlcədən deyilənlər səbəbindən bu səhv mesajlarını alacaqsınız: init.d-də standart ssenaridən istifadə etməyə başladığınız zaman mühit dəyişənləri təyin olunur.


Videoya baxın: 1 - Introduction and Downloading Data - ArcMap Scripting with Python and Arcpy (Oktyabr 2021).