Daha çox

Python & QGIS versiyalarının yeni istifadəçinin hər ikisini qurması üçün?


CİS-dən istifadə etdim (çox əsas funksiyalar), amma indi ehtiyaclarımı uyğunlaşdıra bilmək istəyirəm.

İlkin araşdırmalarım məni Python + QGIS-in getmə yolu olduğuna inandırdı.

Bu yolda faydalı olacaq bir neçə plaginin olduğunu başa düşürəm, amma hansının Python V3 ilə uyğun olduğunu ayırd etmək üçün kifayət qədər məlumata sahib deyiləm.

Quraşdırma Windows 7 aparatında olacaq.

Python və QGIS-i ilk dəfə öyrəndiyim üçün (və müvafiq plaginləri) uyğun olduqları halda mümkün olan ən yeni versiyalardan istifadə etmək istəyirəm.

Hər ikisinə yeni bir istifadəçi olaraq Python və QGIS-in hansı versiyalarını quraşdırmalıyam?


QGIS quraşdırıcılarına (hazırda 2.4.0) Python 2.7 daxildir və QGIS-in bəzi hissələri daha yeni versiyalarla işləməyə bilər: QGIS-də Python 3 dəstəyi?

Geliştiricilər hələ Python2-dən razıdırlar: http://lists.osgeo.org/pipermail/qgis-developer/2012-September/022311.html (baxmayaraq ki, bu açıqlamanın 2 yaşı tamam olur ...)

QGIS quraşdırılması QGIS xaricində istifadə edə biləcəyiniz bir Python versiyasından müstəqil olaraq işləyir.


Düşünürəm ki, yalnız "bağımsız yükləyicini" https://www.qgis.org/en/site/forusers/download.html#windows-dan yüklə və quraşdırmalısan. Quraşdırma prosesini davam etdirərkən ehtiyac duyduğunuz hissələri seçin. Xüsusən nümunə məlumatlarını almağı məsləhət görürəm.

Sadə və əyləncəlidir, buna görə rahatlayın və zövq alın!


QGIS 3.16¶ sənədləri

3.16 Uzun müddətli buraxılışdan yeni versiyaların sənədlərini axtarırsınız? Test sənədlərinə nəzər yetirin.

QGIS sənədləri müxtəlif dillərdə və versiyalarda mövcuddur. Siyahını görmək üçün yan çubuğun altındakı QGIS Sənədlər menyusunu genişləndirin.

Pulsuz və açıq mənbəli icma əsaslı CİS proqramı olan QGIS-in rəsmi sənədlərinə xoş gəlmisiniz! Bu sənədlərlə yenisinizsə, aşağıdakı və yan paneldəki məzmun cədvəli, maraqlandığınız mövzuya dair sənədlərə asanlıqla daxil olma imkanı verməlidir. Sol üst küncdəki axtarış funksiyasından da istifadə edə bilərsiniz.

QGIS layihəsi onlayn sənədləşmədən əlavə, oflayn oxumaq üçün yükləyə biləcəyiniz materialları da təqdim edir. Bunlara yan çubuğun altındakı QGIS Sənədlər menyusundan aşağıdakı kimi daxil olmaq olar:

Proqram içərisindən çıxardıb istifadə edə biləcəyiniz HTML faylları sıxıldı

QGIS ianəçilər birliyi tərəfindən hazırlanmış açıq mənbəli bir layihədir. Sənədlər qrupu hər zaman rəylərinizi istifadə edə bilər və dərsliklərin və xüsusiyyətlərin təsvirini yaxşılaşdırmağa kömək edə bilər. Bir şeyi başa düşmürsənsə və ya sənədlərdə axtardığını tapa bilmirsənsə, bizə bildirərək sənədləri daha yaxşı hala gətirməyimizə kömək et:


PyQt5'i quraşdırdıqdan sonra QGIS-Madeira 3.4.13 ilə Ubuntu 18.04-də bu problemlə qarşılaşdım. PyQt5 ilə əlaqəli xüsusi bir versiya olduğu üçün PyQt4 və sipin köhnə versiyasının üzərinə yazılmış hər hansı bir problemin olacağını düşünmədiyim üçün onu virtual mühitə qoymadım. PyQt5-in qurtumunu (və həmişə virtual mühitdə düzgün şəkildə quraşdırıla bilən PyQt5-i) silməklə QGIS ilə əlaqəli problemləri düzəldə bildim, sonra sip sistem səviyyəsində yenidən qurdum (QGIS-in axtardığı mühitdə) .

Aşağıdakı nümunədə, həm sistemimdə həm Python 2, həm də 3 olduğu üçün Python 3 pip istifadə etdiyimə əminəm.


4.4. Verilənləri təhlil edin¶

Mekansal verilənlər bazalarında və digər OGR tərəfindən dəstəklənən formatlarda məkan məlumatları təhlili edə bilərsiniz. QGIS hazırda vektor təhlili, raster təhlili, nümunə götürmə, geosərfləmə, həndəsə və verilənlər bazası idarəetmə vasitələrini təklif edir. 400-dən çox modulun tam GRASS funksionallığını da əhatə edən inteqrasiya olunmuş GRASS alətlərindən də istifadə edə bilərsiniz (bax GRASS GIS İnteqrasiya bölməsinə). Və ya, QGIS, GDAL, SAGA, GRASS, R və daha çox kimi yerli və üçüncü tərəf alqoritmlərinə zəng etmək üçün güclü bir coğrafi analiz sistemi təmin edən İşləmə plagini ilə işləyə bilərsiniz (Giriş bölməsinə baxın). Bütün analiz funksiyaları arxa planda işləyir və işləmə bitmədən işinizi davam etdirməyə imkan verir.

Qrafik modeller intuitiv qrafik mühitdə zəncirvari funksiyaları tam iş axını şəklində birləşdirməyə imkan verir.


1 Cavab 1

Hər ikisinə də uyğundur, ancaq bunu hələ də özünəməxsus python versiyası üçün quraşdırmalısan (bu problemi hər zaman başqa bir python2.x üçün quraşdırılmış paketlərlə qarşılaşıram, python3.x və ya başqa bir şəkildə qurduğumu düşünürdüm) dəyirmi). Ümumiyyətlə, (indi python3.x işlədirsinizsə), oxşar bir şey edirsiniz

hiylə edir. "Modulu yenidən yükləmədən" deyərək nltk_data qovluğunu nəzərdə tutursunuz? Əmin deyiləm, ancaq bunun default olaraq ev qovluğuna qoyulduğunu və fərqli python versiyaları arasında paylaşıla biləcəyini düşünürəm. Və yalnız bir pip yükləməsi çox uzun çəkməməlidir / yükləmək üçün çox şey olmadığını düşünürəm.


Səbəblər

QGIS-i əsas GIS proqramı kimi istifadə etməyin səbəbləri bunlardır:

1. Azadlıq və giriş

QGIS-in pulsuz olması, bizim fikrimizcə ən vacib xüsusiyyət deyil. QGIS-in istifadəsinin ən böyük üstünlüyü, hər hansı bir kompüter növündə çox sayda istifadəçiyə güclü bir vasitə gətirmə imkanı və qabiliyyətidir. Dəyişən bir dünyada məlumatların təhlilinə əsaslanan qərarlar məhdud bir müddətdə bir qrup insan tərəfindən verilməlidir. QGIS, məkan məlumatları ilə işləməyinizə, paylaşmanıza və fikirləri sürətli bir şəkildə əldə etməyə imkan verir.

Proqram tək bir kompüterlə məhdudlaşmır, istənilən kompüterdə istifadə edilə bilər. Təhlillər yalnız bir ofisdə deyil, bütün Qurumda aparılır.

Lisenziyasına görə, QGIS yalnız qiymət baxımından pulsuz deyil, eyni zamanda onu paylamaq, mənbə kodunu yoxlamaq və ya hətta digər proqram təminatlarında QGIS hissələrini istifadə etmək də pulsuzdur.

2. Mövcud seçimlər dünyası

QGIS, başlanğıcdan və sərbəst şəkildə məkan işlənməsi üçün bir dünya seçimi təqdim edir. Alətlərinizdə lisenziyaya görə məhdudiyyət yoxdur.

Bu yazının müəllifinin QGIS istifadə etməyə başlamasının bir səbəbi, ArcView lisenziyası olan bir Universitetdə SIG və Su Resurslarından dərs deməsi idi. İnterpolasiya və məkan əməliyyatları edə bilməyəcəyini anladıqda, kursda QGIS istifadə etməyə qərar verdi.

3. Təmiz bir vicdan

İşdə bir ArcGIS lisenziyanız olduğunu söyləyə bilərsiniz, ancaq ev kompüteriniz üçün bir sənədiniz var? Hər ikiniz varsa, böyük sərmayəniz üçün sizi təbrik edərdim, eyni zamanda kiçik bir rəsmi istifadəçi qrupuna aid olduğunuzu söyləyərdim. ArcGIS istifadəçilərinin əksəriyyətinin kompüterlərinin heç olmasa birində pirat lisenziyaları var.

QGIS istifadə edin və təmiz bir vicdan istifadə edin, çünki qanunsuz bir şey etmirsiniz, hətta lisenziyalı proqram istifadə etmədiyiniz üçün piratlığa qarşı olduğunuzu söyləyə bilərsiniz.

4. QGIS çox gözəl insanlar tərəfindən hazırlanmışdır

QGIS, kodlar hazırlayan və bu mövzuda ehtiraslı insanlar tərəfindən yaradılan bir toplum tərəfindən dəstəklənir. Onların bloglarını və sosial hesablarını izləyə, inkişaf etdirdikləri yeni vasitələri, hansı iclasda iştirak etdiklərini və hətta onlara sual verə biləcəyini öyrənə bilərsiniz.

QGIS inkişaf etdiricilərindən heç biri vaxtı üçün pul ödəməsi almır, hamısı işlərini sevdikləri üçün və həqiqətən də yaxşı bir şəkildə etdikləri üçün işləyirlər. QGIS-in aldığı pul proqram təminatını təkmilləşdirmək və paylaşmaqdır.

5. Daha çox sürət və performans

QGIS, ArcGIS ilə müqayisədə daha sürətli yüklənir və prosesləri daha az müddətdə həyata keçirir.

Burada və burada göstərildiyi kimi geosessilat hallarında QGIS ArcGIS-dən daha sürətli proseslər həyata keçirir. Bunun səbəbi stajçı quruluşudur.

6. QGIS və əlaqədar komponentlər pulsuzdur

QGIS-ə əsaslanan və ya onlarla işləyən alətlər tapdıqda, ümumiyyətlə pulsuz və açıq mənbəlidirlər. ArcGIS-ə gəldikdə isə bunun əksi: mobil, veb və bulud komponentlərinin pul xərcləməyə davam etməyə məcbur edən əlavə lisenziyaları var. Bu şəkildə yeni bir şey üçün əlavə bir lisenziya tələb etdiyiniz qapalı bir sistemdə qalmaq məcburiyyətində qalırsınız.

7. QGIS ilə daha sürətli məlumat əldə edə bilərsiniz

Bunu söyləmək lazımdır: QGIS ArcGIS-dən daha sürətli inkişaf etdirilir. Yaşlı istifadəçilər son illərdə QGIS-in çox sayda yeni versiyasını gördülər və hər biri yeni xüsusiyyətlərlə gəldi. QGIS-in bu təkamülü, istədiyimizdən daha sürətli idi.

QGIS-in yeni bir versiyası çıxdıqda, proqram açıla bilən bir pəncərə göstərir, beləliklə onu yükləyə, yeni xüsusiyyətlər barədə məlumat verə və bunları qiymətləndirə bilərsiniz. ArcGIS ilə bir yeniləmə almaq və ya yeni bir pirat nüsxə əldə etmək üçün gözləmək lazımdır.

8. QGIS-in yaxşı sənədləri var

QGIS rəsmi sənədləri həqiqətən yaxşıdır (http://www.qgis.org/en/docs/index.html). Proqramın necə işlədiyini asanlıqla izah edir və nümunələri və ekran görüntüləri var. QGIS təlimləri və forumları da mövcuddur.

9. QGIS bir çox dildə gəlir

QGIS-in ən son və əvvəlki versiyaları, İngilis dilində və İspan, Fransız və ya İtalyan kimi digər dillərdədirlər. Bu, yeni istifadəçilər, bəzi məkan təhlil şərtlərini bilməyən istifadəçilər və İngilis dilində danışmağı bacarmayan istifadəçilər üçün çox praktikdir.

10. QGIS-in vacib bir miqdarı tamamlayıcı var

Tamamlayıcılar QGIS-in başlanğıcından bəri bir xüsusiyyətidir. Bunlar QGIS içərisində işləyən və müəyyən tapşırıqları yerinə yetirmək üçün istifadə olunan kiçik proqramlardır.

Əlavələr QGIS-ə vermək istədiyiniz istifadədən asılıdır. Tezliklə su ehtiyatları / ətraf mühitin təhlili üçün ən yaxşı 5 QGIS tamamlayıcısı haqqında yeni bir yazımız olacaq


2.3. Bir layihəyə xidmət edin¶

Artıq QGIS Server qurulub işlədildiyi üçün onu istifadə etməliyik.

Aydındır ki, üzərində işləmək üçün bir QGIS layihəsinə ehtiyacımız var. Əlbətdə ki, əlaqə məlumatlarını təyin edərək, CRS-ə dair bəzi məhdudiyyətləri dəqiqləşdirərək və ya hətta bəzi təbəqələri istisna edərək layihənizi tamamilə fərdiləşdirə bilərsiniz. Bu barədə bilməli olduğunuz hər şey daha sonra layihənizi konfiqurasiya bölməsində təsvir olunur.

Ancaq hələlik yuxarıda göstərildiyi kimi /home/qgis/projects/world.qgs-də qurulmuş və əvvəllər yüklənmiş sadə bir layihədən istifadə edəcəyik.

Layihəni açaraq və qatlara sürətli baxaraq, hazırda 4 təbəqənin mövcud olduğunu bilirik:

Hələ ki, tam sorğunu başa düşmək məcburiyyətində deyilsiniz, ancaq QGIS Server sayəsində əvvəlki qatlardan bəziləri ilə bir xəritə əldə edə bilərsiniz. ölkələr qat:

Növbəti görüntü əldə edirsinizsə, QGIS Server düzgün işləyir:

Şəkil 2.1 Əsas GetMap tələbinə server reaksiyası ¶

Tərif edə biləcəyinizi unutmayın QGIS_PROJECT_FILE mühit dəyişən, bir vermək əvəzinə varsayılan olaraq bir layihə istifadə etmək XƏRİTƏ parametr (ətraf mühit dəyişənlərinə baxın).

Məsələn spawn-fcgi ilə:


CİS Proqramını quraşdırın

Veb brauzerinizdə gedin https://qgis.org/az/site/ və səhifənin mərkəzinə yaxın yerdə gördüyünüz böyük yaşıl & quotİndi yükləyin & quot düyməsini vurun. Bu, hansı QGIS versiyasını qurmaq istədiyinizi seçmək qabiliyyətiniz olan Yükləmə səhifəsinə aparacaqsınız.

QGIS, Windows, Mac və Linux kompüterlərində işləyə bilməsi ilə əsas masa üstü GIS proqram tətbiqetmələri arasında unikaldır. Bu səbəbdən yükləmə səhifəsində əməliyyat sisteminizə uyğun QGIS versiyasını seçmək vacibdir. Əməliyyat sisteminizi seçdikdən sonra da seçim etmək üçün ən çox 4 seçim görə biləcəyinizi də görəcəksiniz: Windows üçün 32 bit və ya 64 bit QGIS versiyasını, həm Windows, həm də Mac üçün proqramın son versiyası və ya daha köhnə, daha sabit bir uzunmüddətli dəstək versiyası. Proqramı 32 bitlik bir prosessora sahib olan son dərəcə köhnə bir kompüterə yükləməyə çalışmadığınız təqdirdə, 64bit versiyası demək olar ki, bütün istifadəçilər üçün tövsiyə olunur. Ən son QGIS xüsusiyyətlərinə giriş əldə etmək üçün uzun müddətli buraxılış əvəzinə ən son versiyanı quraşdırmanız tövsiyə olunur. Windows PC və ya Mac-da işləyirsinizsə, düyməsini vurun QGIS bağımsız quraşdırıcısı QGIS quraşdırma sənədlərini yükləmək üçün kompüterinizin konfiqurasiyasına ən uyğun olan proqram versiyasına keçid. Bir Linux kompüterinə QGIS yükləməyi ümid edirsinizsə, Linux paylamanıza xas olan proqram quraşdırma metodundan istifadə edərək proqramı kompüterinizə yükləmək və yükləmək üçün Yükləmə səhifəsindəki təlimatları izləyin.


Python & QGIS versiyalarının yeni istifadəçinin hər ikisini qurması üçün? - Coğrafi İnformasiya Sistemləri

Şəkil 1. QGIS Qenerasiya Alətləri qutusundakı PySAL: ABŞ-ın Cənubi Ölkələrində Cinayət nisbətlərinin isti nöqtə təhlili.

Python, yerleşim proqramlaşdırma və tətbiqetmə inkişafı üçün məşhur bir dildir. Bu yazı, Python ilə CBS proqramlaşdırılması üçün qəbul edilə bilən müxtəlif inkişaf rejimlərinə ümumi baxış təqdim edir və GIS cəmiyyətində Python qəbul tarixini müzakirə edir. Python'daki yerleşim inkişaf yığınının müxtəlif təbəqələri oxucunun Python'un CBS inkişaf etdiricisinə təqdim etdiyi genişlik haqqında bir anlayış verərək araşdırılır. Gələcək inkişaflar və qarşılıqlı fəaliyyət və proqramlaşdırma ekosistemləri ilə əlaqəli daha geniş məsələlər müəyyən edilmişdir.

Rey, S.J. (2017). CİS üçün Python. Coğrafi İnformasiya Elmi & amp; Texnologiya Bilik (3rd Quarter 2017 Edition), John P. Wilson (ed). DOI: 10.22224 / gistbok / 2017.3.4

Bu yazı ilk dəfə 19 Avqust 2017-ci ildə yayımlandı. Daha əvvəlki nəşrlər mövcud deyildi.

inkişaf yığını: müəyyən bir nəticə əldə etmək və ya müəyyən bir analitik tapşırığı yerinə yetirmək üçün birlikdə işləyən bir qrup proqram proqramı

təfsir dili: təlimatlarının maşın dilindəki təlimatlara əvvəlcədən tərtib edilmədən birbaşa yerinə yetirildiyi bir proqramlaşdırma dili

açıq mənbə proqramı: sərbəst şəkildə təqdim olunan və dəyişdirilə və yenidən paylana bilən proqram kodu

Python, Guido von Rossum tərəfindən 1991-ci ildə yaradılan açıq mənbəli, obyekt yönümlü bir dildir. Çıxışından bəri, Python bir çox problem aləmində geniş tətbiqetmə gördü. Bu populyarlıq dilin cəlbedici xüsusiyyətlərindən irəli gəlir. Birincisi, bir çox paradiqma dili olaraq Python həm strukturlaşdırılmış proqramlaşdırma, həm də obyekt yönümünü dəstəkləyir. İkincisi, Python, sürətli prototipləşdirmə və inkişaf dövrlərinə yol verən şərh olunan bir dildir. Core Python özü C dilində yazılmışdır və bu, Python'un bir çox platformada və əməliyyat sistemində tətbiqini təmin etmişdir. Zəngin və çox yönlü standart kitabxana Python'u bir çox layihə üçün yaxşı uyğunlaşdırır.

GIScience, Python-un qəbuledici auditoriya tapdığı bir çox elmi fəndən biridir. Elmi baxımdan, oxunaqlılığa, platformalararası dəstəyə və aşağı başlanğıc xərclərinə vurğu Python'u GIScientists arasında əməkdaşlıq üçün əla bir dil halına gətirdi. Eyni xüsusiyyətlərdən bəziləri Python'u GIScience konsepsiyalarının tədrisi üçün gözəl bir dil kimi yerləşdirir, həqiqətən Python getdikcə kompüter elmləri tədris proqramlarında ilk dil kimi istifadə olunur. Python mükəmməl bir ilk dildir, bununla belə, bunun əhatə dairəsi məhdud olduğu anlamına gəlməməlidir, çünki bir çox böyük miqyaslı və geniş istifadə olunan proqramlar Python-da tətbiq edilmişdir, bunun ən yaxşı nümunəsi Dropboxdur.

Artan populyarlığını nəzərə alaraq, bu yazı əvvəlcə Python ilə CBS proqramlaşdırma üçün qəbul edilə bilən müxtəlif inkişaf rejimlərinə ümumi bir baxış verir və GIS cəmiyyətində Python'un qəbul tarixini müzakirə edir. Bundan sonra oxucuya Python'un CBS inkişaf etdiricisinə təqdim etdiyi genişlik haqqında bir məlumat vermək üçün CİS proqramlaşdırma yığınının təsviri aparılır. Nəticədə qarşıdakı ehtimal olunan inkişaflar və qarşılıqlı fəaliyyət və proqramlaşdırma ekosistemləri ilə bağlı daha geniş məsələlər müzakirə olunur.

Bir skript dili olaraq Python yerleşim proqramlaşdırma üçün müxtəlif inkişaf rejimlərində rahatlıq təklif edir. Bunlar, masa üstü CİS-in funksionallığını genişləndirmək, ixtisaslaşmış coğrafi məkan analizi üçün tam müstəqil masa üstü tətbiqetməsini inkişaf etdirmək və qabıq mühitində elmi ssenari və interaktiv hesablama üçün Python istifadə etmək üçün Pythondan istifadə şəklində ola bilər.

3.1 Masaüstü tətbiqetmələr

Python masa üstü yerleşim tətbiqləri üçün mərkəzi rol oynayır. ArcGIS-in 9.0 versiyasından Esri Python'u əsas ssenari dili olaraq daxil etdi. Onun ArcPy paket geoprosessinq alətlərinə, funksiyalarına, siniflərinə və modullarına bir interfeys təmin edir. Arcpy funksiyası müəyyən bir funksiyanı müəyyənləşdirir, məsələn, müəyyən məlumat dəstlərini sadalamaq, verilənlər bazasının xüsusiyyətlərinə daxil olmaq və geodatabazalarını yeniləmək üçün funksiyalar mövcuddur. Üstəlik, Python skriptləri ArcGIS içərisində və ya ArcGIS xaricində istifadə edilə bilər və əlavə Python alət qutuları inkişaf etdirilə və Python’dan istifadə edərək ArcGIS istifadəçilərinə paylana bilər. distutillər modul.

Açıq mənbəli CBS paketi QGIS, Python'u bir skript dili kimi müxtəlif yollarla istifadə edir. Mövcud seansı ssenari etmək üçün istifadə edilə bilən interaktiv bir qabıq təmin etmək üçün QGIS qrafik istifadəçi interfeysi (GUI) vasitəsilə Python konsolu mövcuddur. Bu, QGIS API ilə sınaqları dəstəkləyir və istifadəçiyə, sonradan yenidən istifadə üçün skript kimi qeyd oluna bilən iş axını yaratmağa imkan verir.

Python da inkişaf etdirmək üçün istifadə edilmişdir emal çərçivə QGIS-in bir hissəsi kimi. Bu QGIS içərisindən yerli və ya xarici / üçüncü tərəf alqoritmləri idarə etmək üçün istifadə edilə bilən bir geoprosessinq mühiti. Şəkil 1, ABŞ-ın cənub bölgələri üçün 1990-cı ildə bir resurs məhrumiyyəti dəyişəninin qaynar nöqtə təhlilini aparmaq üçün Qenerasiya alət qutusundan PySAL alətindən istifadə nümunəsini göstərir.

Bu iki masa üstü GIS paketinə əlavə olaraq, Python digər müstəqil coğrafi tətbiqlərin inkişafı üçün istifadə edilmişdir. Əsas nümunələr PySAL layihəsi ilə əlaqədardır və bunlardır: məkan reqressiyası təhlili üçün bir paket olan GeoDaSpace CAST: Space-Time və STARS-da Cinayət Analitikası (Regional Sistemlərin Space-Time Analizi). Bu paketlər Python istifadə edilərək inkişaf etdirilmiş coğrafi məkanı GUI içərisinə bağlayır. Bu tətbiqetmələr aşağıda ümumiləşdirilmiş Python üçün mövcud olan bir çox elmi kitabxananın mövcudluğu sayəsində mümkündür.

3.2 İnterativ hesablama coğrafi məkanlaşdırma

Elmi hesablamada bir çox dəfə tədqiqatçılar fikirlərini, prototiplərini ifadə etmək və ya məlumatları araşdırmaq üçün kod yazırlar. Bu cür fürsətçi proqramlaşdırma açıq uçlu tədqiqatı asanlaşdırmaq üçün çevik bir hesablama mühiti tələb edir. Python ekosistemi bu tip interaktiv elmi hesablama üçün zəngin bir alət dəsti təklif edir.

IPython interaktiv və kəşfiyyatlı hesablama üçün hərtərəfli qabıq mühiti təmin etmək üçün interaktiv Python tərcüməçisinə genişlənir. Xüsusiyyət baxımından zəngin olan IPython, nişanı tamamlama, obyekt introspeksiyası, əmr tarixçəsi və əməliyyat sistemi qabığına giriş təklif edir, nəticədə daxili Python tərcüməçi tərəfindən təklif olunan elmi hesablama üçün üstün bir tərcüməçi ilə nəticələnir.

IPython layihəsi inkişaf etdi və Jupyterə səbəb oldu. Jupyter dəftəri kod hazırlanması, sənədləşdirilməsi və icrasından tutmuş nəticələrin həqiqi təqdimatına və yayılmasına qədər bütün elmi hesablama prosesini əhatə edə bilən veb əsaslı bir tətbiq təmin edərək konsol əsaslı yanaşmanı genişləndirir. Jupyter iki komponentdən ibarətdir. Birincisi, elmi sənədlərin interaktiv yazılmasını dəstəkləmək üçün mətn, kod və zəngin medianı birləşdirən brauzer əsaslı bir vasitədir. İkinci komponent veb tətbiqetmədə görünən bütün məzmunun həqiqi kodlaşdırılması olan dəftər sənədidir. Notebook sənədləri versiya nəzarətini və əməkdaşlarla paylaşmağı asanlaşdıran JavaScript Object Notation (JSON) kimi tətbiq olunur.

Yer məkanının inkişafı çox müxtəlif vəzifələri əhatə edir. Python'dakı coğrafi məkanlaşdırma yığınına ümumi bir baxış vermək üçün Cədvəl 1 yığının içindəki hər təbəqədən seçmə paketləri ümumiləşdirir. Seçilmiş paketlər hər bir işləmə növü üçün daha populyardır və ya daha çox rast gəlinir və siyahının əhatə dairəsində tam olmadığını, lakin müəyyən bir tapşırığın öhdəsindən gəlmək istəyən Python inkişaf etdiriciləri üçün ilk dayanacaq göstəricisini təmin etməsini unutmamalıyıq. .

Təsvir

Yerleşim məlumatları abstraksiya kitabxanasına interfeys

API-dən GDAL-nin OGR (Vektor) qatına

Coğrafi məkan raster məlumatlarının oxunması və yazılması

Deterministik məkan təhlili

Vektor həndəsələrindən istifadə edərək rasterlərin ümumiləşdirilməsi

Həndəsi tiplər üzərində pandaya bənzər məkan əməliyyatları

Kartoqrafik dəyişikliklər üçün PROJ4 İnterfeysi

İnteraktiv vərəqə xəritələri vasitəsilə vizualizasiya

İnteraktiv vizual kitabxana brauzerləri

Böyük məlumat vizual qrafik boru kəməri

Mekansal Statistik Analiz

Mekansal qarşılıqlı modelləşdirmə

Mekansal olaraq məhdudlaşdırılmış klasterləşdirmə

Müştəri proqramlaşdırma interfeysi OGC veb xidmətinə

Yerleşim məlumatları üçün ETL axını

Cədvəl 1. Python Coğrafi Məkan Proqramlaşdırma Yığıcı

4.1 Məkan Məlumat Girişi / Çıxışı

Bütün məkan təhlili yerleşim məlumatlarının oxunması ilə başlayır. Məkan məlumatları təhlilinin əsas fərqləndirici xüsusiyyətlərindən biri də zəngin məkan məlumat formatlarıdır. Bu, yerleşim inkişaf etdiricisi üçün böyük bir çətinlik yaradır, çünki hamısı bir ölçülü paketlər sadəcə tapıla bilməz.

Coğrafi məkanda olan bir çox paket üçün ümumi olduğu kimi, fayl girişini (və çıxışı) həyata keçirmək üçün tətbiq olunan yanaşma, mövcud məqsədlər üçün geniş istifadə edilmiş mövcud C kitabxanalarını bağlamaq olmuşdur. Bu halda hədəf kitabxana tərcüməçilərə həm raster, həm də vektor məkan məlumatlarını oxumaq və yazmağı təmin edən Coğrafi Məkan Abstraksiya Kitabxanasıdır (GDAL). Python yığınında bu komponentləri hədəf alan iki fərqli kitabxana hazırlanmışdır. Fiona isə OGR (vektor) funksionallığına diqqət yetirir rasterio GDAL-ın raster funksionallığını ortaya qoymaq üçün bənzər bir sarğı təmin edir. Bu, etibarlı bir Python API vasitəsilə GeoTIFF kimi formatların oxunmasına və yazılmasına imkan verir səssiz Səmərəli hesablama üçün N-D massivləri.

4.2 Yerləşdirmə

Coğrafi məlumat yaddaşa oxunduqdan sonra sonrakı işləmə üçün müxtəlif həndəsi əməliyyatlar və manipulyasiyalar mövcuddur. Vektor məlumatları üçün bunlar set nəzəri əməliyyatlar və planar xüsusiyyətlərin manipulyasiyası şəklində olur. Bağlama Formasız sarar geos buferləşdirmə, kəsişmə, genişləndirmə, fərqləndirmə və vektor obyektlərindəki digər məkan operatorlarının bir çoxu üçün kitabxana. Rasterlərin fokal, zonal və ümumiləşdirilməsi üçün funksionallıq rasterstats paket. Rasterstats vektor həndəsələrindən istifadə edərək rasterlərin sorğusunu da dəstəkləyə bilər. Məsələn, bir geliştirici bir nöqtə vektor obyektinə əsaslanan bir TIF sənədində saxlanılan bir DEM-dən yüksəkliyi tapa bilər və ya bir çoxbucaqlı obyektin hüdudları içərisindəki yüksəklik üçün xülasə statistikası yarada bilər (yəni bölgə içərisindəki yüksəklik, orta, std) .

Bu fəza əməliyyatlarının hər iki dəsti, yeni məkan dəyişkənlərinin əldə edilməsi halında çox rast gəlinir. Bunlar daha sonra statistik analiz üçün coğrafi məkanda daha yüksək səviyyədə istifadə olunur. Jeoprosessinq yığındakı paketlər (yəni fiona və formalı) özbaşına, əldə edilmiş obyektlərin / təbəqələrin sonrakı statistik analizlərini əhatə etməyi nəzərdə tutmur. Daha doğrusu, onlar müəyyən bir iş axını həyata keçirmək üçün müxtəlif paketlərin zəncirləndiyi bir yerleşim boru kəmərinin kritik komponentləri kimi qiymətləndirilir. Bağlama geopandalar bu tip iş axınını və boru kəmərini asanlaşdırmağın bir yolu kimi nəzərdən keçirilə bilər. Funksiyasına etibar edir fionaformalı geosessil üçün, lakin populyar ümumi məlumat manipulyasiya paketindən ilham alır pandalar Python hesablama yığınında məlumatların işlənməsi üçün ən yaxşı kitabxanadır.

Fərqli format və mənbələrdən alınan məlumatların düzgün bir şəkildə uyğunlaşdırılması və inteqrasiya edilməsi üçün müxtəlif koordinat istinad sistemləri arasında çevrilmə funksiyası təmin edilir. pyproj paket. pyproj bir Siton üçün bir Python interfeysi təmin edən sarmalayıcı PROJ.4 kartoqrafik dəyişikliklər və geodeziya hesablamaları üçün kitabxana.

4.3 Geovizualizasiya və Xəritəçəkmə

Pythondakı yerleşim məlumatlarının vizuallaşdırılması və xəritələşdirilməsi, paketdə tətbiq olunan qlobal miqyaslı xəritələşmədən qaynaqlanır. əsas xəritə. Əsas xəritə həqiqi plan qurmağı tətbiq etmir, ancaq etibar edir Proj4.C koordinatları müəyyən bir xəritə proyeksiyasına çevirmək və sonra işə salmaq matplotlib, proqnozlaşdırılan koordinatlarda kontur, şəkil və ya vektor obyektlərinin həqiqi tərtibini etmək üçün Pythondakı əsas vizual kitabxana. Basemap's mənşəyi okeanoqrafiya və meteorologiyanın dəstəyində idi və zamanla funksionallığı biologiyadan geologiya və geofizikaya qədər digər fənləri dəstəkləmək üçün inkişaf etdi.

kopiya məlumatların təhlili və vizualizasiyası üçün xəritələrin asanlıqla çəkilməsinə yönəlmiş bir paketdir. Xəritə proqnozlarını müəyyənləşdirmək üçün obyekt yönümlü bir yanaşma tətbiq edir və vizualizasiya üçün sadə və intuitiv bir interfeys təmin edir matplotlib. kopiya proyeksiya funksionallığı üçün həm PROJ.4-ə əsaslanır, həm də formalı shapefiles oxumaq üçün. Oxşar əsas xəritə, Kopiya əvvəlcə meteoroloji tədqiqatları dəstəkləmək üçün yaradılmışdır, lakin geniş bir sıra elmi sahələrdə xəritələşməni dəstəkləmək üçün genişlənmişdir.

Hər ikisi də əsas xəritəkopiya ilə interfeys matplotlib vizuallaşdırma üçün bir sıra Python Xəritəçəkmə paketi vizual platforma olaraq veb brauzerləri hədəf alır. Folium Python interfeysi təmin edən bunlardan ən erkənlərindən biridir vərəqə interaktiv veb əsaslı Xəritəçəkmə üçün javascript kitabxanası. Folium ayrıca inkişaf etdirmələri də əhatə edir Vincent / Vega genişlənmiş işarələr və planları coğrafi vizualizasiyaya gətirmək üçün çərçivə. Folium daxil olmaqla bir sıra məşhur plitələr xidmətləri ilə interfeyslər OpenStreetMap, Xəritə qutusuStamen, dəstəyi ilə GeoJSONTopoJSON məkan məlumat formatları.

Xüsusilə xəritələşdirmə və coğrafi vizualizasiya üçün nəzərdə tutulmasa da, son iki Python vizual paketi buraya daxil olmağı tələb edir. Bokeh bənzəyir Folium görselləşdirmə üçün müasir veb brauzerləri hədəf alır. Bunu üslubu ilə edir D3.js böyük məlumat dəstləri üçün yüksək performanslı interaktivliyə vurğu edərək məlumatlara əsaslanan vizuasiya üçün kitabxana. Datashader bir hissəsidir Bokeh yığma, toplama və çevrilmə yolu ilə kütləvi məlumat dəstlərinin nümayişi üçün bir qrafik boru kəməri tətbiq edir. Etkileyici qabiliyyətlərinin olması diqqət çəkir Datashader tez-tez yerleşim tətbiqləri (https://github.com/bokeh/datashader).

Python coğrafi məkanının vizual qatından ayrılmadan əvvəl iki əlavə nöqtə edilməlidir. Birincisi, Python elmi ictimaiyyətində elmi vizualizasiya üçün effektiv rəng xəritələri üzərində fəal bir diqqət var. Bu iş, choropleth Xəritəçəkmə üçün rəng sxemləri hazırlayan kartoqrafların işi ilə kəsişir. Python dünyasında populyar paketlər var paletlənə biləncolormap. İkincisi, Python elmi yığının vizuallaşdırma komponenti sürətlə inkişaf edir, buna görə oxuculara bu bölməni son təyinat yeri deyil, giriş nöqtəsi kimi istifadə etmələri tövsiyə olunur.

4.4 Mekansal Statistik Analiz

PySAL məkan məlumatları üçün məkan təhlili funksiyalarının kitabxanasıdır. Bu, məkan avtokorrelyasiyasının qlobal və yerli tədbirlərini özündə cəmləşdirən məkan məlumatlarının təhlilini əhatə edən modullardan ibarətdir - məkan qruplaşmasını və isti nöqtələri aşkarlamaq üçün populyar metodlar. PySAL ayrıca məkan reqressiyası, yer-zaman təhlili, bölgələşdirmə, xəritə təsnifatı və bir çox coğrafi hesablama modulu üçün funksionallıq təmin edir. PySAL coğrafi məkan Python yığınının çox az bir hissəsinin mövcud olduğu bir dövrdə başlamış və bu səbəbdən zərurət üzündən yığının aşağı səviyyələri üçün funksionallığı da əhatə etmişdir. Əlavə vaxt, PySAL yığının içindəki bir çox yeni paketlə (formalı, geopandalar, kopiya və s.) İnterfeys verən modullar əlavə etdi.

PySAL əsasən vektor məkan formatlarına diqqət yetirir və çoxbucaqlar, nöqtələr və şəbəkələrlə əlaqəli atributlar üçün statistik təhlili əhatə edir. Geostatistik məlumat analizi, temperatur, yağıntı, havanın keyfiyyəti kimi hadisələrin səth kimi modelləşdirildiyi coğrafi elmlərdə tez-tez rast gəlinən sahələrin statistik təhlili ilə əlaqələndirilir. Bu işin böyük bir hissəsinin məqsədi, hazırkı proses üçün ayrı-ayrılıqda müşahidə olunan yerlərə əsaslanan yerlərin davamlılığı üçün proqnozlar yaratmaqdır. Python yığınında, geostatistika bu günə qədər inkişaf etməmiş bir sahədir, çünki bir neçə layihə başlanğıcı olmuş, lakin fasilələrlə inkişaf etdirilmişdir - bir nümunə pikriging.

4.5 Mekansal Modelləşdirmə

Mesa agent əsaslı modelləri inkişaf etdirmək və tətbiq etmək üçün funksionallığı həyata keçirən bir paketdir. Bu modellər davranış qaydaları ilə birləşdirilmiş muxtar agentlərin bir şəbəkə planında davranışlarının və qarşılıqlı təsirlərinin bütövlükdə sistemə təsirlərini qiymətləndirmək üçün istifadə edilə bilər. ABM-in klassik nümunəsi, Mesa paketində əsas nümayiş kimi göstərilən Şellinq ayrılıq modelidir.

çoxsaylı ibtidai coğrafi əraziləri və ya nöqtələri sonrakı təhlillər üçün daha az sayda bölgələrə qruplaşdırmaq üçün istifadə edilə bilən məkan baxımından məhdudlaşdırılmış klaster alqoritmlərinin kitabxanasını təqdim edir. Məsələn, geodemoqrafiyada siyahıyaalma yolları həm sosial-iqtisadi oxşarlığa, həm də coğrafi yaxınlığa əsaslanaraq müəyyən edilə bilər. Sonuncu məhdudiyyətin daxil edilməsi regionallaşmanı daha ümumi çox dəyişkənli çoxluqdan fərqləndirir.

4.6 Veb və paylanmışdır

Getdikcə elmi iş axınları veb əsaslı və paylanmış çərçivələrə doğru irəliləyir və məkan təhlili istisna deyil. Burada fərdi xidmətlər kimi fərqli analitik və işləmə funksiyalarını bir-birinə bağlayan orta proqram təmin edən kitabxanalar tələb olunur. Python coğrafi məkanında, getdikcə artan paketlər, veb əsaslı geosessil və təhlili asanlaşdırmaq üçün Açıq Coğrafi Konsorsiumun spesifikasiyalarını tətbiq edir. Stetl yerleşim məlumatlarının çıxarılması, çevrilməsi və yüklənməsi (ETL) üçün bir vasitə dəsti təklif edir. OWSlib veb xəritələşdirmə xidməti (WMS), veb xüsusiyyət xidməti (WFS), sensor model dili (SensorML) və WaterML da daxil olmaqla 17 digər xidmətlər arasında Pythonic interfeysi ilə əsas OGC standartlarını həyata keçirir. Hər ikisi də StetlOWSlib hissəsidir GeoPython çoxsaylı coğrafi layihələr hazırlayan təşkilat.

4.7 Paket mülahizələri

Cədvəl 1-də göstərilən paketlər, Python-da işləyən yer məkanı inkişaf etdiricilərinin əldə edə biləcəyinin yalnız bir hissəsini təmsil edir. Bir paketin müəyyən bir təbəqəyə yerləşdirilməsinin bir qədər maye olduğu da nəzərə alınmalıdır, çünki müəyyən bir paket yığının çox qatını əhatə edən funksionallığı təmin edə bilər. Məsələn, çünki Geopandalar fiona və PySAL asılılıqları arasında ad sahəsi ilə bu paketlərin əsas funksionallığına giriş təmin edə bilər. Yerleşim paketlərinin zənginliyi və müxtəlifliyi, məsələn, paketlərin olduğu Pythondakı əsas elmi hesablama yığınının əsas güclü tərəflərini təsdiq edir. səssizcılız Python ekosisteminin inkişaf inkişafları ilə birlikdə əla bir inkişaf paradiqması təmin edir. Həm də, daha geniş Python elmi yığınında yerleşim funksionallığını tətbiq etmək üçün çağırıla bilən paketlər var. Misal üçün, şəbəkə-x şəbəkələrin və qrafiklərin təhlili üçün zəngin metodlar təqdim edir, skikit-image isə görüntü təhlili üçün güclü bir kitabxanadır.

There are a few issues that GIS developers need to keep in mind, particularly when developing GIS applications with Python for different platforms. A key issue is the management of the Python installation alongside third-party packages. Hər ikisi də ArcGISQGIS install their own Python interpreters in directories that are specific to those applications. This can be a source of confusion if the developer also has other Python installations on the same machine, particularly when it comes to installing additional packages. Python offers a number of approaches towards package management (pip being the main one), and Python distributions such as Anaconda and Enthought also provide their own package managers.

Python and the related GIS software ecosystem are very active and undergoing constant growth. To enhance one’s proficiency, it is important to keep up with these developments so that workflows can remain current by taking advantage of advances in the language itself and packages in the broader ecosystem. While predictions about the future are always challenging, the seeds of a few developments can already be seen emerging. The first is an increasing emphasis on the importance of interoperability between Python and other languages. Packages such as RPy allow for bidirectional interfaces between Python and R so that a developer can leverage the strengths of each language in the same workflow. This also serves to widen the scope of the GIScience programming stack.

A related area to keep abreast of is the set of tools that allow for extension of Python by wrapping external libraries written in lower level languages such as C, C++, and Fortran. Cython, numbaswig provide methods to target bottlenecks in a Python code base to be replaced with more computationally efficient libraries. The extensibility of Python using these tools means that initial prototyping of a GIScience application can rely on pure Python in a developer-efficient manner. Only after the full functionality of the application is implemented should attention turn to optimizations and, in many cases, this turns out to be a small fraction of the code base. In these instances, the extension frameworks can prove invaluable.

The world of parallel and distributed high performance computing has advanced remarkably in the past decade and the Python ecosystem exemplifies this. Although a comprehensive coverage of related packages is beyond the current scope (packages for cloud, distributed and high performance computing in Python can be found at https://wiki.python.org/moin/ParallelProcessing), one exemplar package to note is Dask. A flexible parallel library for analytic computing, Dask is built around two components: dynamic task scheduling that optimizes interactive computational workloads, and big data collections that enable out-of-memory or distributed processing of parallel data arrays and dataframes.

A fourth important thread is the rise of open science. Stressing the need for improved transparency, reproducibility, and replication, the open science movement is leading to new types of development paradigms such as Docker containers, conda environments and the notebook viewer that enable sharing of snippets of code and even complete workflows that reproduce the analysis underlying a particular scientific paper. Familiarity with these tools will be increasingly important for Python GIS development.

Open science also has parallels in the open government and open data movements that are driving transparency, sharing, and reuse of government collected data. These have fostered collaborative projects bringing together academic researchers, government and industry to fashion computing solutions targeting social and environmental issues. Given that many of these projects involve geospatial data and analysis, Python capable GIScientists can play a central role in these efforts.


From CSV to GeoDataFrame in two lines

Pandas is great for data munging and with the help of GeoPandas, these capabilities expand into the spatial realm.

With just two lines, it’s quick and easy to transform a plain headerless CSV file into a GeoDataFrame. (If your CSV is nice and already contains a header, you can skip the header=None and names=FILE_HEADER parameters.)

usecols=USE_COLS is also optional and allows us to specify that we only want to use a subset of the columns available in the CSV.

After the obligatory imports and setting of variables, all we need to do is read the CSV into a regular DataFrame and then construct a GeoDataFrame.


Videoya baxın: QGIS การตดขอมลเวกเตอรในโปรแกรม QGIS How to clip vector layer by QGIS (Oktyabr 2021).