Daha çox

PostGIS -də st_uniondan başqa həll funksiyası varmı?

PostGIS -də st_uniondan başqa həll funksiyası varmı?


Cədvəldəki çoxbucaqlı xüsusiyyətlər arasındakı paylaşılan sərhədləri həll etmək üçün bir funksiya axtarıram. ST_UNION () demək olar ki, axtardığımı edir, ancaq ortaq bir sərhəd paylaşıb -paylaşmamalarından asılı olmayaraq qatdakı bütün çoxbucaqlılardan çoxbucaqlı yaradır. Yalnız bir -birinə toxunan çoxbucaqlar arasındakı sərhədləri həll etmək istərdim. Düşündüm ki, ST_TOUCHES () istifadə etmək üçün bir yol olmalıdır, amma sonra həll funksiyasına ehtiyac o qədər ümumi görünür ki, buna nail olmaq üçün heç bir funksiya yoxdursa, təəccüblənərəm.

İstifadə nümunəsi belə görünür: Böyük bir Avropa ölkəsi üçün Corine Landcover məlumatlarını yüklədim və fərqli meşə növləri arasındakı sərhədləri (bir cədvəldə təxminən 75.000 poliqon) həll etmək istəyirəm. ST_UNION sınadım, amma "yaddaşım çatmadı" xətası ilə uğursuz oldu (30.000 çoxbucaq işləsə də):

c_00_c31_forests qrupundan substr (kod_00,1,2) tərəfindən c_00_cavab_sayısı (the_geom) ,_geom olaraq sum, (alan_ha) alan_ha, kod_00 olaraq substr (kod_00,1,2) olaraq masa corine00 yaradın.

Qeyd: Bütün meşə kodları '31' ilə başlayır və mən PostGIS 1.4, GEOS versiyasını istifadə edirəm: 3.2.0-CAPI-1.6.0


ST_MemUnion () sadəlövh və yavaş yaddaş dostu bir proses işlədəcək. Bunu sınaya bilərsiniz, əgər probleminiz kifayət qədər kiçikdirsə, ağlabatan müddətdə bitə bilər. Probleminizi yarıya bölə bilərik, sonra yarıları birlikdə işlədə bilərsiniz. Nəticələrin girişlərdən daha az nöqtəsi olacağından, bütün problemi bu şəkildə yaddaşa sığdıra bilərsiniz. Yoxsa yarılarda sürətli yaddaş aç işini və son birləşmədə daha yavaş rutini istifadə edin.


ST_Dump -ın istədiyiniz şey olduğuna inanıram:

ST_Dump:

G1 həndəsəsini təşkil edən bir sıra geometry_dump (geom, yol) satırlarını qaytarır ... Məsələn, MULTIPOLYGONS -u POLYGONS -a genişləndirmək üçün istifadə edilə bilər.

Sizin vəziyyətiniz üçün:

SELECT (ST_Dump (ST_Union (the_geom))). Geom FROM clc00_c31_forests GROUP BY substr (kod_00,1,2)

Etməyə çalışdığınız cədvəl yaradılması ilə necə qarşılıqlı əlaqədə olacağından əmin deyiləm, ancaq həndəsələri ayrı giriş kimi verməlidir. Daha sonra məlumatları həndəsələrə toplamaq üçün iki cədvəl arasında (&& və ST_Contains istifadə edərək) bir məkan birləşməsi edə biləcəksiniz.


PostGIS -iniz GEOS 3.1.0+ əleyhinə tərtib edilmişdir? Bu versiya üçün daha sürətli kaskadlı bir birlik tətbiq edildi, lakin tapılmadıqda daha yavaş böyüklükdə olan köhnə kodu istifadə edəcək.

Yeniləyin: PostGIS -iniz kaskadlı birlik yanaşmasını istifadə edir, amma yaddaş aclığı realdır. Mövcud yaddaşınızı Postgres nümunənizdə artırmağa çalışardım, Paul Ramsey -in 2007 -ci il FOSS4G PostGIS müzakirəsindən bəzi məsləhətlər:

  • Diskə giriş yavaşdır, buna görə də məlumatları önbelleğe almaq üçün daha çox yaddaş istifadə edərək daha yüksək performans əldə edə bilərsiniz!
    • Artırmaqpaylaşılan_buferlər
    • Fiziki RAM - OS ehtiyacları * 75%
  • Sıralama yaddaşda daha sürətli olur
    • Artırmaqiş_mem
  • Daha çox yaddaşla disk təmizlənməsi daha sürətli olur
    • Artırmaqtəmir_ iş_mem
  • Bağlantıya görə ayrılır
  • Həmçinin
    • Artırmaqwal_buffers
    • Artırmaqyoxlama nöqtəsi_segmentləri
    • Azaldıntəsadüfi_sayfa_xərc

Sizin halda, artırmağa çalışardımpaylaşılan_buferlər, ümumi tövsiyə, bir verilənlər bazası serveri üçün mövcud yaddaşınızın 25% -dir, ancaq mövcud dəyərini 3-4 dəfə artırmağa və tamamlandığını görməyə çalışın.


Python ilə coğrafi təhlili öyrənmək

Coğrafi analiz, tibbdən savunmaya, əkinçiliyə qədər düşünə biləcəyiniz demək olar ki, hər sahədə istifadə olunur. Coğrafi və ya coğrafi cəhətdən məlumatlara statistik təhlil və digər məlumat mühəndisliyindən istifadə etmək üçün bir yanaşmadır. Və bu, adətən, tərtib edilmiş və faydalı məlumatlar əldə etmək üçün coğrafi məkan göstərmə və işləmə qabiliyyətli tətbiqləri əhatə edir.

"Coğrafi məkan təhlilini Python ilə öyrənmək", coğrafi məlumat sistemləri, uzaqdan zondlama, topoqrafiya və s. Coğrafi məkan analizinə təsirli bir şəkildə yanaşmaq üçün bir çərçivənin necə istifadə ediləcəyini, ancaq öz şərtlərinizlə izah edir.

"Python ilə coğrafi təhlili öyrənmək" sahənin arxa planı, istifadə olunan texnika və texnologiyanın araşdırılması ilə başlayır və daha sonra sahəni komponentli ixtisas sahələrinə ayırır: GIS, uzaqdan zondlama, yüksəklik məlumatları, qabaqcıl modelləşdirmə və real vaxt. məlumatlar.

Bu kitab, müəyyən bir proqram paketindən və ya API -dən istifadə etməklə, coğrafi analiz üçün tətbiq oluna bilən ümumi alqoritmlərdən istifadə etməyinizə qədər hər şeyi öyrədəcək. Bu kitab, təhlil etməyə hazırlaşmaqda çətinlik çəkməmək üçün mümkün olduqda platformadan asılı ikili faylları minimuma endirmək üçün təmiz Python-a diqqət yetirir.

"Python ilə coğrafi təhlili öyrənmək", texniki kitabxananızı lazımlı reseptlər və bir çox müasir insanın səylərini tamamlayan bir sahəni yaxşı başa düşməklə tamamlayacaqdır.

Bu, Python və onun alətləri/kitabxanaları ilə Coğrafi və GIS təhlilini aparmağa kömək edən bir dərs tərzi kitabdır. Bu kitab, praktik istifadəyə, nümunələrə və ixtisaslaşdırılmış Coğrafi məlumat təhlili növlərinə keçmədən əvvəl, ilk fəsillərdə Python ilə əlaqəli müxtəlif alətləri/paketləri təqdim edəcək.

Bu kitab rəqəmsal xəritələşdirmə və təhlili başa düşmək istəyən və Python və ya başqa bir skript dilini avtomatlaşdırmaq və ya məlumatları əl ilə kəsmək üçün istifadə edən hər kəs üçündür. Python ilə.


Müəllif

Əlavə məlumat

Bununla birlikdə, Python-da obyekt yönümlü proqramlaşdırmadan heç vaxt tamamilə imtina etməzsiniz, çünki hətta doğma məlumat növləri obyektlərdir və modul kimi tanınan bütün Python kitabxanaları əsas obyekt quruluşuna və davranışına riayət edir.

Autodesk tərəfindən AutoCAD və Esri tərəfindən ArcGIS, bu qabiliyyəti inkişaf etdirən aparıcı ticarət paketləri idi və Coğrafi Məlumat Abstraksiya Kitabxanası (GDAL) OGR kitabxana tərtibatçıları CAD dəstəyi də əlavə etdilər.

1830-1860 -cı illər arasında Avropada ölümcül vəba epidemiyası Paris və London coğrafiyaşünaslarını epidemioloji tədqiqatlar üçün coğrafi analizdən istifadə etməyə vadar etdi.

Google Earth istifadəçiləri, məlumatları dünyaya yükləmək və tərtib etmək üçün XML sənədləri olan xüsusi Keyhole Markup Language (KML) faylları yarada bilərlər.

Çox spektral qabiliyyət və rəqəmsal format, Landsatın havadan görünüşünün göydən başqa bir fotoşəkil olmadığı anlamına gəlirdi.

Predvaritelnыy просмотр книги

Python ilə Geospatial Analizi öyrənmək - İkinci nəşr - Lawhead Joel