Daha çox

GDAL Merge Py-ni ubuntu üzərində bir çox tif plitələrə birləşdirin

GDAL Merge Py-ni ubuntu üzərində bir çox tif plitələrə birləşdirin


Mozaika 1000 Gtiff rasterini (hamısı bir qovluqda) linux ubuntu-da gdal merge vasitəsilə 1 tif fayla yığmağa çalışmaq.

Bir qovluqdakı bütün faylları çıxış tiffinə gətirmək üçün linux əmrində problem var.

Terminalda ubuntu-da gdal-da istifadə üçün nümunə kodu axtarıram.

Ubuntu üçün ən yaxşı təxminim budur

f in * .tiff üçün; gdal_merge - GTiff "$ f" etmək; bitdi

gdal_merge.py -o output.tif 'ls * .tif'

Arxa gənələr, əsas əmrdən əvvəl arxa gənələrin içərisində olanı icra etmək deməkdir, beləliklə, cari qovluqdakı bütün tif fayllarını tapacaq və bundan sonra gdal_merge.py-yə giriş olaraq istifadə olunacaq.

Backticks əvəzinə, istifadə edə bilərsiniz$ (əmr)sintaksis, yəni

gdal_merge.py -o output.tif $ (ls * .tif)

əvvəlkinə bərabərdir.

Daha mürəkkəb axtarış tələbləriniz varsa, unix / linux istifadə edə bilərsiniztapmaqəvvəlcə ls ilə birlikdə əmr verərək gdal_merge-ə keçmək üçün bir siyahı yaradın.

Bunu yalnız ubuntuda 16 tiff ilə uğurla etdim, buna görə də sizin üçün mütləq işləməlidir.


Çıxış plitələrində gdal2tiles piksel dəyişikliyi

Gdal2tiles köməyi ilə böyük geotiff sənədlərini (10.000 x 10.000 piksel) kiçik (256 x 256px) ölçülü plitələrə yenidən hesablamaq istərdim. Proses yaxşı işləyir. Lakin nəticə mükəmməl deyil. Plitələrdə cüzi bir dəyişiklik var (aşağıdakı şəkilə baxın). Artıq fərqli yenidən seçmə metodlarını sınadım və hər dəfə eyni nəticə əldə etdim.

Kiminsə fikri varmı?


GDAL Merge Py-də ubuntu üzərində bir çox tif plitəni birləşdirin - Coğrafi İnformasiya Sistemləri

Proqramın əsas məqsədi, müəyyən seçimlər və girişlər nəzərə alınmaqla, müəyyən edilmiş bir çini sistemində plitələr yaratmaqdır. Yalnız məcburi seçim çıxış qovluğu üçün -o-dur. Mövcud məlumatların səhvən yazılmasının qarşısını almaq üçün MapTiler Engine'i çalıştırdığınız zaman bu qovluq hələ mövcud olmamalıdır. Giriş olaraq, yalnız mənbə verilənlər bazası fayl adlarını təmin edə bilərsiniz [1].

Bir dəfədə daha çox fayl göstərmək üçün onları bir-birinin ardınca göstərməyiniz kifayətdir:

Maptiler-i arqument olmadan və ya -help seçimi ilə başlasanız, mövcud bütün əmrləri çap edəcəkdir:

MapTiler Engine-in standart davranışı, hər birini öz faylına, qovluq quruluşu altında yazmaqdır:

Burada z yaxınlaşma səviyyəsidir və x və y plitəsi döşəmə profilindəki müvafiq zoom səviyyəsində koordinatdır.

İstehsal olunan qovluq quruluşu, OGC WMTS standartını dəstəkləyən mb-util və TileServer layihəsi ilə uyğunlaşan sadə bir HTML görüntüləyicisini və metadata.json-da verilənlər bazasının təsvirini ehtiva edir.

MapTiler Engine, göstərilən xəritə plitələrinin SQLite verilənlər bazasına (MBTiles və ya GeoPackage formatı) birbaşa çıxışını dəstəkləyir. Bu, plitələrin ötürülməsini və idarə edilməsini asanlaşdırır və mobil tətbiqetmələr üçün praktikdir.

MapTiler Mühərrik Komandanlığı Yapısı

Qlobal seçimlər bütün giriş sənədlərinə aiddir, başqa sözlə:

Bütün fayllara yalnız giriş fayl adlarından əvvəl göstərilən arqumentlər tətbiq olunur!

Yalnız bir fayla tətbiq edilməli olan mübahisələr bu cür sənədin adından SONRA göstərilir (məsələn, yalnız həmin fayla xas olan yaxınlaşma səviyyə aralığı) və qlobal seçimlərdən daha üstündür.

Çini profili / Çini Matris Dəsti

Plitələrin çıxış sistemini təyin edən qlobal bir seçim - hədəf koordinat sistemi, plitə piksel ölçüsü və s. MapTiler Engine bu əvvəlcədən təyin edilmiş ən populyar sistemlərlə və xüsusi bir profil təyin etmək imkanı ilə gəlir.

-mercator DEFAULT. Google, Bing, Yahoo Maps, MapQuest, OpenStreetMap və iOS və Android-də mobil xəritələrlə uyğun sferik Mercator kafel profili. Bu, ən çox istifadə olunan profildir. EPSG: 3857 və ya EPSG: 900913 olaraq təyin edilmiş koordinat sistemindən istifadə edir. Ətraflı məlumat burada mövcuddur.

Fərqli döşəmə sistemindən istifadə etmək istəsəniz, onu komanda xəttindəki ilk əmr kimi təyin etməlisiniz. Bunlar alternativlər:

-KML SuperOverlay tərifinə əsasən Google Earth üçün xüsusi yer plitəsi profili. -Raster faylları georeferans ehtiyac olmadan göstərilməsi də mümkündür. -garmin Garmin GPS cihazları üçün 1024x1024 piksel ölçülü və .kml faylına format hazırlamaq. Daha sonra plitələri və .kml plitələrini bir .zip arxivinə yığın, genişlənməsini .kmz olaraq dəyişdirin və cihazda saxlayın. -özəl Siz öz çini sisteminizi təyin edə bilərsiniz. Daha çox məlumat üçün Qabaqcıl seçimlər bölməsinin altındakı müvafiq bölməyə baxın.

Misal: Google Earth ilə istifadə üçün plitələr istehsal etmək əmri:

Misal: Geodetic WGS84 Plate Caree ilə istifadə üçün plitələr istehsal etmək əmri:

MapTiler Engine, qabaqcıl müştərilər üçün əvvəlcədən təyin edilmiş xüsusi çini hazırlıqlarını (xüsusi kafel ızgaraları) təklif edir. Hər bir xüsusi döşəmə qabığının öz ərazi əhatə dairəsi var, bəziləri Dünya üçündür, digərləri yalnız spesifik dövlətləri və ya Ştatlar qrupunu əhatə edir.

-qabaqcadan geodezik WGS84 Plaka Baxımı / Layihələndirilməmişdir. Ən çox mövcud WMS serverləri, OpenLayers əsas xəritəsi ilə uyğundur.

seçilmiş bir Koordinat sistemi ilə standard_grid standart qlobal plitələr bəndini əvvəlcədən təyin edin. Bu döşəmə əvvəlcədən qurulmuş orijinal koordinat sistemini (SRS) saxlayır və giriş xəritəsini sferik merkator plitəsi profilinə görə plitələrə ayırır. Qeyd bu Google Mercator profili -mercator ilə uyğun deyil!

-Preset baidu Tilegrid, Çinli müştərilər üçün təyin edilmişdir. Bu əvvəlcədən qurulmuş yalnız Çin bölgəsini əhatə edir və Baidu Maps xidməti ilə uyğundur.

-preset yandex Yandex.Haritalarla uyğun, rus veb xəritələşdirmə xidmətində istifadə olunan xüsusi döşəmə qabağı. Əhatə dairəsi Rusiya və Ukrayna ilə məhdudlaşır.

-preset cz_jtsk Çexiya və Slovakiya üçün piksel başına 1 metrə qədər dəqiqliklə milli çini ızgarası.

-preset fr_rgf93 Tilegrid, Lambert 93 konik proyeksiyasından istifadə edərək, Fransadakı xəritələrin dəqiq örtülməsi üçün müəyyən edilmişdir.

-preset nl_rdnew Hollandiya üçün milli çini şəbəkəsi - Rijksdriehoekstelsel New / Amersfoort.

-preset uk_osgb [zoom_group] Ordnance Survey proyeksiyasından istifadə edərək Birləşmiş Krallıq üçün milli çini ızgarası. Bu xüsusi əvvəlcədən qurmaq üçün bu şəbəkənin çıxışı yaxınlaşdırma səviyyələrini məhdudlaşdıran müəyyən bir zoom_group tələb olunur. Mötərizədə zoom səviyyələri olan dəstəklənən dəyərlər: 0 (z0), 1 (z1 - z2), 2 (z3 - z6), 3 (z7 - z8), 4 (z9 - z10).

-preset ch_lv03 [zoom_group] İsveçrə və Lixtenşteyndə yüksək dəqiqliklə istifadə olunan İsveçrə milli çini ızgarası. Bu xüsusi əvvəlcədən müəyyən edilmiş bir yaxınlaşdırma qrupu tələb olunur, dəyəri 0 ilə 21 arasındadır. Bu dəyərlər daha çox xüsusi zoom səviyyəsində təmsil olunur. Çıxış plitələri birləşdirilə bilər və SwissTopo xəritələri ilə uyğundur.

Qeyd edək ki, -zoom 3 3 tələb olunmur və bu zoom qrupu üçün müəyyənləşdirildiyi kimi avtomatik məhdudlaşdırılır.

-preset nz_nztm [zoom_group] Yeni Zelandiya Geodetic Datum (NZGD2000), Yeni Zelandiya və dəniz adaları üçün rəsmi geodeziya məlumatı. Bu xüsusi əvvəlcədən müəyyən edilmiş bir yaxınlaşdırma qrupu tələb olunur ki, bu da bu şəbəkənin çıxış səviyyəsini məhdudlaşdırır. Mötərizədə zoom səviyyələri olan dəstəklənən dəyərlər: 0 (z0-z7), 1 (z8-z10), 2 (z11-z13), 3 (z14-z16).

Misal: Mercator profilində standart Retina plitələrinin istehsalı əmri

Nümunə: raster profildə 1.5 miqyaslı Retina plitələrinin istehsalı əmri

Bu seçim, kafel piramidasının hansı təbəqələrinin yaranacağını müəyyənləşdirir. Varsayılan şəkil qətnaməsindən hesablanan "yerli" səviyyədir. Əlavə zoom səviyyələri əlavə etməlisinizsə, onları mütləq ədədi dəyərlər və ya + və - önekli "yerli" səviyyələrə nisbi ədədlər kimi təyin edə bilərsiniz.

Hər bir giriş sənədinin yaxınlaşma səviyyələri üçün öz açıq seçimi ola bilər.

Nümunə: zoom səviyyələri avtomatik olaraq məsələn hesablanır. 1 - 5

Nümunə: zoom səviyyələri açıq şəkildə 3 - 5 olaraq təyin edilmişdir

Nümunə: zoom səviyyələri, yerli zoom səviyyələrinə nisbətən 1 ilə 6 arasında qurulur

Nümunə: zoom səviyyələri, yerli zoom səviyyələrinə nisbətən 2 ilə 4 olaraq təyin edilmişdir

Nümunə: yaxınlaşma səviyyələri açıq minimum, yerli yaxınlaşma səviyyəsinə nisbi maksimum olaraq 0 - 4 olaraq təyin olunur

İstehsal olunan plitələr bir neçə şəkil formatından birində saxlanıla bilər. MapTiler Engine, göstərilən xəritələrin yerləşdiyi disk ölçüsünü və plitələr onlayn olduqdan sonra müştərilərə köçürmək üçün lazım olan vaxtı minimuma endirmək üçün son sənəd ölçüsünün optimallaşdırılmasını və bir sıra rənglərin (kvantlaşdırma) istifadə edilməsini əhatə edir.

Şəffaflığı dəstəkləyən formatlar bunlardır:

-f png8a ƏSAS. Paletli RGBA PNG şəkli. -f png və ya -f png32 RGBA PNG image -f webp və ya -f webp32 RGBA WebP image

Şəffaf olmayan formatlar bunlardır:

-f jpg və ya -f jpeg YCbCr rəng məkanında mütərəqqi JPEG görüntüsü -f png8 Paletli RGB PNG şəkili -f png24 RGB PNG görüntüsü -f webp24 RGB WebP şəkli

Çini şəffaflığı və ya arxa plan rəngi

Hansı giriş məlumatlarını təyin etməyinizdən asılı olmayaraq, onları kirəmitli profil proyeksiyasına çevirdikdən sonra MapTiler Engine onları RGBA şəkilləri kimi idarə edəcəkdir. Şəffaflıq, görüntünün özündən bir alfa kanalı olaraq (qismən şəffaf sahələr üçün dəstəklə), seçilmiş bir rəngdən (NODATA rəng adlanır) əldə edilə bilər və ya GDAL əyri ilə çevrilmənin yalnız bir nəticəsi ola bilər. alqoritm - mövcud giriş məlumatları olmayan sahələr üçün.

Kafel tamamilə şəffafdırsa, saxlama sahəsini saxlamaq üçün heç vaxt diskdə saxlanılmır.

Piksellərin hamısı tam görünürsə (məs. Qeyri-şəffaf, maksimum alfa 255-dir), alfa kanalı atılır və kafel qeyri-şəffaf / qeyri-şəffaf olaraq qeyd olunur. Əks təqdirdə, kafel alfa ilə qismən şəffaf kimi qeyd olunur.

Şəffaflığa dəstək olmadan qismən şəffaf plitələr bir çini formatında qeyd olunursa (-f jpg seçimi ilə göstərilən JPEG kimi), o zaman fon rəngi tətbiq olunur. Varsayılan fon rəngi ağdır (255,255,255), ancaq seçiminizi özünüz edə bilərsiniz: 

-bg [r] [g] [b] Şəffaf olmayan kafel formatlarında şəffaflığı əvəz edən fonun rəngi.

-ignore_alpha Dəstiniz dörd kanal içərsə də dördüncü kanal alfa kanal deyilsə, bu kanalı görməməzlikdən gəlmək üçün bu seçimi istifadə edə bilərsiniz.

Bu seçim göstərilən plitələrin saxlanılması üçün istifadə olunan saxlama formasını tətbiq edir. Mümkün seçimlər (dir), MBTiles (mbtiles) və GeoPackage (geopackage). Varsayılan qovluqdur, lakin -o parametrinin .mbtiles və ya .gpkg ilə bitməsi halında, müvafiq olaraq MBTiles və ya GeoPackage-də işləmə seçilir. Bu seçim mağaza formasını açıq şəkildə göstərir.

Qeyd: bu mövzuda daha ətraflı məlumat üçün yuxarıdakı istifadə bölməsində Çıxış bölməsini oxuyun.

-parse Ayrı-ayrı xəritələr arasındakı boşluğu atlayın və boş plitələr yaratmayın. Bu seçim xəritələr arasında nəhəng sahələr olduğu təqdirdə göstərmə sürətini artıra bilər. Bu -store dir üçün standart seçimdir. -no_sparse Ayrı-ayrı xəritələr arasındakı boşluğu (əgər varsa) fon rəngindəki boş plitələrlə doldurur. Bu seçimin göstərilməsi və xəritələr arasında böyük sahələr olduğu təqdirdə daha çox disk sahəsi götürmək daha uzun çəkə bilər. Bu -store mbtiles və -store geopackage üçün standart seçimdir.

GUI-də seyrək seçimin qurulması Qabaqcıl seçimlər dialoqundadır.

MapTiler Engine, şəffaf formatı (PNG kimi) istifadə edən şəffaf plitələrin və heç bir şəffaflığı olmayan plitələrin fərqli bir formatda (JPEG kimi) saxlanılmasına imkan verən hibrid bir kafel formatına keçirməyə imkan verir. Hava fotoşəkilləri örtükləri və ya digər məlumat dəstləri üçün bu, yaddaşa əhəmiyyətli dərəcədə qənaət etmək deməkdir. Yaratılmış fayllar uzantısızdır. Bu, yaradılan OpenLayers görüntüləyicisini sadələşdirmək üçün edilir.

Çıxışı pisləşdirərək istehsal olunan plitələrin ölçüsünü əhəmiyyətli dərəcədə azalda bilən şəkil formatlarına çevrilmə parametrlərini təyin etmək üçün bəzi seçimlər var.

-jpg_quality [dəyər] JPEG sıxılma keyfiyyəti. 10 ilə 95 arasında bir rəqəm. Varsayılan 85-dir. -Quant_quality [value] Kantlaşdırmanın keyfiyyəti. 1 ilə 100 arasında bir rəqəm. Varsayılan 100-dir. -Quant_speed [value]

Daha yüksək sürət səviyyələri bahalı alqoritmləri aradan qaldırır və kəmiyyət dəqiqliyini azaldır. Sürət 1 əhəmiyyətli CPU dəyəri ilə cüzi dərəcədə daha yaxşı keyfiyyət verir. Sürət 10 ümumiyyətlə 5% daha aşağı keyfiyyətə malikdir, lakin sürət 8-dən 8 dəfə çoxdur. Varsayılan 10-dur.

Yaranan plitələrin vizual keyfiyyəti ilə əlaqəli kvantlaşdırma ilə əlaqəli problemlərlə qarşılaşsanız, -quant_speed dəyərlərini aşağı salmağa çalışın.

-webp_quality [dəyər] WebP sıxılma keyfiyyəti. 1 ilə 100 arasındakı rəqəm. Səviyyə 100 itkisiz sıxılma deməkdir. Varsayılan 75-dir. -Webp_alpha_quality [dəyər] WebP alfa kanalının sıxılma keyfiyyəti. 1 ilə 100 arasındakı rəqəm. Səviyyə 100 itkisiz sıxılma deməkdir. Varsayılan 100-dir.

Map1.tif və map2.tif fayllarından xaricində xaritənin daha yüksək vizual olan optimal rənglərə sahib daxili palitrası olan plitələrə göstərilməsi nümunəsi:

Bu URL-nin sonunda ABC əvəz etməklə xüsusi mətn ifadəsi təyin edilə bilər. Bu filigran sənədinin şəffaflığını MapTiler Engine ilə tətbiq etməzdən əvvəl Photoshop və ya bənzər bir vasitə istifadə edərək qurmağı məsləhət görürük.

Filigranın istifadəsi nümunəsi:

Giriş faylları və əlaqəli seçimlər

Giriş fayl formatları dəstəklənir

MapTiler Engine, GeoTIFF, Erdas Imagine, ECW, MrSID, JPEG2000, SDTS, DTED, NITF, HDF4 / 5, BSB / KAP, OziExplorer və s. Daxil olmaqla çox sayda raster geodata formatını aça və işləyə bilir.

Praktik olaraq hər hansı bir müasir mövcud georeferans koordinat sistemi (SRS - məkan istinad sistemi, məsələn, geodeziya məlumatı + parametrləri ilə xəritə proyeksiyası) dəstəklənir, yəni proqram dünyanın hər yerindən əldə edə biləcəyiniz demək olar ki, hər bir geodatanı işləyə bilər.

Giriş faylları artıq istifadə edilmiş bir koordinat sisteminin (SRS) tərifini ehtiva edərsə, MapTiler Engine onu yükləyə və bu məlumatları xəritələrin çevrilməsi üçün birbaşa istifadə edə bilər. Təqdim olunan sənəddə bu məlumatın olmaması və ya səhv olması halında (maptiler xəritələri səhv bir yerə yerləşdirir, bir seçim ilə məkan istinad sistemi haqqında məlumat təyin edə bilərsiniz:

-srs [tərif] Dataset proyeksiyası. 'Epsg: XXXX', PROJ.4 simli şəklində WKT, EPSG kodu ola bilər. Qaçmaqdan çəkinin. Tanımlayıcıları və ya tərifləri axtarmaq üçün spatialreference.org və ya EPSG.io istifadə edin.

Göstərilmədən əvvəl Birləşmiş Krallıq məkan arayışı OSGB'nin GeoTIFF sənədinə təyin edilməsi nümunəsi:

Bir rəngdən şəffaflıq

Bir xəritə ətrafında tamamilə qara haşiyəni silmək üçün nümunə:

Georeferencing, GUI və ya onlayn vasitə istifadə edərək vizual olaraq da edilə bilər.

Xəritələrin düzgün göstərilməsi üçün verilən koordinat sistemindəki (SRS) təchiz edilmiş giriş sənədlərinin yeri mövcud olmalıdır. MapTiler Engine, coğrafi yeri avtomatik olaraq giriş fayllarının daxili başlıqlarından (GeoTIFF kimi) və ya varsa, xarici dəstəkləyici sənədlərdən (məsələn, ESRI WorldFile) yükləyir.

Xüsusi seçilmiş bir georeference məlumatını tətbiq etmək və ya xarici fayllardan yükləmək üçün bu seçimlər mövcuddur:

-bbox [minx] [miny] [maxx] [maxy] Müəyyən edilmiş məkan istinad sistemində bir sənədin sərhədlərini əl ilə təyin etmək. -geotransform [posX] [scaleX] [rotX] [posY] [rotY] [scaleY] Afin çevrilməsini birbaşa təyin etmək. Bu seçim qısa adı -gt ilə də istifadə edilə bilər. -georeference [path_to_file] Xarici georeferansı Dünya Faylı, Tab Faylı, OziExplorer Xəritə Faylından və ya .prj faylından yükləmək üçün bir seçim. künclər [şərq1] [şimal1] [şərq2] [şimal2] [şərq3] [şimal3] 3 künc nöqtəsi ilə afin çevrilməsini təyin etmək: [0, 0], [en, 0], [en, hündürlük]. Bu seçim, müəyyən bir Koordinat sistemi olmayan fayllar üçün -srs EPSG: 4326 quracaq lng1 lat1 lng2 lat2 lng3 lat3 arqumentləri kimi WGS84 Koordinat Sistemi (EPSG: 4326) ilə istifadə edilə bilər.

Coğrafi yerləşmə üç və ya daha çox nəzarət nöqtəsi - GCP (Zəmin Nəzarət Nöqtəsi) istifadə edərək təyin edilə bilər. Hər bir GCP rasterdəki (pixel_x və pixel_y) mövqeyi ilə müəyyən edilir ki, bu da georeferenced bir yerlə əlaqələndirilir (şərqə doğru şimal [yüksəlmə]). Son element (yüksəklik) əsasən sıfırdır.

-gcp [x_pixel] [y_pixel] [easting] [northing] [yükseklik] Torpaq idarəetmə nöqtəsi təyin etmək. Ən azı üç nəzarət nöqtəsi tələb olunur. Son elemet [yüksəklik] isteğe bağlı dəyərdir. -sifariş [dəyər] Təyin edilmiş GCP-lərin çevrilmə metodu üçün polinom sırasını təyin etmək üçün bir seçim. Dəstəklənən sifarişlər 0 (avtomatik), 1 (afine) və 2 (ikinci dərəcəli polinom). Varsayılan olaraq, avtomatik sifariş bir sıra GCP nöqtələrinə əsasən seçilir. -tps Təyin edilmiş GCP nöqtələrinə əsaslanan İncə Plitə Spline transformatorunun istifadəsini məcbur edin. Bu seçim-order ilə istifadə edilə bilməz. Bu seçim təyin olunmuş 10-dan çox GCP üçün tövsiyə olunur.

Təyin edilmiş GCP ilə TPS çevrilməsindən istifadə üçün nümunə:

Kəsmə xətti üçün iki komanda xətti seçimi var: -cutline və -cutline_proj. Giriş şəkli üçün kəsik xəttini (kəsmə yolu) piksel və ya proqnozlaşdırılan koordinatlarda təyin edirlər. Hər ikisi də bir fayl adı gözləyirlər. Fayl ya CSV, ya da bir OGR verilənlər bazası ola bilər (məsələn, ESRI ShapeFile .shp).

Bir OGR sənədindən MapTiler Engine, ilk qatın bütün xüsusiyyətlərindən bütün poliqonları və çox poliqonları yükləyəcək.

Üçbucağın qovşaqlarının piksel koordinatları ilə CSV formatı, daha çox sətir çoxbucaqlı yaradacaqdır:

-cutline [path] Piksel əsaslı bir kəsik xətti hər bir giriş faylı üçün spesifikdir - buna görə parametr bir fayl adından sonra istifadə olunmalıdır (bax MapTiler Mühərrikin Komanda Strukturu bölməsinə).

Belə bir piksel əsaslı kəsik xəttindən istifadə nümunəsi:

-cutline_proj [yol] İlk giriş sənədindən əvvəl göstərildiyi təqdirdə, coğrafi koordinatları olan kəsik xətti birdən çox fayl üçün istifadə edilə bilər.

Bir .shp faylında saxlanılan geokoordinatlarla kəsik xəttinin başqa bir nümunəsi (bir koordinat sistemi ilə .prj faylını müşayiət etməyi tələb edə bilər):

-cizgi xətti YOXDUR Faylın daxil xəttini görməməzlikdən gəlin.

MapTiler Engine, çıxış xəritəsinin rənglərini yaxşılaşdırmaq üçün bir neçə parametr təyin etməyə imkan verir. MapTiler Desktop Pro (GUI) bu dəyərləri interaktiv şəkildə qiymətləndirə bilər, ancaq əl ilə təyin etmək üçün aşağıdakı seçimlərdən də istifadə edə bilərsiniz.

-color_gamma [r] [g] [b] Fərdi kanalların qamma düzəldilməsini göstərin, daha yüksək dəyərlər daha parlaq piksellərlə nəticələnir (1 = dəyişməz). -color_contrast [kontrast] [yanaşma] "Kontrast" ın daha yüksək dəyərləri qaranlıq və işıq sahələri arasında daha böyük fərqlə nəticələnir (0 = dəyişməz).

Qaranlıq / açıq yerlərdə daha çox təfərrüat saxlamaq istəsəniz "yanlılıq" istifadə edin (0.5 = bərabər, & lt0.5 = açıq yerlərdə detallar, & gt0.5 = qaranlıq ərazilərdə detallar)

-color_saturation [doyma] Xəritənin doymasını dəyişdirin (1 = dəyişməz, 0 = boz ton, & gt1 = rəngarəng)

Birdən çox MBTiles və ya Qovluqda birdən çox fayl

MapTiler Engine, birdən çox giriş sənədindən tək birləşdirilmiş qat yaratmaq üçün nəzərdə tutulmuşdur. Birdən çox faylı işləməli olsanız və hər biri üçün ayrı bir fayans dəsti hazırlasanız, bir toplu işləmə tövsiyə olunur.

Bu əmr yerli bir qovluqdakı hər bir .tif sənədini işləyir və çıxış qovluğunda hər birindən .mbtiles yaradır. .Mbtiles əmrdən silinirsə, bunun əvəzinə ayrı qovluqlar istehsal edir. Əmr əməliyyat sistemlərində fərqlənir:

Toplu işdə istifadə edildikdə% f %% f olmalıdır.

Bir çox giriş faylı (MapTiler Engine və ya MapTiler Desktop Pro üçün ümumi məbləğ məhdud deyil) kimi MapTiler Mühərrikinə keçmək üçün çox sayda arqumentiniz varsa, bütün arqumentlərlə mətn faylı hazırlaya və - optfile myarguments.mtp. Faylların siyahısı ls və ya dir əmrləri ilə asanlıqla yaradıla bilər.

Komanda xəttində normal olaraq ötürülən istənilən mübahisələr --optfile mətn sənədinin bir hissəsi ola bilər. MapTiler Engine, əmr sətirindəki arqumentləri mətn sənədindəki arqumentlərlə birləşdirə bilər:

.Mtp uzantısı kısaltmasıdır MapTiler LayihəsiMapTiler Desktop Pro GUI-də istifadə edilə bilən təlimat səhifəmizə baxın.

Müvəqqəti kataloq yeri

Göstərmə zamanı MapTiler Engine, müvəqqəti bir qovluğa çox miqdarda məlumat yazır. Çıxış qovluğunda olacağı qədər deyil, yenə də. Xahiş edirəm fayl sistemində bunun üçün kifayət qədər yer olduğundan əmin olun.

Varsayılan olaraq, müvəqqəti qovluq sistemin müvəqqəti müvəqqəti yerində yaradılacaqdır (/ tmp / Unix kimi sistemlərdə və ya Windows kimi sistemlərdə% TEMP% mühit dəyişəninin yolu). Bunu seçim ilə ləğv edə bilərsiniz:

-work_dir [qovluq] Göstərmə zamanı müvəqqəti məlumatların saxlandığı yer. Varsayılan olaraq sistem müvəqqəti qovluğu.

Çıxış plitələrinin görmə keyfiyyəti də yenidən köçürmə metodu ilə müəyyən edilir. Seçilmiş metod, ayrı-ayrı piksellərin dəyərlərinin interpolasiyası üçün istifadə olunur və istehsal olunan xəritələrin dəqiqliyinə və hamarlığına təsir göstərir.

-yaxın qonşu yenidən köçürmə yaxınlığında yenidən seçmə. İstehsal məlumatları üçün nadir hallarda məna verir. Digərlərindən daha sürətli olduğundan sürətli sınaq üçün istifadə edilə bilər. - yenidən seçmə bilinməz DEFAULT. Bilinear yenidən seçmə (2x2 piksel nüvəsi). - yenidən nümunə götürmə kubik kub konvolsiyası (4x4 piksel nüvəsi). - yenidən nümunə götürmək kub_spline Kubik B-Spline Yaxınlaşdırma (4x4 piksel nüvəsi). -resampling ortalama Orta resampling, NODATA olmayan bütün piksellərin ortalamasını hesablayır. (GDAL & gt = 1.10.0) yenidən seçmə rejimi Rejim yenidən seçmə, seçilən nöqtələrin əksəriyyətində görünən dəyəri seçir. (GDAL & gt = 1.10.0)

MapTiler Engine tərəfindən hazırlanan yenidən seçmə icmalları, varsayılan olaraq orta metoddan istifadə olunur. Başqa bir mümkün metod Ən yaxın qonşudur.

-yaxın qonşu icmallarına yenidən baxış. Əsasən yüksəklik xəritələri və ya buna bənzərlər üçün istifadə olunur. -overviews_resampling ortalama Orta icmallar yenidən seçmə, NODATA olmayan bütün piksellərin ortalamasını hesablayır.

Müəyyən edilmiş bir koordinat sistemi üçün xüsusi bir çini profilini təyin etmək

MapTiler Engine, göstərilməli olan xüsusi bir plitələr sisteminin təyin edilməsinə imkan verir. Bu cür döşəmə sxemi və ya OGC WMTS xidmətinin terminologiyasında TileMatrixSet, kafel profili seçimini yerinə yetirməli olan parametrlərlə təyin olunmuş MapTiler Mühərriki üçündür: -özəl. Bu qlobal seçim, giriş fayl adları ƏVVƏL göstərilməlidir

-tiling_srs [tərif] məkan istinad sistemi, məs. plitələrin yaradıldığı koordinat sistemi. -Srs-dən bilinən təriflərə əməl edir. -tiling_bbox [minx] [miny] [maxx] [maxy] Tiling_srs koordinatlarında müəyyən edilmiş plitələrə bölünməli olan sahə. -tiling_resolution [zoomlevel] [qətnamə] Verilən yaxınlaşma səviyyəsində piksel başına döşəmə məkan istinad sisteminin vahidlərində qətnamə. MapTiler Mühərriki, hər biri bir əvvəlkinin qətnaməsinin yarısına sahib olan bütün digər zoom səviyyələri üçün avtomatik olaraq dəyərlər hesablayacaqdır. -tiling_resolution from_output Çözünürlük, bütün giriş xəritəsini bbox, srs və kafel ölçüsü ilə müqayisədə zoom 0 səviyyəsində bir kafelə sığacaq şəkildə hesablanır. -tiling_resolution from_input Çözünürlük göstərilməyibsə, standart davranış. Çözünürlük, bbox, srs və kafel ölçüsü ilə əlaqəli ən böyük giriş xəritəsini əvəz etməmək üçün hesablanır. -taş_ölçüsü [en] [hündürlük] Bir kafelin piksel ölçüləri. -cərgə_ mərkəzli Çini (0, 0) dünyanın mərkəzindədir.

Karo döşəmə sxemi - plitələrin adlanması

MapTiler Mühərriki, Google XYZ plitələr adlandırma istifadə edir. OSGEO TMS adlandırma (Y oxu ilə), QuadKey adlandırma (Microsoft Bing Maps tərəfindən bilinir) və ZYX adlandırma (Microsoft Bing Maps tərəfindən tanınır) dəstəkləyir. Bu döşəmə sxemləri yalnız qovluqdakı (-store dir) kafel mağazası üçün dəstəklənir. Bu qlobal seçim, giriş fayl adları ƏVVƏL göstərilməlidir.

-xyz və ya -zxy Google XYZ (yuxarı sol mənşəli) plitələrin adlanması. Output_directory / olaraq qovluq yolu//.. -tms OSGEO TMS (alt-sol mənşəli), Google XYZ-ə qarşı olaraq Y oxunu çevirdi. Bu döşəmə sxemi MBTiles üçün standart olaraq müəyyən edilmişdir. -quadkey Microsoft Bing QuadKey (yuxarı sol mənşəli). MapTiler Mühərriki, zum səviyyəsi olaraq adlandırılan qovluqlara ayrılmış quadkey adı verilən fayllar yaradır (output_directory //.). Ətraflı məlumat bu Microsoft veb saytında. -zyx Microsoft Bing ZYX (yuxarı sol mənşəli) plitələrin adlanması. Output_directory / olaraq qovluq yolu//..

RGBA rəng modeli üçün birdən çox kanaldan lentlər seçin

MapTiler Engine, bir çox xəritə kanalından RGB (A) rəng modeli üçün lentlər seçməyə imkan verir. Nümunə, İntra-Qırmızı, bitki örtüyü, bulud aşkarlanması və s. Kimi müxtəlif bant genişliyinə malik çoxsaylı spektral zolaqlar (kanallar) ehtiva edən Sentinel 2 mənbələri kimi hava şəkilləridir. MapTiler Engine - RGB vasitəsilə göstərilmək üçün yalnız üç klassik lent istifadə olunur. Həqiqi Rəngli Şəkillər qurmaq üçün Qırmızı Yaşıl və Mavi lentlər. Bu fayl seçimləri, giriş faylının adından SONRA göstərilməlidir.

-b [qırmızı] -b [yaşıl] -b [mavi] -b [alfa] RGBA rəngləmə modeli üçün giriş zolağı seçin. Son hissə -b [alfa] Alpha kanalını seçmək üçün isteğe bağlıdır. Bantlar 1-dən nömrələnir. Bu, qaynaq zolaqlarının yenidən sıralanmasına imkan verir.

RGB lentlərinin Qırmızı Yaşıl Mavi rənglər üçün sırasıyla 4, 3 və 2 olduğu Sentinel 2 görüntüsünə nümunə:

Alfa kanalı (4-cü lent) ilə yalnız qırmızı (1-ci band) görüntü yaratmaq üçün nümunə:

Müdaxilə edin və uzun müddət göstərməyə davam edin

Uzun müddət işləmə işi son istifadəçi və ya sistem qəzası ilə kəsilə bilər (elektrik kəsilməsi, diskdə boş yer yoxdur). MapTiler Mühərriki yalnız sadə davam etdirmə rejimini dəstəkləyir - göstərmə prosesi eyni seçimlərlə eyni kompüterdə davam etdirilə bilər.

-keep_unfinished Mövcud çıxış plitələrinin və tətbiqetmə tərəfindən yaradılan müvəqqəti sənədlərin silinməsinin qarşısını almaq üçün. - davam etdirmə Bitməmiş və ya kəsilmiş göstərmə prosesində davam etmək. Eyni kompüterdə eyni arqumentləri tələb edir. Mövcud plitələrin kodlaşdırılmasını atlayır. Bu seçim göstərmə prosesinin başlanğıcı üçün də istifadə edilə bilər, avtomatik olaraq yarımçıq plitələr saxlayacaqdır.

Qabaqcıl əyilmə arqumentləri

Qabaqcıl əyilmə alqoritmləri parametrləri seçim ilə müəyyən edilə bilər:

-iki “ADI = DƏYƏR” Çözmə variantları. GDAL-da papszWarpOptions sahəsinə baxın.

Ön tərəfdəki tərəqqiyə baxın

MapTiler Mühərriki, bir ön tətbiqetmədə asanlıqla təhlil edilərək inkişaf edə bilər. Sadəcə ilk mübahisədən istifadə edin - tərəqqi və tətbiq çıxışı TSV (tabulyatorla ayrılmış dəyərlər) formatında standart çıxışdakı irəliləməni: Mərhələ TAB Faiz TAB Təkrarlama TAB Cəmi

Kompüter klasterində istifadə

MapTiler Engine, bir klasterə xas ikili tələb olunduqda bir MPI qrupunda işləyə bilər. MPI versiyanız varsa, onu bir klasterdə işlətmək üçün bir qabıq qablaşdırıcısı da çatdırılır.

MapTiler Engine-in Map Reduce yanaşmasından istifadə edən bir versiyası və Hadoop inkişaf mərhələsindədir, bu, köhnə MPI-ni əvəz edəcəkdir.

Daha çox məlumat MapTiler Klaster səhifəsində mövcuddur.

Bu xüsusiyyət MapTiler Desktop PRO Demo-da deyil, yalnız aktivləşdirilmiş lisenziyalı MapTiler Desktop PRO və MapTiler Engine nəşrlərində mövcuddur. MBTiles-in GUI-də birləşdirilməsi bu təlimat məqaləsində təsvir edilmişdir.

Faydalı proqram əvvəllər göstərilən bir verilənlər bazasını yeniləməyə və mövcud olan kiçik bir ərazini fərqli bir yeni göstərilən raster məlumatları ilə əvəz etməyə imkan verir. Tipik istifadə vəziyyəti, əvvəllər MapTiler Engine tərəfindən bir çox giriş sənədlərindən göstərilmiş geniş bir seamed verilənlər bazasında kiçik bir coğrafi sahənin düzəldilməsidir.

Faydalı proqram ayrıca plitələrin məhdudlaşdırıcı qutusunu da genişləndirir - yalnız qismən üst-üstə düşən iki xəritəni daha böyük ölçüdə əhatə edən daha böyük bir xəritəyə birləşdirmək üçün istifadə edilə bilər.

  1. MapTiler Engine ilə böyük bir verilənlər bazası göstərin - bir neçə giriş sənədindən və böyük MBTiles istehsal edin (daxili olaraq JPEG və ya PNG plitələrlə): large.mbtiles
  2. mövcud verilənlər bazasında əvvəllər göstərilən giriş sənədlərindən birini yeniləmək istəyirsinizsə, bu dosyanı MBTiles şəklində göstərir - PNG32 formatı və geniş verilənlər bazasında görünməsini istədiyiniz zoom səviyyələri ilə. Patch.mbtiles-ə yalnız bir fayl ilə yeni kiçik MBTiles qeyd edin

Həm böyük.mbtiles, həm də patch.mbtiles-də mövcud olan plitələr birləşdiriləcəkdir. Eyni böyütmə səviyyələrində patch.mbtiles orijinal böyük.mbtiles-i əvəz edəcək - buna görə də böyük.mbtiles yerində yenilənəcəkdir.

-P [n] Müəyyən edilmiş nüvələrin sayına limit qoyun. -no_sparse Ayrı-ayrı xəritələr arasındakı boşluğu (əgər varsa) arxa plan rəngli boş plitələrlə doldurur. Bu seçimin göstərilməsi daha uzun çəkə bilər, əgər xəritələr arasında böyük sahələr varsa, bunlar yaradılmalıdır. Xəritələrin bir-birinin üst-üstə düşməsi halında əlavə bir hərəkət yoxdur. Bu seçim olmadan standart davranış ayrı xəritələr arasındakı boşluğu doldurmur. -reencode Bu seçim, birləşdirilmiş 2 xəritənin fərqli bir formata sahib olduğu zaman faydalıdır (məs. jpeg və png). Varsayılan olaraq, nəticə hibrid bir formatdır (hər ikisinin birləşməsi). Yenidən kodlama seçimi istifadə olunursa, seçilmiş fayl həqiqi formata kodlaşdırılır (prosesi ləngidə bilər).

Bir səhv haqqında məlumat verdiyiniz təqdirdə bu faylı əlavə etmək çox vacibdir, çünki bu məlumat problemi müəyyənləşdirməyə və tez bir zamanda həll yolunu tapmağa kömək edir

MapTiler Desktop GUI tətbiqindən bir səhv hesabatı göndərmək burada izah olunur.

MapTiler Engine v10.0 və daha yüksək versiyası Vector girişlərinin MVT (Mapbox Vector karo) formatında göstərilməsini dəstəkləyir. Vektör göstərmə dəstəyi, yerli Linux dağıtımında məhdud olan 2.3.0 və ya daha yüksək bir GDAL kitabxana versiyasını tələb edir. MapTiler Engine ilə docker görüntüsünün istifadəsi Linux ƏS-də vektor göstərilməsi üçün tövsiyə olunur. MapTiler Desktop, praktik bir nümunə məqaləsi ilə Vector qatları üçün GUI təklif edir.

Vektor girişi MVT formatında xüsusi hədəf qatına daxil olan bir və ya daha çox qatdan ibarətdir. Mənbə qatının hər bir xüsusiyyəti var açar = dəyər işlənə və ya hədəf qatının son atributlarına çevrilə bilən atributlar. Vektor girişi üçün aşağıdakı arqumentlər dəstəklənir: -srs, -zum-boks, yuxarıda izah edildiyi kimi. Hələ vektor göstərilməsi üçün digər arqumentlərə hörmət edilmir.

-layer [src_name] seçin mənbə qat vektor girişinin adla daha da işlənməsi üçün. Bu arqument aşağıdakı arqumentlər üçün tələb olunur. -hədəf [ad] seçin (və ya yeni yaradın) hədəf qat MVT formatında son plitələrdə. Bu tərtib edilə bilən təbəqənin adıdır. Xüsusiyyətləri fərqli bir sahə siyahısı ilə ayrı bir hədəf qatına çevirmək üçün bu arqument daha çox dəfə təkrarlana bilər. -field [output_name] [src_name] atribut sahəsini adla təyin edin src_name etibarən mənbə_layer finalda təqdim ediləcək hədəf qat atribut açarı kimi çıxış_adı. Olan hər bir xüsusiyyət üçün atribut dəyəri mənbə qat kopyalanır. Bu arqument daha çox atributu kopyalamaq üçün daha çox dəfə təkrarlana bilər.

Tutaq ki, ikimizlə bir Vektor girişimiz var mənbə qatları: xətlərçoxbucaqlar. Mənbə təbəqəsi xətlər bu xüsusiyyət açarları olan küçələrdən ibarətdir Ad, EyniləşdiriciƏsas. Mənbə təbəqəsi çoxbucaqlar atribut açarları olan bəzi binaların həndəsəsini ehtiva edir Şəxsiyyət, SayAd. Biz iki yaratmaq istəyirik hədəf qatları adlandırılmış atributlarla.

Yuxarıdakı nümunə iki yeni çıxış qatını yaradır: küçələr atribut düymələri ilə id, adəsas_binalar atribut düymələri ilə qat id, adnömrə.


Yalnız TIFF sənədlərinə qoşulmaq istəyirsinizsə, yalnız bunu edən pulsuz və portativ bir vasitədir:

FaxTool TIFF və PDF sənədlərini bölməyinizə və qoşulmanıza kömək etmək üçün hazırlanmış sadə bir yardım proqramıdır. Yalnız bölmək və ya qoşulmaq üçün sənədlərinizi interfeysə sürükləyin.

Bir neçə həftə əvvəl Sharepoint Designer 2007-in isteğe bağlı bir maddə olaraq Microsoft Document Image Viewer olduğunu aşkarladı.

Tam bir TIFF redaktoru / görüntüleyicisidir və testimizdə MS Office bazası quraşdırılmasına ehtiyac yox idi.

Birləşdirmə, FaxTool haqqında deyildiyi kimi faylları şişirtmir. .NET vasitəsilə bir çox avtomatlaşdırılmış TIFF manipulyasiya üçün MODI API istifadə edirəm. TIFF-in API vasitəsilə birləşdirilməsi əslində olduqca asandır. Avtomatlaşdırılmış və ya əl ilə istədiyinizə əmin deyiləm. Bu, hər ikisinə uyğun olmalıdır.


TauDEM istifadə edərək Hidroloji Analiz ilə sınaq

Son bir neçə ildə fərqli layihələr üçün sifarişli çay şəbəkələri inkişaf etdirməklə məşğul oldum. Hidrologiya üzrə mütəxəssis deyiləm, amma kartoqrafik məqsədlər üçün yaxınlaşa bilərəm. Ancaq bir mütəxəssisəm, ən yaxşı bilənlərdən kömək istəməkdə və məni səyahətimdə yönləndirəcək çox ağıllı insana güvənirəm.

Bu yaxınlarda Yeni Zelandiya üçün sifariş edilmiş çayların vizuallaşdırılmasını qərara aldım. Koordinates veb saytı vasitəsilə Ətraf Mühit Nazirliyi tərəfindən təqdim olunan çox gözəl bir məlumat dəstinə rast gəldim və istifadə etmək istədiyimi düşündüm.

Layihələr layihəsi məni LINZ Məlumat Xidməti vasitəsilə bu yaxınlarda yayımlanan yüksəklik məlumat dəstlərindən bir neçəsini istifadə edərək özüm bu verilənlər bazasını qura biləcəyimi düşündürdü. Sualımın qısa cavabı “sorta” dır. Bunu açıq mənbə ilə etmək heç bir problem deyil, amma dəqiq bir sifariş edilmiş çay mərkəzi xətt şəbəkəsinin qurulması başqa bir hekayədir. Bu, indi solo layihə olaraq götürə bilməyəcəyim bir tapşırıqdır, amma bir az təcrübə edə bilərdim. Aşağıda, yol boyu öyrəndiyim bəzi metodları və şeyləri təqdim edəcəyəm.

Alətlər və məlumatlar

Test etdiyim metod TauDEM və LINZ Data Service-dən əldə edilmiş 1m DEM rasterdən istifadə etdi. DEM-dən 2m və 5m çözünürlüklərə qədər nümunə götürdüm və test üçün kiçik sahələrdən istifadə etdim. Tapmaq və açıq mənbə aləti asan idi. Mövcud bir neçə metodu araşdırdım və nəhayət “Rəqəmsal Yüksəklik Modellərindən istifadə edərək ərazi təhlili” (TauDEM) -ə gəldim. GRASS və SAGA GIS vasitəsilə əlavə metodlar mövcuddur. Daha əvvəl heç istifadə etmədiyim üçün TauDEM-i seçdim.

Metod sınaqdan keçirildi

Mənim bildiyimə görə, bir insanın DEM qoyub qarşı tərəfdən şəbəkəli çay mərkəz xətt vektorunu çıxara biləcəyi açıq mənbə vasitəsi yoxdur. Hədəfinizə çatmaq üçün bir sıra addımlar tələb olunur.

DEM-i emal etmək üçün aşağıda göstərilənlər:

  1. Doldurma lavabolar
  2. Axın istiqamətlərini müəyyənləşdirin
  3. Su hövzələrini müəyyənləşdirin
  4. Axın yığılmasını təyin edin
  5. Axın təsnifatı
  6. Vektora ixrac edin

TauDEM prosesi başa çatdırmaq üçün bir neçə əlavə addım tələb edir, lakin bu addımlar alətin sənədlərində izah olunur. Bütün dəyişənlərimi lazımlı yerlərdə saxlamaq və lazımi vaxtda istifadə etmək daha çox idi. TauDEM-in təqdim etdiyi dəyişən adlardan istifadə etməyi məsləhət görürəm.

Aşağıdakı tam BASH skriptinə baxmaq üçün soldakı oxu vurun:

Ssenari kobud bir eskizdir, lakin nəticə əldə edir.

Prosesdəki problemlər

Bu layihə üçün böyük bir problem giriş DEM ölçüsü və kompüterlərimin RAM olması idi. Əsasən laptopdan işləyirəm. Yaxşı bir maşındır, lakin geniş bir RAM ilə qurulmuş uyğun bir server üçün uyğun gəlmir. Dizüstü kompüterim yüksək hündürlüklü DEM-lərlə mübarizə apardı, buna görə şəkilləri aşağı götürməli və işə salmaq üçün daha kiçik bir test sahəsi seçməliyəm.

Tiff ilə gdal_translate -projwin və aşağı nümunə ilə -tr ilə klip çəkin

İkinci çətinlik test bölgələrimi kəsmək üçün məhdud bir qutudan istifadə etdiyim üçün ortaya çıxdı. Bunu etməməyi tövsiyə edirəm və bunun əvəzinə su hövzəsi sərhədindən istifadə edərək bölgələrinizi kəsin. Test bölgələriniz üçün kvadrat şəkillərə sahib olmaq sizə çox səhv və faydasız nəticələr verəcəkdir. Məsələn, DEM-dəki əsas kanallar rasterinizin kənarında kəsiləcəkdir. Dəqiq nəticələr əldə etməyəcəksiniz.

Su hövzəsi sərhədi kimi bir shapefile istifadə edərək bir raster kəsmək, gdalwarp istifadə edərək əldə edilə bilər.

İşimi apardım və nəticələri Aerial Görüntülər və DEM-dən inkişaf etdirdiyim bir təpəyə qarşı QCed etdim. İlk qaçış mənə çox işim olduğunu bilmək üçün kifayət qədər yaxşı nəticələr verdi, amma xoşbəxt olduğum bir prosesi inkişaf etdirə bildim. Alət əla bir iş gördü, ancaq DEM-in dəqiqliyi bir az daha çətin idi. Bu bir başlanğıcdır. Bir kvadrat DEM-dən səhv istifadə etməyimə baxmayaraq xeyli sayda çay kanalını tutdum, DEM çözünürlüyünün nəticələrə necə təsir etdiyini və problemli əsərlərin necə aşkar ediləcəyini öyrəndim.

Img 1: Yaxşı müəyyən edilmiş kanalda çay tutma.

Bu təcrübədən daha çox araşdırmaq istədiyim bir neçə fikir var:

1. DEM-in dəqiqliyi. İşlədiyim DEM-in axınlarında bir sıra ‘bəndlər’ var idi. Xüsusilə körpülər, su boruları, bitki örtüyü əsərləri və suyun maraqlı istiqamətlərə axmasına səbəb olan digər ümumi səhvlər. Belə bir məlumat dəsti ilə işləyərkən bu əsərləri necə idarə etdiyimi maraqlandırıram.

Şəkil 1: Yolda çayın dəyişdirilməsi.

Şəkil 1: Boru kanalında və ya körpüdə çayların dəyişdirilməsi.

2. Sərhədləri aşmaq üçün necə. Bu analiz su hövzəsi ilə parçalana bilər, lakin dəqiq nəticələr əldə etmək üçün həmin su hövzələrinin axınlarını növbəti ilə əlaqələndirmək lazımdır.

Şəkil 1: Axın kənarda tutulmur.

3. DEM-lər daha yaxşı çözünürlüklə buraxıldığından, genişlənmiş hesablama gücünə ehtiyac var. Prosesin böyük miqdarda operativ yaddaşa ehtiyacı var. Ən böyük ərazini tutmaq üçün ən yaxşı hesablama nədir?

4. Bunu düzgün etdimmi? Bu tapşırığı təxminən iki ildə bir dəfə yerinə yetirirəm və ümumiyyətlə həftəsonları sörf düz olduqda və bağ alaq otu olduqda, mütəxəssis deyiləm. Alətləri bacarıqlarına uyğun istifadə etdiyimi müəyyənləşdirmək üçün daha çox araşdırma aparılmalıdır.


4.2. Məkan Sorğuları

The raison d'etre məkan verilənlər bazalarının, ümumiyyətlə masa üstü GIS funksionallığı tələb edən məlumat bazasında sorğuların yerinə yetirilməsidir. PostGIS-dən səmərəli istifadə etmək üçün hansı məkan funksiyalarının mövcud olduğunu, sorğularda necə istifadə ediləcəyini bilmək və yaxşı performans təmin etmək üçün uyğun indekslərin mövcudluğunu təmin etmək lazımdır.

4.2.1. Məkan münasibətlərinin müəyyənləşdirilməsi

Məkan münasibətləri iki həndəsənin bir-biri ilə necə qarşılıqlı əlaqədə olduğunu göstərir. Bunlar həndəsi sorğu üçün əsas bir qabiliyyətdir.

4.2.1.1. Ölçüdə Genişləndirilmiş 9 Qovşaq Model

SQL üçün OpenGIS Sadə Xüsusiyyətlər Tətbiq Xüsusiyyətinə əsasən, "iki həndəsəni müqayisə etmək üçün əsas yanaşma, iki həndəsənin İnteryerləri, Sərhədləri və Xaricləri arasındakı kəsişmələrin cüt müdrik testlərini etmək və iki həndəsə arasındakı əlaqəni təsnif etməkdir. nəticələnən 'kəsişmə' matrisindəki girişlər. "

Nöqtə topologiyası nəzəriyyəsində 2 ölçülü məkanda yerləşdirilmiş həndəsədəki nöqtələr üç dəstə bölünür:

Həndəsənin sərhədi növbəti alt ölçünün həndəsələr toplusudur. 0 ölçüsü olan POINT s üçün sərhəd boş çoxluqdur. LINESTRING sərhəddi iki son nöqtədir.POLYGON s üçün sərhəd xarici və daxili üzüklərin xəttidir.

Həndəsənin daxili hissəsi həndəsənin sərhəddə olmayan nöqtələridir. POINT lər üçün daxili nöqtənin özüdür. LİNESTRİNGİN daxili hissəsi son nöqtələr arasındakı nöqtələrdir. POLYGON s üçün, daxili çoxbucaqlının içindəki səthdir.

Həndəsənin xarici görünüşü, həndəsənin başqa bir sözlə yerləşdiyi boşluğun qalan hissəsidir, bütün nöqtələr içəridə və ya həndəsənin sərhədində deyil. 2 ölçülü qapalı olmayan bir səthdir.

Ölçülə Genişlənmiş 9-Kəsişmə Modeli (DE-9IM) hər həndəsə üçün yuxarıdakı dəstlər arasındakı 9 kəsişmənin ölçülərini təyin edərək iki həndəsə arasındakı məkan əlaqəsini təsvir edir. Kəsişmə ölçüləri rəsmi olaraq 3x3 ölçüdə təqdim edilə bilər kəsişmə matrisi .

Həndəsə üçün g the Daxili , SərhədXarici qeyd istifadə edərək işarələnir Mən (g) , B (q)E (g) . Həm də, zəif (lər) çoxluğun ölçüsünü bildirir s <0,1,2, F> domeni ilə:

Bu qeyddən istifadə edərək iki həndəsə üçün kəsişmə matrisi ab budur:

Daxili Sərhəd Xarici
Daxili zəif (I (a) ∩ I (b)) zəif (I (a) ∩ B (b)) zəif (I (a) ∩ E (b))
Sərhəd zəif (B (a) ∩ I (b)) zəif (B (a) ∩ B (b)) zəif (B (a) ∩ E (b))
Xarici zəif (E (a) ∩ I (b)) zəif (E (a) ∩ B (b)) zəif (E (a) ∩ E (b))

Görmə baxımından iki üst-üstə düşən çoxbucaqlı həndəsə üçün belə görünür:

dim (I (a) ∩ I (b)) = 2

dim (I (a) ∩ B (b) = 1

dim (I (a) ∩ E (b)) = 2

dim (B (a) ∩ I (b)) = 1

dim (B (a) ∩ B (b)) = 0

dim (B (a) ∩ E (b)) = 1

dim (E (a) ∩ I (b)) = 2

dim (E (a) ∩ B (b)) = 1

dim (E (a) ∩ E (b) = 2

Soldan sağa və yuxarıdan aşağıya oxuyan kəsişmə matrisi mətn sətri kimi təmsil olunur ' 212101212 '.

Daha çox məlumat üçün baxın:

4.2.1.2. Məkan münasibətləri adlandırıldı

Ümumi məkan əlaqələrini təyin etməyi asanlaşdırmaq üçün OGC SFS bir sıra təyin edir adlı məkan əlaqəsi predicates . PostGIS bunları ST_Contains, ST_Crosses, ST_Disjoint, ST_Equals, ST_Intersects, ST_Overlaps, ST_Touches, ST_Within funksiyaları kimi təqdim edir. Ayrıca ST_Covers, ST_CoveredBy ve ST_ContainsProperly standart olmayan bir əlaqəni təyin edir.

Mekansal predikatlar adətən SQL WHERE və ya JOIN müddəalarında şərt kimi istifadə olunur. Adı verilən məkan predikatları mövcud olduqda avtomatik olaraq bir məkan indeksindən istifadə edir, buna görə də məhdudlaşdırıcı qutu operatoru və amp & amp istifadə etməyə ehtiyac yoxdur. Misal üçün:

Daha ətraflı və illüstrasiyalar üçün PostGIS Çalıştayına baxın.

4.2.1.3. Ümumi məkan münasibətləri

Bəzi hallarda adlanan məkan münasibətləri istənilən məkan süzgəci şərtini təmin etmək üçün kifayət deyil.

Məsələn, yol şəbəkəsini təmsil edən xətti bir verilənlər bazasını nəzərdən keçirin. Bir-birindən kəsişən bütün yol seqmentlərini bir nöqtədə deyil, bir sətirdə müəyyənləşdirmək tələb oluna bilər (bəlkə də bəzi iş qaydalarını təsdiqləmək üçün). Bu vəziyyətdə ST_Crosses lazımi məkan filtrini təmin etmir, çünki xətti xüsusiyyətlər üçün yalnız bir nöqtədən keçdikdə doğru olur.

İki mərhələli həll yolu əvvəlcə məkan kəsişən (ST_Intersects) yol xəttləri cütlərinin faktiki kəsişməsini (ST_Intersection) hesablamaq və sonra kəsişmənin ST_GeometryType-nin 'LINESTRING' olub olmadığını yoxlamaqdır (GEOMETRYCOLLECTION s-ni qaytaran hallarla düzgün məşğul olmaq [ MULTI] POINT s, [MULTI] LINESTRING s, və s.).

Aydındır ki, daha sadə və daha sürətli bir həll arzu olunur.

İkinci bir nümunə, bir gölün sərhədini bir xətt üzərində kəsən və iskəndin bir ucunun sahildə olduğu baldırları tapmaqdır. Başqa sözlə, bir iskele içərisində olduğu, ancaq bir gölün içində olmadığı bir gölün sərhədini bir xəttlə kəsdiyi və iskanın son nöqtələrindən birinin gölün içində və ya sərhədində olduğu bir yerdə. Lazımi xüsusiyyətləri tapmaq üçün məkan predikatlarının birləşməsindən istifadə etmək mümkündür:

. lakin deməyə ehtiyac yoxdur, bu olduqca mürəkkəbdir.

Bu tələblər tam DE-9IM kəsişmə matrisini hesablayaraq təmin edilə bilər. PostGIS bunu etmək üçün ST_Relate funksiyasını təmin edir:

Müəyyən bir məkan əlaqəsini sınamaq üçün kəsişmə matris nümunəsi istifadə olunur. Bu əlavə simvollarla artırılmış matris təmsilidir :

T = & gt kəsişmə ölçüsü boş deyil, yəni

Kəsişmə matris nümunələrindən istifadə edərək spesifik məkan münasibətləri daha qisa bir şəkildə qiymətləndirilə bilər. ST_Relate və ST_RelateMatch funksiyaları kəsişmə matris nümunələrini yoxlamaq üçün istifadə edilə bilər. Yuxarıdakı ilk nümunə üçün bir xəttdə kəsişən iki xətti göstərən kəsişmə matris nümunəsi ' 1*1***1** ':

İkinci misal üçün, bir çoxbucağın qismən daxilində və qismən xaricində bir xətt ifadə edən kəsişmə matris nümunəsi ' 102101FF2 ':

4.2.2. İndekslərdən faydalanmaq

Məkan şəraitindən istifadə edərək sorğu hazırlayarkən, mövcuddursa, bir məkan indeksindən istifadə edilməsini təmin etmək vacibdir (bax Bölmə 4.1.7, “Məkan İndekslərinin yaradılması”). Bunu etmək üçün indeksdən xəbərdar olan bir fəza operatoru və ya funksiyası WHERE və ya ON bəndində istifadə olunmalıdır. Məkan operatorlarına, ən çox istifadə olunan & amp & amp; olan məhdudlaşdırıcı qutu əsaslı operatorlar və ən yaxın qonşu sorğularında istifadə edilən məsafə operatorları (ən çox yayılmış & lt- & gt.) İndeksdən xəbərdar olan funksiyalar, adlanan məkan predikatlarının əksəriyyətini əhatə edir. (məsələn ST_Intersects) və məsafənin əksəriyyəti (ST_DWithin kimi).

ST_Distance kimi funksiyalar işlərini optimallaşdırmaq üçün indekslərdən istifadə etmir. Məsələn, aşağıdakı bir sorğu böyük bir masada olduqca yavaş olardı:

Bu sorğu geom_table-da nöqtənin 100 vahidi daxilində olan bütün geometriləri seçir (100000, 200000). Yavaş olacaq, çünki cədvəldəki hər nöqtə ilə göstərilən nöqtə arasındakı məsafəni hesablayır, yəni. bir ST_Distance () hesablanması üçün hesablanır hər cədvəldə sıra.

İndeksdən xəbərdar olan ST_DWithin funksiyasından istifadə edərək işlənmiş sətirlərin sayını azalda bilərik:

Bu sorğu eyni həndəsələri seçir, lakin daha təsirli bir şəkildə edir. Bu, ST_DWithin () tərəfindən & amp & amp operatorunu daxili olaraq sorğu həndəsəsinin genişləndirilmiş məhdudlaşdırıcı qutusundan istifadə edərək aktivləşdirilir. The_geom-da bir məkan indeksi varsa, sorğu planlayıcısı məsafəni hesablamadan əvvəl taranan sətirlərin sayını azaltmaq üçün indeksdən istifadə edə biləcəyini tanıyacaq. Məkan indeksi yalnız hüdudları genişlənmiş ölçüdə üst-üstə düşən həndəsə ilə qeydləri əldə etməyə imkan verir bilər tələb olunan məsafədə olmaq. Daha sonra qeydin nəticə dəstinə daxil olub-olmadığını təsdiqləmək üçün həqiqi məsafə hesablanır.

4.2.3. Məkan SQL nümunələri

Bu hissədəki nümunələr iki cədvəldən, xətti yollar cədvəlindən və çoxbucaqlı bələdiyyə sərhədləri cədvəlindən istifadə edəcəkdir. Bc_roads cədvəli üçün cədvəl tərifləri:

Bc_municipality cədvəli üçün cədvəl tərifi:

Bütün yolların kilometrlərlə ifadə olunan ümumi uzunluğu nə qədərdir?

Bu suala çox sadə bir SQL parçası ilə cavab verə bilərsiniz:

Şahzadə George şəhəri hektarlarla nə qədərdir?

Bu sorğu bir xüsusiyyət şərtini (bələdiyyə adına) məkan hesablaması ilə (ərazinin) birləşdirir:

Əraziyə görə vilayətin ən böyük bələdiyyəsi nədir?

Bu sorğu sorğu vəziyyətinə məkan ölçüsü gətirir. Bu problemə yanaşmanın bir neçə yolu var, lakin ən səmərəli aşağıda:

Qeyd edək ki, bu suala cavab vermək üçün hər çoxbucaqlının sahəsini hesablamalıyıq. Bunu çox etsəydik, cədvələ sahə sütunu əlavə etmək üçün ayrı-ayrılıqda indeksləşdirə biləcəyik. Nəticələri azalan bir istiqamətə sifariş edərək və PostgreSQL "LIMIT" əmrini istifadə edərək, max () kimi məcmu funksiyanı istifadə etmədən ən böyük dəyəri asanlıqla götürə bilərik.

Hər bələdiyyənin içərisində olan yolların uzunluğu nə qədərdir?

Bu, "məkan birləşməsinin" bir nümunəsidir, çünki iki cədvəldəki məlumatları birləşdiririk (birləşdirmə aparırıq), ancaq məkan qarşılıqlı şərtini ("ehtiva edən") qoşulma şərti kimi qoşulma şərti olaraq istifadə edirik. ümumi açar:

Bu sorğu bir müddət çəkir, çünki cədvəldəki hər yol yekun nəticəyə toplanır (xüsusi nümunə cədvəlimiz üçün təxminən 250K yol). Kiçik bindirmələr üçün (bir neçə yüzdə bir neçə min qeyd) cavab çox sürətli ola bilər.

Şahzadə George şəhəri daxilindəki bütün yollarla yeni bir masa yaradın.

Bu, iki cədvəl götürən və məkan şəklində kəsilmiş və ya kəsilmiş nəticələrdən ibarət yeni bir cədvəl çıxan bir "örtük" nümunəsidir. Yuxarıda göstərilən "məkan birləşməsindən" fərqli olaraq, bu sorğu həqiqətən yeni həndəsələr yaradır. Yerləşdirmə turbo yüklənmiş məkan birləşməsinə bənzəyir və daha dəqiq analiz işi üçün faydalıdır:


GDAL Merge Py-də ubuntu üzərində bir çox tif plitəni birləşdirin - Coğrafi İnformasiya Sistemləri

Bu fəsildə Big Data mühitində məkan məlumatlarının yüklənməsi, saxlanması, daxil olması və onlarla işləmək barədə konseptual və istifadə məlumatları verilir.


    Oracle Big Data Spatial və Graph xüsusiyyətləri, məkan məlumatlarının məkana əsaslanan qərar qəbulu üçün sürətli və səmərəli şəkildə saxlanılmasını, əldə edilməsini və analiz edilməsini təmin edir.
    Oracle Big Data Spatial and Graph həm vektor, həm də raster məkan məlumatlarının saxlanmasını və işlənməsini dəstəkləyir.
    Oracle Spatial Hadoop Image Processing Framework, paralel olaraq bir sıra işləmə mərhələləri nəticəsində yeni birləşmiş şəkillərin yaradılmasına imkan verir.
    Oracle Spatial and Graph Hadoop Image Processing Framework istifadə edərək şəkillərin işlənməsi üçün ilk addım şəkillərin HDFS-də olması və ardından şəkillərin ağıllı plitələrə ayrılmasıdır.
    Şəkillər HDFS-ə yükləndikdən sonra Oracle Spatial Hadoop Image Processing Framework istifadə edərək paralel olaraq işlənə bilər.
    Çərçivə, XML yaratmadan, əksinə bir Java tətbiqi istifadə edərək rasterləri yükləməyə və emal etməyə imkan verən bir raster işləmə API təmin edir. Tətbiq çoxluq içərisində və ya uzaq bir qovşaqda icra edilə bilər.
    Xüsusi işləmə sinifləri yaratdığınız zaman. bunları Oracle Raster Qenerasiya Çərçivəsinə qoşmaq üçün "iddia edərək" aşağıdakıları etmək üçün Oracle Spatial Hadoop Raster Simulator Framework istifadə edə bilərsiniz.
    Apache Spark üçün Oracle Big Data Spatial Raster Processing, Java üçün bir məkan raster emal API'sidir.
    Oracle Big Data Spatial Raster Processing, Oracle Object Storage platformasından istifadə edərək Big Data Bulud Xidmətində (BDCS) dəstəklənir.
    Oracle Big Data Spatial Vector Analysis, Hadoop işi olaraq işləyən və HDFS-də saxlanılan məlumatların məkan işlənməsi üçün MapReduce komponentlərini təmin edən bir Məkan Vektor Analizi API'sidir.
    Apache Spark üçün Oracle Big Data Spatial Vector Analysis, məkan çevrilmələrini və hərəkətlərini, məkan bölüşdürülməsini və indekslənməsini dəstəkləyən məkan imkanlı RDD'lər (Resilient Distributed Datasets) təmin edən Java və Scala üçün məkan vektor təhlili API'sidir.
    Oracle Big Data Spatial Vector Hive Analizi, Hive istifadə edərək məlumatları analiz etmək üçün məkan funksiyaları təmin edir.
    Müxtəlif tapşırıqları yerinə yetirmək üçün Oracle Big Data SpatialViewer Veb Tətbiqindən (SpatialViewer) istifadə edə bilərsiniz.

2.1 Məkan Məlumatları üçün Böyük Məlumat Mekansal və Qrafik Dəstəyi haqqında

Oracle Big Data Spatial və Graph xüsusiyyətləri, məkan məlumatlarının məkana əsaslanan qərar qəbulu üçün sürətli və səmərəli şəkildə saxlanılmasını, əldə edilməsini və analiz edilməsini təmin edir.

Məkan məlumatları bir Coğrafi İnformasiya Sistemində (CİS) və ya digər yerə əsaslanan tətbiqetmədə real və ya konseptual məkana münasibətdə real və ya konseptual obyektlərin yerləşmə xüsusiyyətlərini əks etdirir.

Mekansal xüsusiyyətlər coğrafi etiketləmə, zənginləşdirmək, görselləşdirmək, çevirmək, yükləmək və yerə xüsusi iki və üç ölçülü coğrafi şəkilləri işləmək və CBS funksiyaları üçün həndəsi formaları idarə etmək üçün istifadə olunur.

2.1.1 Apache Hadoop-da Big Data Mekansal və Qrafik Nədir?

Oracle Big Data Spatial and Graph on Apache Hadoop, məkan məlumatlarını saxlamaq, əldə etmək və təhlil etmək üçün Hadoop klasterindəki MapReduce proqramlarını və analitik imkanlarını istifadə edən bir çərçivədir. Mekansal xüsusiyyətlər, məkan məlumatlarının toplanmasını, saxlanmasını, yenilənməsini və sorğusunu asanlaşdıran bir şema və funksiyalar təmin edir. Big Data Spatial and Graph on Hadoop, həndəsi fiqurlar, raster və ya vektor şəkillər ola bilən və bir neçə yüz dəstəklənən formatdan birində saxlanılan məkan şəkillərinin saxlanmasını və işlənməsini dəstəkləyir.

Məkan anlayışları, məlumatları və əməliyyatları ilə tanış olmaq üçün Oracle Məkan və Qrafik Geliştirici Kılavuzu

2.1.2 Oracle Big Data Məkan və Qrafın üstünlükləri

Oracle Big Data Spatial və Graph istifadə üstünlükləri aşağıdakıları əhatə edir:

Bəzi CİS mərkəzli məkan işləmə sistemlərindən və mühərriklərindən fərqli olaraq, Oracle Big Data Spatial and Graph həm strukturlaşdırılmış, həm də strukturlaşdırılmamış məkan məlumatlarını işləyə bilir.

Müştərilər mühitində yalnız müəyyən bir məlumat formasını saxlamağa məcbur edilmir və ya məhdudlaşdırılmır. Verilərini həm məkan, həm də qeyri-rəsmi iş məlumatları kimi saxlaya bilirlər və məkan işləmə işləri aparmaq üçün hələ də Oracle Big Data istifadə edə bilərlər.

Bu bir çərçivədir və bu səbəbdən müştərilər tətbiqlərini və ya əməliyyatlarını xüsusi olaraq qurmaq üçün mövcud API-lərdən istifadə edə bilərlər.

Oracle Big Data Spatial həm vektor, həm də raster tip məlumatları və şəkilləri işləyə bilər.

2.1.3 Oracle Big Data məkan xüsusiyyətləri və funksiyaları

Məkan məlumatları Məkan Server tərəfindən sorğu və analiz üçün yüklənir və şəkillər bir Şəkil Qenerasiya Çərçivəsi tərəfindən saxlanılır və işlənir. Hadoop-da Oracle Big Data Mekansal və Qrafik serverindən istifadə edə bilərsiniz:

Coğrafi xəritəyə əsaslanan ayaq izləri, coğrafiyadakı mənbələrin mövcudluğu və s. Kimi coğrafi məlumatların kataloqu.

Bir xəritə yerindəki ən yaxın qonşu kimi məsafə əməliyyatlarını hesablamaq üçün topoloji işləmə.

Coğrafiyaların hiyerarşik xəritələrini qurmaq və xəritə elementləri daxilində demoqrafik birliklər yaratmaqla xəritəni zənginləşdirmək üçün kateqoriyalar.

Aşağıdakı funksiyalar Oracle Big Data Spatial və Graph-a daxil edilmişdir:

Məkan məlumatlarının daha sürətli alınması üçün indeksləmə funksiyası.

Xəritə əsaslı ayaq izlərini göstərmək üçün xəritə funksiyası.

Xüsusi coğrafi bölgələri böyütmək və böyütmək üçün zoom funksiyası.

Mozaika və Qrup funksiyası, bir mozaika və ya alt əməliyyat yaratmaq üçün işləmə üçün bir sıra görüntü sənədlərini qruplaşdırır.

Bu koordinat sistemlərindən birindəki məkan məlumatlarını təmsil etmək üçün kartezyen və geodeziya koordinat funksiyaları.

Ölkə, əyalət, şəhər, poçt kodu və s. Kimi həndəsi hiyerarşi quran və əlaqələndirən iyerarxik funksiya. Bu funksiya daxil olan məlumatları sənədlər və ya en / uzunluq koordinatları şəklində işləyə bilər.

2.1.4 Oracle Big Data Məkan Dosyaları, Formatları və Proqram Tələbləri

Saxlanılan məkan məlumatları və ya şəkillər bu dəstəklənən formatlardan birində ola bilər:

Həm Geodeziya, həm də Kartezyen məlumatları

Digər GDAL dəstəklənən formatlar

Məkan məlumatlarını saxlamaq və işləmək üçün aşağıdakı proqrama sahib olmalısınız:

GCC Compiler - Yalnız GDAL tərəfindən dəstəklənən formatlar istifadə edildikdə

2.2 Oracle Big Data Vector və Raster Data Processing

Oracle Big Data Spatial and Graph həm vektor, həm də raster məkan məlumatlarının saxlanmasını və işlənməsini dəstəkləyir.

2.2.1 Oracle Big Data Məkan Raster Məlumatların İşlənməsi

Rastr məlumatlarının işlənməsi üçün GDAL yükləyici raster məkan məlumatlarını və ya şəkilləri HDFS mühitinə yükləyir. Rastr məkan məlumatında aşağıdakı əsas əməliyyatlar həyata keçirilə bilər:

Mozaika: Tək bir mozaika görüntüsü yaratmaq üçün çoxlu raster şəkilləri birləşdirin.

Alt dəst: Fərdi şəkillərdə alt əməliyyatlarını yerinə yetirin.

Rastr cəbr əməliyyatları: Rasserlərdəki hər pikseldə cəbr əməliyyatları aparın (məsələn, əlavə et, böl, vur, cıx, pov, sinus, sinh və acos).

İstifadəçi tərəfindən göstərilən işləmə: Raster işləmə, istifadəçilərin xəritələşdirmə və azaltma mərhələlərində icra edəcəyi siniflərə əsaslanır.

Bu xüsusiyyət, raster analiz əməliyyatları üçün MapReduce çərçivəsini dəstəkləyir. İstifadəçilər öz raster əməliyyatlarını xüsusi qurma qabiliyyətinə sahibdirlər, məsələn, bir raster məlumatında cəbri funksiyanı yerinə yetirmək və s. Məsələn, rəqəmsal bir yüksəklik modelinin hər bir bazasındakı yamacın və ya ərazi kimi bir məkan səthinin 3D təsvirinin hesablanması. Ətraflı məlumat üçün Raster Məlumatların İşlənməsi üçün Oracle Big Data Spatial Hadoop Image Processing Framework-ə baxın.

2.2.2 Oracle Big Data məkan vektor məlumatlarının işlənməsi

Bu xüsusiyyət, məkan vektor məlumatlarının işlənməsini dəstəkləyir:

Yüklənib Hadoop HDFS mühitində saxlanılır

Kartezyen və ya geodeziya məlumatları kimi saxlanılır

Saxlanılan məkan vektoru məlumatları aşağıdakı sorğu əməliyyatlarını və daha çoxunu həyata keçirmək üçün istifadə edilə bilər:

Sevetal məlumat xidməti əməliyyatları məkan vektor məlumatları üçün dəstəklənir:

Bundan əlavə, yalnız HTML5 formatı üçün məhdud bir Vizual Görünüş API dəstəyi var. Xüsusi əməliyyatlar yaratmaq üçün bu API-lərə daxil ola bilərsiniz. Ətraflı məlumat üçün "Oracle Big Data Mekansal Vektor Analizi" nə baxın.

2.3 Raster Məlumatların İşlənməsi üçün Oracle Big Data Spatial Hadoop Image Processing Framework

Oracle Spatial Hadoop Image Processing Framework, paralel olaraq bir sıra işləmə mərhələləri nəticəsində yeni birləşmiş şəkillərin yaradılmasına imkan verir.

Aşağıdakı xüsusiyyətləri ehtiva edir:

Hər blok ölçüsü bölünmənin ayrı bir kafel kimi saxlanıldığı HDFS Şəkillər anbarı, gələcəkdə müstəqil işlənməyə hazırdır

MapReduce çərçivəsindən istifadə edərək paralel işlənmiş alt, istifadəçi tərəfindən müəyyən edilmiş və xəritə cəbr əməliyyatları

Şəffaf bir şəkildə paralel olaraq Xəritəçəkmə və ya azaltma mərhələlərində icra ediləcək xüsusi işləmə sinifləri əlavə etmək bacarığı

Yerləşdirilmiş şəkillərin sürətli işlənməsi

GDAL formatları, çoxsaylı bant şəkilləri, DEM-lər (rəqəmsal yüksəklik modelləri), birdən çox piksel dərinliyi və SRID-lərə dəstək

Veb xidmətləri və ya ayrıca Java tətbiqləri üçün faydalı çərçivə əməliyyatlarına giriş təmin edən Java API

Yerli mühitdə istifadəçi işləmə siniflərinin sınanması və ayıklanması üçün çərçivə

Oracle Spatial Hadoop Image Processing Framework, hər biri aşağıdakı sxemdə göstərildiyi kimi bir Hadoop klasterindəki müxtəlif mərhələlərdə çalışan bir Hadoop işi ilə təmsil olunan bir Yükləyici və Prosessor olan iki moduldan ibarətdir. Ayrıca, SpatialViewer veb tətbiqindən istifadə edərək şəkilləri yükləyə və işləyə bilərsiniz və çərçivənin imkanlarını ortaya qoymaq üçün Java API istifadə edə bilərsiniz.


İllüstrasiyanın təsviri image_process_framewrk.jpg

Quraşdırma və konfiqurasiya haqqında məlumat üçün baxın:

2.3.1 Şəkil Yükləyici

Image Loader, müəyyən bir görüntü və ya bir qrup şəkli HDFS-ə yükləyən bir Hadoop işidir.

İdxal edilərkən şəkil HDFS bloku kimi döşənir və saxlanılır.

GDAL şəklin kafellənməsi üçün istifadə olunur.

Hər bir kafel fərqli bir xəritəçəkən tərəfindən yüklənir, buna görə oxumaq paralel və daha sürətli olur.

Hər bir kafelə müəyyən sayda üst-üstə düşən bayt (istifadəçi girişi) daxildir, beləliklə plitələr bitişik plitələrdən sahəni əhatə edir.

MapReduce işi hər bir çini üçün məlumat yükləmək üçün bir xəritəçidən istifadə edir. Plitələrin sayından, şəkil qətnaməsindən və blok ölçüsündən asılı olaraq 'n' xəritənin sayı var.

Təsvir başına bir azaltma fazı xəritələşdiricilər tərəfindən yüklənmiş bütün məlumatları birləşdirir və təsvirləri qətnamə, lentlər, ofsetlər və görüntü məlumatlarını ehtiva edən xüsusi .ohif formatında saxlayır. Bu şəkildə hər bir çini və düyün yerini ehtiva edən fayl ofsetləri bilinir.

Hər bir kafeldə hər lent üçün məlumat var. Bu, yalnız bir neçə plitənin işlənməsinə ehtiyac olduqda, yalnız müvafiq bloklar yükləndikdə faydalıdır.

Aşağıdakı diaqram bir şəkil yükləyici prosesini təmsil edir:

2.3.2 Image Processor

Image Processor, istifadəçi girişinə əsasən işlənəcək plitələri süzən və yeni bir görüntü yaratmaq üçün paralel olaraq işləmə aparan bir Hadoop işidir.

İstifadəçi tərəfindən müəyyənləşdirilmiş görüntünün xüsusi plitələrini işləyir. Bir, sıfır və ya bir neçə işləmə sinifini təyin edə bilərsiniz. Bu dərslər, konfiqurasiyanızdan asılı olaraq Xəritəçəkmə və ya azaltma mərhələsində həyata keçirilir. Xəritəçəkmə mərhələsi üçün, işləmə siniflərinin icrasından sonra pikselləri istifadəçinin tələb etdiyi son çıxış formatına uyğunlaşdırmaq üçün bir mozaika əməliyyatı aparılır. Mozaika əməliyyatı tələb olunmadıqda, fazı olduğu kimi azaltmaq üçün giriş rasteri göndərilir. Reduktor fazası üçün bütün plitələr istifadəçi azaldılması işləmə sinfi üçün daxil olan bir GDAL məlumat dəstinə birləşdirilir, burada son çıxış istifadəçinin ehtiyaclarına uyğun olaraq dəyişdirilə və ya analiz edilə bilər.

Xəritəçəkən, məlumatların yerləşməsini qorumaqla, bir plitəyə uyğun məlumatları yükləyir.

Məlumat yükləndikdən sonra, eşleme istifadəçi tərəfindən tələb olunan lentləri süzgəcdən keçirir.

Süzülmüş məlumatlar işlənir və azaltma mərhələsində hər bir eşleyiciye göndərilir, burada baytlar birləşdirilir və istifadəçinin tələbindən asılı olaraq son işlənmiş görüntü HDFS və ya adi Fayl Sistemində saxlanılır.

Aşağıdakı diaqram bir Image Processor işini təmsil edir:


İllüstrasiyanın təsviri image_processor_job.png

2.4 Şəkil Yükləyicidən istifadə edərək Hadoop-a bir şəkil yükləmək

Oracle Spatial and Graph Hadoop Image Processing Framework istifadə edərək şəkillərin işlənməsi üçün ilk addım şəkillərin HDFS-də olması və ardından şəkillərin ağıllı plitələrə ayrılmasıdır.

Bu, işləmə işinin müstəqil olaraq hər bir çini üzərində ayrıca işləməsinə imkan verir. Image Loader, paralel olaraq tək bir görüntü və ya bunların bir kolleksiyasını HDFS-ə idxal etməyə imkan verir ki, bu da yükləmə müddətini azaldır.

Image Loader şəkilləri bir fayl sistemindən HDFS-ə köçürür, burada hər blokda görüntünün bütün lentləri üçün məlumatlar var, belə ki, müəyyən mövqelərdə əlavə işləmə tələb olunarsa, məlumat tək bir qovşaqda işlənə bilər.

2.4.1 Şəkil Yükləmə İşi

Şəkil yükləmə işi, şəkili əlaqəli görüntü bölmələrinə bölən xüsusi giriş formatına malikdir. Bölünmələr, müəyyən edilmiş bir sahəni əhatə edən görüntünün kvadrat bloklarını oxuyan bir alqoritmə əsasən hesablanır

sahə = ((blockSize - metadata baytları) / bant sayı) / piksel başına bayt.

Tam blok ölçüsünü istifadə etməyən parçalar üçün, qalan baytlar sıfırla doldurulur.

Bölmələr, ImageSplit məlumatlarına əsasən GDAL istifadə edərək hər təyin edilmiş kafelin oxunduğu fərqli xəritədarlar üçün təyin olunur. Nəticədə bir ImageDataWritable nümunəsi yaradılır və kontekstdə qeyd olunur.

ImageDataWritable nümunəsində quraşdırılmış metadata, emal sinifləri tərəfindən kirəmitli görüntüyü idarə etmək və işləmək üçün quraşdırmaq üçün istifadə olunur. Mənbə şəkilləri bir çox xəritəçidən oxunduğundan, yük paralel və daha sürətli həyata keçirilir.

Xəritəçilər oxumağı bitirdikdən sonra, reduktor kontekstdən plitələri götürür və faylları HDFS-ə saxlamaq üçün bir araya gətirir. Görüntüyü geri oxumaq üçün xüsusi bir oxuma prosesi tələb olunur.

2.4.2 Giriş Parametrləri

Aşağıdakı giriş parametrləri Hadoop əmrinə verilir:

  • SOURCE_IMGS_PATH, mənbə şəkillərinə və ya qovluqlarına gedən yoldur. Çox giriş üçün vergül ayırıcı istifadə edin. Bu yola NFS vasitəsilə klasterdəki bütün qovşaqlara daxil olmaq lazımdır.
  • HDFS_OUTPUT_FOLDER, yüklənmiş şəkillərin saxlandığı HDFS çıxış qovluğudur.
  • OVERLAPPING_PIXELS, bu parametr göstərilmədiyi təqdirdə, hər iki plitənin sərhədlərindəki üst-üstə düşən piksellərin isteğe bağlı sayıdır.
  • GDAL_LIB_PATH, GDAL kitabxanalarının yerləşdiyi yoldur.
  • GDAL_DATA_PATH, GDAL məlumat qovluğunun yerləşdiyi yoldur. Bu yola NFS vasitəsilə klasterdəki bütün qovşaqlara daxil olmaq lazımdır.
  • THUMBNAIL_PATH yüklənmiş şəkil (lər) in kiçik şəklini saxlamaq üçün isteğe bağlı bir yoldur. Bu yol NFS vasitəsi ilə klasterdəki bütün qovşaqlara daxil olmalıdır və iplik istifadəçiləri üçün yazılı giriş icazəsi olmalıdır.
  • yüklənmiş rasterin HDFS yolunun bütün qovluqlar daxil olmaqla mənbə yolunu genişləndirib-genişləndirməməsinə nəzarət edir. Bunu "false" olaraq təyin etsəniz, .ohif faylı, həmin qovluğun yolunu rasterə daxil etmədən birbaşa çıxış qovluğunda (-o seçimi istifadə edərək göstərilmişdir) saxlanılır.
  • -extractLogs, icra olunan tətbiqin qeydlərinin sistemin müvəqqəti qovluğuna çıxarılmasını yoxlayır. Varsayılan olaraq, aktiv deyil. Çıxarışa Oracle Framework siniflərinin bir hissəsi olmayan qeydlər daxil deyil.
  • -logFilter & ltLINES_TO_INCLUDE_IN_LOG & gt, xüsusi işləmə dərsləri paketlərini daxil etmək üçün çıxarılan jurnallara daxil etmək üçün bütün nümunələri sadalayan, vergüllə ayrılmış bir Sətir.
  • -piramida & ltOUTPUT_DIRECTORY, SƏVİYYƏ, [RESAMPLING] & gt, ilkin raster yükünü edərkən piramidaların yaradılmasına imkan verir. HDFS piramidalarına yüklənmədən əvvəl yerli piramidaları saxlamaq üçün OUPUT_DIRECTORY təmin edilməli, yükləmə üçün tələb olunan eyni HDFSA qovluğuna yüklənməlidir. Hər bir raster üçün neçə piramidanın lazım olduğunu göstərmək üçün bir piramida SƏVİYYƏSİ təmin edilməlidir. Yenidənqurma alqoritmi, heç biri qoyulmadığı təqdirdə BILINEAR istifadə edildiyi təqdirdə yenidən seçmənin həyata keçirilməsində istifadə olunan metodu təyin etmək üçün isteğe bağlıdır.

Məsələn, aşağıdakı əmr yeraltı referansların hamısını şəkillər qovluğunun altına yükləyir və mümkün olan hər sərhəddə 10 piksel üst-üstə düşür. HDFS çıxış qovluğu ən yaxşıdır və yüklənmiş görüntünün kiçik şəkli processtest qovluğunda saxlanılır.

Varsayılan olaraq, Xəritəçəkənlər və Reduktorlar 2 GB JVM əldə etmək üçün konfiqurasiya olunur, lakin istifadəçilər əmrin icra olunduğu yerdən eyni qovluq yerinə bir imagejob.prop xüsusiyyətləri faylı əlavə edərək bu parametrləri və ya hər hansı digər iş konfiqurasiya xüsusiyyətlərini ləğv edə bilərlər. Bu xüsusiyyətlər faylı, ləğv etmək istədiyiniz bütün konfiqurasiya xüsusiyyətlərini sadalaya bilər. Misal üçün,

Java yığma yaddaş (java.opts xassələri), eşləyicilərə və reduktorlara (mapreduce.map.memory və mapreduce.reduce.memory) verilən ümumi yaddaşa bərabər və ya az olmalıdır. Beləliklə, Java yığma yaddaşını artırırsınızsa, eşləyicilər və reduktorlar üçün də yaddaş artırmağınız lazım ola bilər.

GDAL-ın düzgün işləməsi üçün kitabxanalar $ LD_LIBRARY_PATH istifadə edərək mövcud olmalıdır. Bir işi icra etmədən əvvəl paylaşılan kitabxanalar yolunun qabıq pəncərənizdə düzgün bir şəkildə qurulduğundan əmin olun. Misal üçün:

2.4.3 Çıxış Parametrləri

Reduktor giriş görüntüsü başına iki çıxış faylı yaradır. Birincisi, mənbə şəkli üçün bütün plitələri cəmləşdirən .ohif faylıdır, hər bir çini bir emal eşleyicisi tərəfindən ayrı bir nümunə olaraq işlənə bilər. Daxili olaraq hər bir kafel HDFS bloku kimi saxlanılır, bloklar bir neçə qovşaqda yerləşir, bir qovşaqda müəyyən bir .ohif sənədinin bir və ya daha çox bloku ola bilər. .Ohif faylı, / user / & ltUSER_EXECUTING_JOB & gt / OUT_FOLDER / & ltPARENT_DIRECTORIES_OF_SOURCE_RASTER & gt altında bayraq istifadə edilmədiyi təqdirdə -out bayrağı ilə istifadəçi tərəfindən göstərilən qovluqda saxlanılır. Əks təqdirdə .ohif faylı / user / & ltUSER_EXECUTING_JOB & gt / OUT_FOLDER / ünvanında yerləşəcək və fayl orijinal_filename.ohif olaraq təsbit edilə bilər.

İkinci çıxış, görüntünün bütün hissələrini və hər birinin əhatə etdiyi koordinatları sadalayan əlaqəli bir metadata sənədidir. Fayl metadata yeri altında HDFS-də yerləşir və adı ohif faylının adı ilə yaradılan hashdır. Bu fayl yalnız Oracle daxili istifadə üçündür və mənbə rasterinin vacib metadatalarını siyahıya alır. Metadata faylından bəzi misal sətirləri:

-Kiçik şəkil işarəsi göstərilmişdirsə, mənbə şəklinin kiçik şəkili əlaqəli qovluqda saxlanılır. Bu .ohif faylının tərcüməsini görselləşdirməyin bir yoludur. İş icrası qeydlərinə iplik qeydləri -applicationId & ltapplicationId & gt əmrini istifadə edərək daxil olmaq mümkündür.

2.5 Oracle Spatial Hadoop Image Processor istifadə edərək bir şəkil emalı

Şəkillər HDFS-ə yükləndikdən sonra Oracle Spatial Hadoop Image Processing Framework istifadə edərək paralel olaraq işlənə bilər.

Çıxış təyin edirsiniz və çərçivə həmin çıxışı uyğunlaşdırmaq üçün plitələri süzgəcdən keçirir, işləyir və hamısını bir faylda saxlamaq üçün bir araya gətirir. Xəritə cəbr əməliyyatları da mövcuddur və əgər təyin olunarsa, işlənmə mərhələsinin ilk hissəsi olacaqdır. Çıxış çərçivəsində yaradılmadan əvvəl həyata keçiriləcək əlavə emal siniflərini təyin edə bilərsiniz.

Görüntü prosessoru girişə (mozaika təsviri və ya tək bir raster) əsaslanan xüsusi məlumat bloklarını yükləyir və yalnız son nəticəyə uyğun olan lentləri və pikselləri seçir. Göstərilən bütün işləmə sinifləri icra olunur və istifadəçi tələbindən asılı olaraq son nəticə HDFS və ya fayl sistemində saxlanılır.

2.5.1 Görüntü İşləmə İşi

Təsvir işləmə işi, istifadəçinin tələb etdiyi işləmə növündən asılı olaraq fərqli axınlara malikdir.

Varsayılan Görüntü İşləmə İş Akışı: mozaika əməliyyatı, tək raster əməliyyatı və ya əsas çoxlu raster əməliyyatı daxil olmaqla işlənmə üçün icra olunur.

Birdən çox Raster Görüntü İşləmə İş Akışı: mürəkkəb çoxlu raster cəbr əməliyyatlarını əhatə edən işləmə üçün icra olunur.

2.5.1.1 Default Image Processing Job Flow

Varsayılan görüntü işləmə iş axını, aşağıdakı emallardan hər hansı biri tələb olunduqda icra edilir:

Əsas çoxsaylı raster cəbr əməliyyatı

Akışın SRID və koordinatlarına əsaslanaraq işlənəcək plitələri təyin edən öz xüsusi FilterInputFormat var. Yalnız mozaika giriş məlumat növü (piksel dərinliyi) ilə eyni məlumat növü (piksel dərinliyi) olan şəkillər nəzərə alınır. Yalnız istifadəçinin mozaika çıxışı üçün təyin etdiyi koordinatlarla kəsişən plitələr daxildir. Tək bir raster və ya əsas çoxlu raster cəbr əməliyyatının (mozaika xaricində) işlənməsi üçün filtr giriş rasterlərinin bütün plitələrini əhatə edir, çünki işləmə tam şəkillər üzərində aparılacaqdır. Plitələr seçildikdən sonra hər bir şəkil üçün xüsusi bir ImageProcessSplit yaradılır.

Mapper ImageProcessSplit-i qəbul etdikdə, ImageSplit-in göstərdiklərinə əsasən məlumatları oxuyur, yalnız istifadəçi tərəfindən göstərilən zolaqları seçmək üçün bir süzgəc həyata keçirir və əgər varsa sorğuda müəyyənləşdirilmiş xəritə əməliyyatlarının və işləmə siniflərinin siyahısını icra edir.

Hər bir eşleme prosesi məlumatların yerləşdiyi qovşaqda işləyir. Xəritədə cəbr əməliyyatları və işləmə dərsləri yerinə yetirildikdən sonra, istifadəçinin mozaika əməliyyatı tələb edib etmədiyini və ya analizin tam şəkli daxil edib-etmədiyini və mozaika əməliyyatı tələb olunduğunu təsdiqləyən bir əməliyyat təsdiqlənir. Mozaika əməliyyatı hər çini içərisindən yalnız çıxışa uyğun pikselləri seçir və onları mozaika çıxışına əlavə etmək üçün lazımi qətnamə dəyişiklikləri edir. Tək proses əməliyyatı əvvəlki raster kafel baytlarını olduğu kimi kopyalayır. Yaranan baytlar reduktor tərəfindən bərpa olunmaq üçün NFS-də saxlanılır.

Tək bir reduktor plitələri götürür və birləşdirir. Hər hansı bir əsas çoxlu raster cəbr əməliyyatı təyin etdinizsə, eyni zamanda plitələr son nəticəyə birləşdirilir. Bu əməliyyat yalnız mozaika çıxışındakı kəsişən pikselləri və ya heç bir mozaika əməliyyatı tələb olunmadığı təqdirdə hər pikseldə təsir göstərir. Bir reduktor işləmə sinfi təyin etmisinizsə, çıxış rasteri ilə birlikdə GDAL məlumat dəsti təhlil və işləmə üçün bu sinfə göndərilir. HDFS çıxışını seçmisinizsə, nəticəni HDFS-də saxlamaq üçün ImageLoader çağırılır. Əks təqdirdə, şəkil varsayılan olaraq GDAL istifadə edərək hazırlanır və fayl sistemində (NFS) saxlanılır.

2.5.1.2 Birdən çox Raster Təsviri İşləyən İş Akışı

Çoxsaylı raster görüntü işləmə axını, kompleks bir çox raster cəbr əməliyyatı tələb edildikdə yerinə yetirilir. Bu, eyni MBR, piksel növü, piksel ölçüsü və SRID olan rasterlərə aiddir, çünki bu əməliyyatlar hər pikselin eyni koordinatları təmsil etdiyi müvafiq hücrədə piksel-piksel tətbiq olunur.

Axın, SRID və koordinatlara əsasən işlənəcək plitələri təyin edən öz xüsusi MultipleRasterInputFormat-a malikdir. Yalnız eyni MBR, piksel növü, piksel ölçüsü və SRID olan şəkillər nəzərə alınır. Yalnız kataloqda ilk raster tərəfindən göstərilən koordinatlarla uyğun rastrlar daxil edilmişdir. Giriş rasterlərinin bütün plitələri nəzərə alınır, çünki işləmə tam şəkillər üzərində aparılacaqdır.

Plitələr seçildikdən sonra xüsusi bir MultipleRasterSplit yaradılır. Bu bölmə, blok ölçüsündən asılı olaraq hər bir orijinal kafelin kiçik bir sahəsini ehtiva edir, çünki indi bütün rasterlər kiçik bir sahə olsa da bir parçaya daxil edilməlidir. Bunların hər birinə IndividualRasterSplit deyilir və bunlar bir ana MultipleRasterSplit-də mövcuddur.

Bir Xəritəçi MultipleRasterSplit aldıqda, ana bölməyə daxil olan bütün raster plitələrinin məlumatlarını oxuyur, yalnız istifadəçi tərəfindən göstərilən lentləri və yalnız bu xüsusi mapperdə işlənəcək kiçik sahəni seçmək üçün bir filtr həyata keçirir. və sonra kompleks çoxsaylı raster cəbr əməliyyatını həyata keçirir.

Prosesin bu hissəsində məlumat lokasiyası itirə bilər, çünki eyni qovşaqda olmaya biləcək tək bir xəritəçiyə birdən çox raster daxil edilir. Hər piksel üçün çıxan baytlar reduktor tərəfindən bərpa ediləcək kontekstə qoyulur.

Tək bir reduktor piksel dəyərlərini seçir və birləşdirir. Bir reduktor işləmə sinfi təyin etmisinizsə, çıxış rasteri ilə birlikdə GDAL məlumat dəsti təhlil və işləmə üçün bu sinfə göndərilir. Bu sinifin aldığı plitələrin siyahısı bu ssenari üçün boşdur və sinif yalnız çıxış məlumatları dəsti ilə işləyə bilər. HDFS çıxışını seçmisinizsə, nəticəni HDFS-də saxlamaq üçün ImageLoader çağırılır. Əks təqdirdə, şəkil varsayılan olaraq GDAL istifadə edərək hazırlanır və fayl sistemində (NFS) saxlanılır.

2.5.2 Giriş Parametrləri

Aşağıdakı giriş parametrləri hadoop əmrinə verilə bilər:

  • MOSAIC_CONFIG_PATH, çıxış xüsusiyyətlərini təyin edən xml mozaika konfiqurasiyasına aparan yoldur.
  • GDAL_LIBRARIES_PATH, GDAL kitabxanalarının yerləşdiyi yoldur.
  • GDAL_DATA_PATH, GDAL məlumat qovluğunun yerləşdiyi yoldur. Bu yola NFS vasitəsilə klasterdəki bütün qovşaqlara daxil olmaq lazımdır.
  • IMAGE_CATALOG_PATH, işlənəcək HDFS şəkillərini siyahıya alan xml kataloqu üçün yoldur. Bu isteğe bağlıdır, çünki & # x2013file bayrağını istifadə edərək işləmək üçün tək bir raster də təyin edə bilərsiniz.
  • USER_PROCESS_JAR_PATH isteğe bağlı olaraq istifadəçi tərəfindən müəyyənləşdirilmiş bir jar faylı və ya hər biri mənbə şəkillərinə tətbiq ediləcək əlavə işləmə sinifləri olan jar fayllarının vergüllə ayrılmış siyahısıdır.
  • THUMBNAIL_PATH, yüklənmiş şəkil (lər) in kiçik şəklini yaratmağı aktivləşdirmək üçün isteğe bağlı bir bayraqdır. Bu yola NFS vasitəsilə klasterdəki bütün qovşaqlara daxil olmaq lazımdır və yalnız HDFS çıxışı üçün etibarlıdır.
  • USER_NATIVE_LIBRARIES_PATH, təhlildə istifadə üçün əlavə yerli kitabxanaların isteğe bağlı vergüllə ayrılmış siyahısıdır. Tətbiqə yükləmək üçün bütün yerli kitabxanaları ehtiva edən bir qovluq da ola bilər.
  • USER_PARAMETERS, istifadəçi işləmə sinifləri üçün giriş məlumatlarını təyin etmək üçün istifadə olunan isteğe bağlı bir açar / dəyər siyahısıdır. Parametrləri ayırmaq üçün nöqtəli vergül istifadə edin. Məsələn: azimut = 315altitude = 45
  • SINGLE_RASTER_PATH iş tərəfindən işlənəcək .ohif faylına istəyə uyğun bir yoldur. Bu qurulubsa, bir kataloq qurmağınıza ehtiyac yoxdur.

Məsələn, aşağıdakı əmr, testFS.xml faylında quraşdırılmış mozaika çıxış tərifindən istifadə edərək kataloqu input.xml faylında sadalanan bütün faylları işləyəcəkdir.

Varsayılan olaraq, Xəritəçəkənlər və Reduktorlar 2 GB JVM əldə etmək üçün konfiqurasiya olunur, lakin istifadəçilər əmrin icra olunduğu yerdən eyni qovluq yerinə bir imagejob.prop xüsusiyyətləri faylı əlavə edərək bu parametrləri və ya hər hansı digər iş konfiqurasiya xüsusiyyətlərini ləğv edə bilərlər.

GDAL-ın düzgün işləməsi üçün kitabxanalar $ LD_LIBRARY_PATH istifadə edərək mövcud olmalıdır. Bir işi icra etmədən əvvəl paylaşılan kitabxanalar yolunun qabıq pəncərənizdə düzgün bir şəkildə qurulduğundan əmin olun. Misal üçün:

2.5.2.1 Kataloq XML Quruluşu

Aşağıda, görüntü işləmə işinin yaratdığı mozaika əməliyyatı üçün nəzərdə tutulan hər mənbə şəklinin siyahısını vermək üçün istifadə olunan XML giriş kataloqu nümunəsidir.

A & ltcatalog & gt elementi & ltimage & gt elementlərinin işlənmə siyahısını ehtiva edir.

Hər & ltimage & gt elementi & ltraster & gt elementindəki mənbə şəklini və ya mənbə qovluğunu təyin edir. Qovluqdakı bütün şəkillər işlənir.

& Ltbands & gt elementi görüntünün zolaq sayını təyin edir, Datatype atributu raster məlumat növünə malikdir və config atributu mozaika çıxış zolağı sırasında hansı bantın görünməsini təyin edir. Məsələn: 3,1,2 mozaika çıxış zolağı 1-in bu rastrın 3 nömrəli bantını, 2 nömrəli mozaika zolağının 1 qaynaq zolağını, 3 nömrəli mozaika zolağını isə 2 bəndinin olacağını bildirir. Bu sifariş dəyişə bilər rasterdən rasterə.

Ana mövzu: Giriş parametrləri

2.5.2.2 Mozaika Tərifi XML Quruluşu

Aşağıda, görüntü işləmə işinin yaratdığı nəticələrin xüsusiyyətlərini müəyyənləşdirmək üçün istifadə olunan mozaika konfiqurasiyasının XML nümunəsi verilmişdir.

& Ltmosaic & gt elementi işləmə nəticəsinin xüsusiyyətlərini təyin edir. Exec atributu, işlənmənin mozaik əməliyyatını əhatə edib etməyəcəyini müəyyənləşdirir. "False" olaraq təyin olunduqda, mozaika əməliyyatı icra edilmir və "true" olaraq ayarlandıqda və ya qoyulmadıqda, bir mozaika əməliyyatı aparılır. Aşağıdakı elementlərdən bəziləri yalnız mozaika əməliyyatları üçün tələb olunur və tək raster işləmə üçün nəzərə alınmır.

& Ltoutput & gt elementi, çıxış üçün nəzərə alınan & ltSRID & gt kimi xüsusiyyətləri müəyyənləşdirir. Fərqli SRID-dəki bütün şəkillər, plitələrindən birinin mozaikaya uyğun olub-olmamasına qərar vermək üçün mozaik SRID-ə çevrilir. Bu element tək raster işləmə üçün tələb olunmur, çünki çıxış rster giriş ilə eyni SRID-ə malikdir.

& Ltdirectory & gt elementi çıxışın harada yerləşdiyini təyin edir. Bir HDFS-də və ya etiket növündə göstərilən adi FileSystem-də (FS) ola bilər.

& LttempFsFolder & gt elementi mozaika çıxışı müvəqqəti olaraq saxlama yolunu təyin edir. Yükləmə cihazı HDFS-də saxlamaq üçün icra olunsa da, prosesi çıxartmaq üçün delete = ”false” atributu göstərilə bilər.

& Ltfilename & gt və & ltformat & gt elementləri çıxış fayl adını göstərir. & ltfilename & gt tək raster prosesi üçün tələb olunmur və göstərilməyibsə, giriş faylının adı (iş çağırışı zamanı -file atributu ilə müəyyən edilir) çıxış faylı üçün istifadə olunur. & ltformat & gt tək raster işləmə üçün tələb olunmur, çünki çıxış rasteri girişlə eyni formata malikdir.

& Ltwidth & gt və & ltheight & gt elementləri mozaika çıxış qətnaməsini təyin edir.Tək raster işlənməsi üçün bunlar tələb olunmur, çünki çıxış rasteri giriş ilə eyni qətnaməyə malikdir.

& Ltalgorithm & gt elementi şəkillər üçün sifariş alqoritmini təyin edir. 1 sifariş mənbəyə görə son dəyişdirilmiş tarixə və 2 sifariş şəklin ölçüsünə görə deməkdir. Sifariş etiketi yüksəliş və ya nəsil rejimlərini təmsil edir. (Bu xüsusiyyətlər birdən çox rasterin üst-üstə düşə biləcəyi mozaika əməliyyatları üçündür.)

& Ltbands & gt elementi çıxış mozaikasındakı lentlərin sayını təyin edir. Bu rəqəmdən daha az lent olan şəkillər atılır. Yapılandırma atributu, tək bir raster işləmə üçün istifadə edilə bilər, çünki kataloqu yoxdur.

& Ltnodata & gt elementi mozaika çıxışındakı heç bir dəyəri olmayan bütün piksellər üçün ilk üç zolaqdakı rəngi təyin edir.

& LtpixelType & gt elementi mozaika çıxışının piksel tipini təyin edir. Eyni piksel ölçüsünə malik olmayan mənbə şəkilləri işlənmək üçün atılır. Bu element tək raster işləmə üçün tələb olunmur: göstərilmədiyi təqdirdə piksel növü giriş ilə eyni olacaq.

& Ltcrop & gt elementi mozaika çıxışına daxil olan koordinatları aşağıdakı ardıcıllıqla müəyyənləşdirir: startcoordinateX, pixelXWidth, RotationX, startcoordinateY, RotationY, and pixelheightY. Bu element bir raster işləmə üçün tələb olunmur: göstərilmədiyi təqdirdə tam analiz analiz üçün nəzərdə tutulur.

& Ltprocess & gt elementi mozaika əməliyyatından əvvəl icra ediləcək bütün sinifləri siyahıya alır.

& LtclassMapper & gt elementi eşleme mərhələsində icra ediləcək siniflər üçün, & ltclassReducer & gt elementi azalma mərhələsində icra ediləcək siniflər üçün istifadə olunur. Hər iki elementdə də parametrlərinizi ehtiyaclarınıza uyğun olaraq emal siniflərinə göndərə biləcəyiniz xüsusiyyətlər var.

& Ltoperations & gt elementi bu istək üçün işlənəcək bütün xəritə cəbr əməliyyatlarını sadalayır. Bu element, məsələn, piramida əməliyyatları üçün bir istək də daxil edə bilər:


28 sentyabr 2012 Cümə

Xəritəçəkmə Yeni Zelandiya: TileMill ilə sehr etmək

Əlavə etdiyim bütün məlumatlar LINZ Data Service-dən NZ Topo 500-dəndir və xəritə stilim üçün təbii görünüşlü rənglər tapmağa çalışdım:

Yeni Zelandiyanın gölgeli bir relyef xəritəsi yaradılması

Yeni Zelandiyanın dəniz dənizinin kölgəli relyef xəritəsini yaratdıqdan sonra quruya getmək vaxtı gəldi. Eyni yamacda inkişaf etdirilmiş hillshade texnikasından istifadə edəcəyəm. Bir az çətin idi, amma düşünürəm ki, işləyən bir iş axını tapdım.

Yeni Zelandiyanın dəniz dibindən 250 metr çözünürlüklü Rəqəmsal Yüksəklik Modeli (DEM) əldə etdiyimiz halda, Landcare Research-dən Şimali və Cənubi Ada üçün 25 metrlik DEM yükləyə bilərsiniz. Pulsuz məlumat dəstləri LRIS portalından əldə edilə bilər, burada məlumatların dəqiqliyi barədə də oxuya bilərsiniz. Palmerston North-dan keçərkən Landcare Research-i ziyarət etmək üçün dəvət aldım. Bir çox açıq mənbəli işlər görürlər və maraqlı layihələri davam edirlər!

Ayrıca, bir büdcəniz varsa, ən yaxşı kartoqraflardan (və ya) 8 metrlik DEM satın almağı qətiliklə düşünməlisiniz xəritələr özlərini adlandırmağı xoşladıqları) Yeni Zelandiyada - Geographix. Ayrıca oynamağınız üçün bəzi pulsuz nümunələr təqdim edirlər. Yaxşı hazırlanmış xəritələrindəki təfərrüatların səviyyəsinə heyran qalacaqsınız! Wellington'u ziyarət edərkən mənə mehribanlıqla bir ofis sahəsi təklif etdilər və belə bir ilham verən mühitin bir hissəsi olmaq çox yaxşı idi - və Botanika bağının kənarındakı ofislərindən necə bir mənzərə var:

Wellington, köhnə Dominion Rəsədxanasındakı Geographx ofisi və studiyasından göründü.

Landcare Research-dən yüksəklik modelimizə keçək. Əvvəlcə Şimali və Cənubi Ada üçün iki DEM-i birləşdirməyə çalışdım, lakin yüksək qətnamə səbəbi ilə sonrakı mərhələdə yaddaş problemləri ilə qarşılaşdım. Aşağıdakı əmrlər Şimal Adasını əhatə edir, lakin eyni üsullar Cənubi Ada DEM üçün də tətbiq olunur. Məlumat dəstlərinin GeoTIFF versiyasını yüklədim.

Məlumat dəstləri Yeni Zelandiya Transverse Mercator 2000 (NZTM2000) proyeksiyasındadır. Bu proyeksiya istifadə etmək istədiyim xəritə studiyası TileMill tərəfindən dəstəklənmədiyi üçün gdalwarp istifadə edərək onu Web Mercator-a yenidən nəzərdən keçirməliyik:

gdalwarp -t_srs EPSG: 3785 -tr 76.4370282745361 76.4370282745361 -r bilinear lris-nzdem-north-island-25-meter-GTiff / 1-0001-0001.tif nz-dem-north-11.tif

Eyni zamanda verilənlər bazasını (-tr) aşağı endirirəm, beləliklə geniş istifadə olunan Web Mercator kirəmit sxemində zoom səviyyəsinin 11 ilə eyni qətnaməyə sahibdir. Bu 76.4370282745361 nömrəsini haradan əldə edirəm?

Beləliklə dünyanı 11 zoom səviyyəsində əhatə etmək üçün demək olar ki, 4,2 milyon plitəyə ehtiyacınız var və partiyə əlavə etdiyiniz hər zoom səviyyəsində 4 dəfə çox olur. Xoşbəxtlikdən dünyanın kiçik bir hissəsini, Yeni Zelandiyanı xəritələyirik. Web Mercator dünyanı 40.075.016.68 metr enində və uzunluğunda (Ekvatorun uzunluğu) bir kvadrat hesab edir. 256 piksel ölçülü kafel ilə maksimum 40.075.016.68 / 256 = 156.543.03390625 qətnamə əldə edirsiniz. Çözünürlüyü 0.00028 (piksel ölçüsü) bölməklə xəritə miqyasını əldə edirsiniz. Qalanları sadə riyaziyyatdır. Tərəzi yalnız Ekvatorda düzgündür. Şimali və Cənubi ada arasındakı Cook Boğazından keçən 41 & # 176 cənub enlemində, hesablamalarım doğru olarsa (1.325-ə vurun) 11 zoom səviyyəsi üçün xəritə ölçüsü 1: 360.000 civarında olmalıdır. Xəritə proyeksiyası və döşəmə sxemi haqqında daha çox məlumatı burada oxuyun.

DEM-dən bir rəng relyefi yaradaq. Yaşıllardan alçaq yüksəlişlərə qədər sarı / qəhvəyi rənglərə, ən yüksək yüksəkliklərdə isə boz və ağ rəngə doğru gedən tipik bir rəng sxemi yaratdım:

gdaldem color-relyef -co kompres = lzw nz-dem-north-11.tif color-relyef.txt nz-dem-north-11-relyef.tif

Sonra, yalnız son blog yazımda yaratdığım verilənlər bazası daxilindəki sahələri saxlayaraq yaşıl okeandan xilas olmaq istəyirəm (hər bir adaya bir dənə şəklini iki böldüm):

gdalwarp -co compress = lzw -dstalpha -cutline shape / nz-north-webmerc.shp nz-dem-north-11-relyef.tif nz-dem-north-11-relyef-cut.tif

Gözəl görünüşlü bir təpə düzəltmək üçün dəniz xəritəsi üçün etdiyim texnikanı tətbiq edəcəyəm (bütün detalları əldə etdiyiniz yerdə). Əvvəlcə "normal" bir təpə düzəldirik:

gdaldem hillshade -alt 60 nz-dem-north-11.tif nz-dem-north-11-hillshade.tif

Sonra bir yamac yaradırıq:


Sonra təpəni və yamacları birləşdirmək üçün Mapnik XML istifadə edirik:

nik2img.py nz-dem-north-hillslopeshade.xml nz-dem-north-11-hillslopeshade.tif -d 10497 14188

(South Island DEM üçün -d ölçüsü: 12637 14895)

Okeandan qurtulmaq üçün bəzi kəsiklərə də:

TileMill-də rəng relyefini və inkişaf etmiş təpəni birləşdirə bilərik (hillshade'i fərqli toxumalara tətbiq edə bilmək üçün onları ayrı saxlayıram):


Çıxış

MapTiler Engine-in standart davranışı, hər birini öz faylına, qovluq quruluşu altında yazmaqdır:

Burada z yaxınlaşma səviyyəsidir və x və y plitəsi döşəmə profilindəki müvafiq zoom səviyyəsində koordinatdır.

İstehsal olunan qovluq quruluşu, OBC WMTS standartını dəstəkləyən mb-util və TileServer layihəsi ilə uyğunlaşan sadə bir HTML görüntüləyicisini və metadata.json-da verilənlər bazasının təsvirini ehtiva edir.

MapTiler Engine, göstərilən xəritə plitələrinin SQLite verilənlər bazasına (MBTiles və ya GeoPackage formatı) birbaşa çıxışını dəstəkləyir. Bu, plitələrin ötürülməsini və idarə edilməsini asanlaşdırır və mobil tətbiqetmələr üçün praktikdir.


Kataloqlar & amp Çini Layer IO¶

Hər hansı bir təbəqədə və ya piramidada əhəmiyyətli dərəcədə təcəssüm etdirilmiş bir səy var, bu səbəbdən bu qatları bəzi saxlama arxasına qədər davam etdirmək istəmək ümumi bir istifadə vəziyyətidir. Bəzi metadata mağazası ilə ortaq bir yerin altında saxlanan qatlara bir sıra deyilir kataloqu Geotrellis dilində. Kataloqda birdən çox fərqli piramida ola bilər və metadata müəyyən bir istifadə vəziyyəti üçün genişləndirilə bilər. Bu bölmə bir kataloqun komponentlərini və bir tətbiq ilə bir kataloq arasında IO-nun necə aparılacağını izah edir.

Layer IO bir Çini Layer Backend tələb edir. Hər bir arxa hissədə bir AttributeStore, LayerReader və LayerWriter var.


Videoya baxın: GDAL Installation for python