Daugiau

Ar GDAL turėtų būti nustatytas gaminti GeoTIFF failus suspaudus? Kokį algoritmą reikėtų naudoti?


Turiu GIS duomenų aplanką, kurį daugiausia sudaro „GeoTIFF“ failai. Visas rinkinys sveria apie1,2 GB. Pastebėjau, kad jei supakuoju turinį į tarą, jis sudužo maždaug82 MB. Norėčiau patikrinti rinkinį į peržiūros valdymo sistemą, kad su juo galėtų dirbti kiti žmonės, ir atrodo, kad yra vietos, kurią galima išspausti.

„GDAL GeoTIFF“ tvarkyklės puslapyje pateikiama daugybė parinkčių, kurios gali būti naudojamos suspaustiems „GeoTIFF“ failams kurti. Taip pat yra daug variantų, turinčių įtakos kiekvieno algoritmo veikimui.

Pagalbos puslapyje gerai aprašomos parinktys, tačiau nėra išsamiai paaiškinta, kaip pasirinkti algoritmą ar kompromisus, susijusius su skirtingu suspaudimo lygiu. Dėl to kyla šie klausimai:

  • Suspaudimo privalumai yra dramatiškas vietos taupymas. Kokie minusai? Ar informacija prarandama suspaudus vaizdą?

  • Kaip pasirinkti algoritmą ir suspaudimo lygį? Ar kai kurie vaizdų tipai tinka tam tikram algoritmui?


Norėdami pasirinkti suspaudimo metodą, turite naudoti tokią komandą:

gdal_translate -co "COMPRESS = metodas" src_dataset dst_dataset

Kai naudojate glaudinimą, didžiausias kompromisas yra papildomas apdorojimo laikas, kurio reikia vaizdui suspausti, o išspaudus vaizdas vis tiek sunaudos tiek pat atminties. Kalbant apie informacijos praradimą, yra du pagrindiniai suspaudimo tipai:

  • be nuostolių - išsaugo pradines duomenų vertes
  • nuostolingi - kurie sugadina duomenis, kad sutaupytų dar daugiau vietos

Būtumėte be nuostolių algoritmai, kai reikia išsaugoti pradines duomenų vertes, pvz., DEM ar rastrines funkcijas. Tokie algoritmai kaip PACKBITS, DEFLATE ir LZW yra be nuostolių ir juos galima užsisakyti pagal suspaudimo laipsnį:

  1. LZW - didžiausias suspaudimo laipsnis, didžiausia apdorojimo galia
  2. DEFLATE
  3. PACKBITS - mažiausias suspaudimo laipsnis, mažiausia apdorojimo galia

Suspaudimo laipsnis vis dar priklauso nuo duomenų, jei duomenys turi daug panašių verčių. PACKBITS duos gerų rezultatų.

Priešingai nei nuostoliai, jūs naudojate nuostolingus algoritmus, tokius kaip JPEG suspausti rastrus, kuriems nereikia grąžinti tikslių verčių. Pavyzdžiui, ortofotos arba palydoviniai vaizdai gali būti suspausti naudojant nuostolingus algoritmus.


Sulzwirištuštintisuspaudimas naudojant-co prognozuotojas = 2gali padėti vaizdams, kurie sklandžiai kinta, nes suspaudžia skirtumus tarp pikselių į pikselius, o ne absoliučias vertes, ir jie bus nedideli ir turės daugiau modelių (nuoroda). Prognozė naudinga tik sulzwirištuštintisuspaudimo, ši parinktis neturi jokio poveikio kitiems metodams.

gdal_translate -co kompresas = lzw -co nuspėjamasis = 2…

Sutaupytos prognozės gali būti dramatiškos. Aš ką tik iš naujo suspaudžiau 16 bitų geografinio pakėlimo modelių katalogą, naudojantį iki 17 GB su numatytais LZW nustatymais, į tik 5 GB, kai nuspėjama = 2.

Yra prieštaringos informacijos apie skirtumus tarp 2 ir 3 nuspėjamųjų ir kada geriausiai juos pritaikyti (1 nuoroda, 2 nuoroda). Galbūt degalai kitam klausimui.

Kitas paprastas taupymo variantas yra-co plytelės = taip. Yra programinė įranga, kuri negali skaityti plytelėmis pavaizduotų vaizdų, tačiau ji tampa vis retesnė ir dažniausiai už GIS ribų (dabar nežinau jokios pagrindinės GIS programinės įrangos, kuri jų neskaito).

Jei norite remtis @alfonx atsakymu apie suspaustų apžvalgų naudojimą: tai leidžia išsaugoti pagrindinį vaizdą be nuostolių, kad būtų užtikrintas duomenų vientisumas, o piramidės būtų nuostolingos, kad būtų spartesnis ir sutaupytas vietos. Tai beveik geriausias iš abiejų pasaulių. Dėl mažiausių įmanomų apžvalgų sugdaladdoRGB vaizduose: vietoj numatytojo artimiausio kaimyno naudokite „jpeg“ glaudinimą, vidurkį arba gauso atranką (kad apžvalgos būtų sklandesnės) ir „YCBCR“ fotometrinę apžvalgą. Daugiau informacijos apie šias parinktis rasite „gdaladdo“ nuorodų puslapyje (nors jame daug nepasakoma apie tai, kas yra fotometrija).

Tai yra „Windows“ paketinio failo, kurį naudoju išorinėms „jpeg“ apžvalgoms taikyti visiems katalogo tiffams, dalis:

set _opts = -r gauss --config PHOTOMETRIC_OVERVIEW YCBCR ^ --config COMPRESS_OVERVIEW JPEG --config JPEG_QUALITY_OVERVIEW 85 for %% a in (*.tif) do gdaladdo -ro %_opts %%% a 2 4 8 16 32 64

Pastabos

Pristatytas GDAL 1.6.0gausspakartotinis mėginių ėmimas, kuris gali duoti geresnių rezultatųvidutinisesant aštriems kraštams su dideliu kontrastu ar triukšmingais raštais. Turėtų būti naudojamos 2 lygių galios (2 4 8…), kad būtų pasirinktas 3x3 pakartotinio mėginio ėmimo Gauso branduolys.

JPEG_QUALITY_OVERVIEW 85- jei nenurodyta, naudojamas 75% numatytasis nustatymas, kuris duoda mažesnį failą, tačiau manau, kad 85% yra geresnis kompromisas dėl dydžio ir kokybės.

Atnaujinimas, 2015 m. „GDAL 1.8“ ir „2.0“ pristatė daug naujų galimybių, kurios čia neaptiktos ir kurių aš nespėjau suvirškinti. Perskaitykite oficialų „gtiff“ formato puslapį, esu tikras, kad yra išsamių papildomų naudingų nustatymų.


Dideliems mėgėjams „GeoTiff“ suteikia galimybę išsaugoti (iš anksto) sumažintas apžvalgas kaip papildomus vaizdus į „GeoTiff“ failą. Tai galima padaryti naudojant gdaladdo (= GDAL ADD apžvalga). Kurdami šias apžvalgas galite rankiniu būdu liepti „gdal“ jas taip pat suspausti:

gdaladdo --config COMPRESS_OVERVIEW JPEG

Paspartina jūsų duomenų peržiūrą nepridedant per daug dydžio. Pastaba: „Geotools“ programos, tokios kaip „Geoserver“, „uDig“, „AtlasStyler“, „Geopublisher“, gali naudoti šią funkciją ir gauti naudos iš apžvalgų.


Norėdami įjungti dalinį vaizdo dekompresiją, tiesiog naudokite TILED = YES.

Petras


Galų gale turbūt turėsite eksperimentuoti su įvairiomis galimybėmis ir pamatyti, kas atitinka jūsų poreikius.

Aš vis dažniau naudoju JPEG suspaustus „GeoTIFF“, naudodamas „wavelet“ formatus. Mano rezultatai buvo gana geri. Tam naudojant GDAL, buvo gauti glaudinimo koeficientai, panašūs į „wavelet“ formatus, neprarandant daug duomenų. Su dekompresija susijęs našumo hitas buvo priimtinas.

Man labiausiai patinka šis požiūris, kad „GeoTIFF“ palaikymas yra beveik universalus, o „wavelet“ formatų palaikymas ne visada yra garantuotas ir kartais susiduria su sudėtingomis licencijavimo problemomis.


Atsakymai, kuriuos pateikė @dodobas ir @matt-wilkie, apima viską, kas susiję su GDAL suspaudimo ir suliejimo veiksmais, siekiant sumažinti vaizdo dydį.

Norėčiau pridėti du dalykus:

  • failo formato dokumentacija iš GDAL: http://www.gdal.org/frmt_gtiff.html;
    • Peržiūrėkite kūrimo parinktis (-co), konkrečiai:
      • KOMPRESUOTI
      • NUM_THREADS
      • PROGNIKAS
      • ZLEVEL
  • ir kad būtina patikrinti, ar programinė įranga, kuri naudos „GeoTIFF“:
    • palaiko norimą suspaudimo būdą;
    • rekomenduoja naudoti suspaudimą.

Pavyzdžiui, „GeoServer“ tai daro ne rekomenduojame suspausti GeoTIFF:

Paskutinė pastaba: „Geotiff“ palaiko įvairius glaudinimo būdus, tačiau siūlome jo nenaudoti. Nors tai leidžia daug mažesnius failus, dekompresijos procesas yra brangus ir bus atliekamas kiekvienai prieigai prie duomenų, o tai žymiai sulėtins atvaizdavimą. Mūsų patirtis rodo, kad dekompresijos laikas yra ilgesnis nei grynojo disko duomenų nuskaitymas.

Tai ypač pasakytina, jei jau naudojate apžvalgas, plyteles ir didelio našumo laikmenas (įmonės lygio diską arba SSD).


Mano patirtis, lyginant „GeoTIFF“ ir „Earth Resource Mapping“ ECW (Enhanced Compressed Wavelet) suspaudimą, yra ta, kad ECW yra didesniu mastu geresnis, kai suglaudinamos didelės skiriamosios gebos aerofotografijos. Kitas svarbus „wavelet“ pagrindu sukurto glaudinimo pranašumas yra tas, kad, skirtingai nei senesni formatai, tokie kaip „GeoTIFF“, JPEG, o ne JPEG 2000, tik dalis vaizdo gali būti išspausta [žr. 1]. Šio pranašumo svarbos negalima nuvertinti, ypač dirbant su „didesne nei maždaug puse kompiuterio atminties“.

Atrodo - aš niekada neturėjau galimybės to išbandyti - kad MrSID, kitas propuliacinis, „wavelet“ pagrįstas failų formatas, taip pat pasižymi didesniu suspaudimo koeficientu nei „senesni“ formatai ir selektyvus išsklaidymas.

ref. 1: http://www.ifp.uni-stuttgart.de/publications/phowo01/Ueffing.pdf


Tiems, kurie naudoja naujesnes GDAL versijas, taip pat yra praradimas „ZStandard“ (ZSTD) suspaudimas (GDAL> = 2.3) ir nuostolingas ribotos klaidos rastrinis suspaudimas (LERC) galimi suspaudimo (GDAL> = 2.4) pasirinkimai.

Tačiau paprastai kalbant,ZSTDsiūlo greitesnį duomenų skaitymo greitį nei abuLZWirDEFLATEsu panašiais glaudinimo koeficientais, nors rašant failą jis gali būti šiek tiek lėtesnis (priklausomai nuo naudojamų nustatymų).

Jei nesate labai susirūpinę dėl duomenų tikslumo (pvz., Tik atliekate vizualizaciją, o ne analizę), tadaLERCgal butu geras variantas. Čia yraMAX_Z_ERRORnustatymas, leidžiantis patikslinti, kiek tiksliai norite paaukoti. Pvz. aMAX_Z_ERROR = 0,001arba 1 mm leido sutaupyti 50% vietos vienam etalonui (žr. nuorodą).

Geriausia tai, kad taip pat galite derintiLERCsuZSTDnaudojantCOMPRESS = LERC_ZSTD! Arba, jei norite naudotiDEFLATE, Jūs galite padarytiCOMPRESS = LERC_DEFLATE. Taip pat žiūrėkite visą derinių/nustatymų sąrašą oficialiuose „GDAL GeoTIFF“ dokumentuose https://gdal.org/drivers/raster/gtiff.html#creation-options

Daugiau informacijos ir visų lyginamųjų etalonų palyginimų rasite šioje vertingoje nuorodoje:

  • „GeoTIFF suspaudimo ir optimizavimo vadovas naudojant GDAL“, autorius @kokoalberti

Horizontalūs artefaktai tarp geotifų kraštų, naudojant gdalbuildvrt ir gdaltranslate

Bandau sujungti daugybę geografinių šriftų į vieną didelį geografinį kodą su apžvalgomis, tačiau galutinis sujungtas geografinis rodiklis rodo daugybę horizontalių artefaktų aplink pradinių sujungtų geografinių šriftų kraštus (pavyzdį žr. Čia).

Sukuriu sujungtą failą naudodami šį kodą:

Turiu nuojautą, kad tai gali būti susiję su „gdal_translate“ naudojimu „vrt“, nes klaidos atsiranda originalių geografinių šriftų kraštuose, ir šiuo atveju tai gali būti susiję ar panašūs į šiame įraše aptiktą problemą.

Šis kodas naudoja VRT, kad suvienytų geografinius rodiklius greičio tikslais, bet galbūt geriau tiesiog juos sujungti su „gdalwarp“?

Redaguoti: Sumažinau vėliavų skaičių ir neatsižvelgiau į aukščiau pateikto kodo apžvalgas, kaip siūloma žemiau esančiame Benjamino komentare. Atrodo, kad klaida padaryta aukščiau esančiame kode. Manau, kad problema gali būti maskavimo procese. Manau, tam tikru juostų kaupimo proceso metu įvestys yra iškraipytos. Ar apskritai nepatartina gdal_translate VRT?


Išankstinis „GeoTIFF“ failų apdorojimas ir „DeepMask“/„SharpMask“ modelio mokymas

Šiame projekte UNOSAT yra atsakingas už palydovinių vaizdų teikimą. Iš pradžių naudosime „Muna“ pabėgėlių stovyklų Nigerijoje „GeoTIFF“ failus. JT analizuojamą žemėlapį rasite šioje nuorodoje. Išskyrus šiuos vaizdus, ​​mums taip pat buvo pateikti formos failų ir geografinių duomenų bazių failai.

Mes galime tvarkyti vaizdus ir duomenis viename faile, naudodami lankstų ir pritaikomą failo formatą, žinomą kaip TIFF. Naudodami TIFF, galime apibrėžti vaizdo geometriją, įtraukdami antraštės žymas, tokias kaip dydis, apibrėžimas, vaizdo duomenų išdėstymas ir taikomas vaizdo suspaudimas. „GeoTIFF“ yra TIFF failo formato tipas. Tai yra viešai prieinamas metaduomenų standartas, leidžiantis į TIFF failą įterpti ryšį tarp žemėlapio vidinės koordinačių sistemos ir geografinių koordinačių sistemos (pvz., Ilgumos ir platumos informacijos).

Aš naudoju „shapefile“ norėdamas išgauti etiketės informaciją savo duomenų rinkiniui. „Shapefile“ yra populiarus geografinių erdvinių vektorinių duomenų formatas geografinės informacijos sistemos (GIS) programinei įrangai. Naudodami „shapefile“ galime erdviškai apibūdinti vektorines ypatybes, pvz. linijos, taškai ir daugiakampiai gali būti upės, prieglaudos ar kiti skirtingi bruožai.

Atsižvelgdami į šiuos dalykus, norime sugeneruoti komentarus/etiketes savo duomenų rinkiniui, kuris atitinka giliųjų kaukių komentarų formatą. Antrame tinklaraštyje jau parodžiau „deepmask“ anotacijos formatą. Pirma, turime sugeneruoti plyteles iš nurodytų „GeoTIFF“ failų ir tada sukursime kiekvienos plytelės etiketes.

Plytelių sujungimas:

Norėdami sukurti plyteles, man buvo pateikti septyni pabėgėlių stovyklos „GeoTIFF“ failai. Pirmasis žingsnis buvo sujungti šiuos palydovinius vaizdus į vieną. Norėdami tai padaryti, galime naudoti bet kurį iš žemiau pateiktų metodų:

Naudojant QGIS:

Galite įdiegti QGIS atlikdami toliau nurodytus veiksmus:

Įdiegę turite vadovautis šia paprasta pamoka.

Naudojant GDAL python biblioteką:

Galite įdiegti GDAL atlikdami toliau nurodytus veiksmus.

Įdiegę galite naudoti vieną iš šių komandų:

Gdal_merge.py -ot baitas -o sujungtasMuna.tif -of GTiff Muna1.tif Muna2.tif Muna3.tif Muna4.tif Muna5.tif Muna6.tif Muna7.tif -co COMPRESS = DEFLATE -co PREDICTOR = 2 -co BIGTIFF = TAIP

Aš padarysiu rekomenduoti toliau pateiktą metodą, nes jis efektyviausiai sukuria norimą sujungtą TIFF.

„Python“ formos failų biblioteka:

„Python Shapefile Library“ (pyshp) teikia „Shapefile“ formato skaitymo ir rašymo palaikymą, kurį galima įdiegti naudojant šią komandą:

Įdiegę, norėdami išanalizuoti pateiktą formos failą, atlikite toliau nurodytus veiksmus:

Pirmiausia turite importuoti biblioteką

Norėdami perskaityti figūros failą, sukurkite & ldquoReader & rdquo objektą ir perduokite jam savo esamo figūros failo pavadinimą. Formos failo formatą sudaro trys failai. Failo pavadinimą galite tiesiog nurodyti naudodami plėtinį .shp.

Norėdami gauti formos failo geometrijos sąrašą, galite naudoti formos () metodą. Formų metodas grąžina figūros objektų sąrašą, kur kiekvienas formos objektas apibūdina kiekvieno figūros įrašo geometriją.

Norėdami rasti figūros objektų skaičių duotame formos faile, galime tiesiog naudoti metodą len ().

Norėdami kartoti figūros failo ir rsquos geometriją, galite naudoti metodą iterShapes ().

Kiekvieną figūros įrašą gali sudaryti šie atributai:

formos tipas: grąžina sveiką skaičių, kuris apibrėžia figūros tipą.

Žemiau pateikiami figūrų tipai su atitinkamomis sveikųjų skaičių reikšmėmis:

bbox: Jei figūros tipas turi kelis taškus, šis rinkinys apibūdina apatinę kairę (x, y) ir viršutinio dešiniojo kampo koordinates. Šią informaciją galite naudoti norėdami gauti visą langelį aplink taškus.

Jei shapeType == 0, iškyla atributo klaida.

dalys: Šis atributas tiesiog sugrupuoja taškų kolekcijas į formas. Jei figūros įraše yra daugiau nei viena dalis, šiame atribute yra kiekvienos dalies pirmojo taško indeksas. Jei yra tik viena dalis, grąžinamas sąrašas, kuriame yra 0.

taškai: Grąžina sąrašą, kuriame yra (x, y) kiekvieno formos taško koordinatės.

Vieną figūrą galite perskaityti paskambinę į jos indeksą naudodami formą (). Formų skaičiaus indeksas prasideda nuo 0. Taigi, norėdami perskaityti 5 formos įrašą, naudokite indeksą 4.

Paprasta vizualizacija:

Norėdami suprasti, kaip formos objektai figūros faile vaizduoja prieglaudas ar kitas skirtingas funkcijas, galite vizualizuoti formos objektus, uždengtus sujungtu TIFF QGIS.
Norėdami tai padaryti, meniu juostoje pridėkite rastrinį sluoksnį, tada pasirinkite sujungtą vaizdą, vilkite ir nuleiskite figūros failą, todėl visi formos objektai bus nukreipti į atitinkamas prieglaudas, pvz., Toliau pateiktus vaizdus:

Plytelių generavimas:

Dabar turime suskaidytą vaizdą padalyti į tam tikro dydžio plyteles, kaip reikalauja DeepMask/SharpMask modelis. Mes kuriame 224 x 224 dydžio plyteles. Norėdami tai padaryti, galite vadovautis vienu iš šių būdų:

„ImageMagick“ metodas:
Stumdomų langų metodas:

Sukūriau „python“ scenarijų, kad sugeneruočiau plyteles, stumdamas 224 x 224 dydžio langą virš sujungto vaizdo. Aš stumdau savo langą 50 pikselių x kryptimi ir 50 pikselių y kryptimi. Dėl to susidaro žymiai didesnis persidengiančių plytelių skaičius, palyginti su „ImageMagick“ metodu.

Dabar formos faile turiu pakankamai plytelių su jų geometrijos informacija.

Problema („DeepMask“ anotacijos formatas reikalauja „Bounding Box“):

„DeepMask“ anotacijų formatas, kaip parodyta antrame tinklaraštyje, neveikia su vieninteliais taškais, tačiau reikalauja apribojimo langelio informacijos, todėl turėčiau pakeisti savo formos failą ir pakeisti taškus į daugiakampius.

Aš galiu pakeisti savo formos failą naudodami QGIS. Aš galiu sukurti įtakos spindulį aplink kiekvieną tašką atlikdamas toliau nurodytus veiksmus:

Pradėkite kaupdami taškus:

Vektorius -& gt Geoprocessing Tools -& gt Fiksuoto atstumo buferis -& gt Nustatykite atstumą

Nustatau atstumą iki 0.00002.

Tai suteikia man įtakos spindulį aplink tą tašką. Dabar turiu kiekvienos formos apribojimo dėžutės informaciją. Gautas daugiakampis parodytas žemiau:

Taip pat galiu atlikti aukščiau aprašytą procedūrą nekeisdamas savo formos failo, sukurdamas „python“ scenarijų.

Kaip ir mūsų formos faile, kiekvieną figūrą sudaro tik vienas taškas ir nėra kiekvienos prieglaudos ribojančios dėžutės. Šį vieną tašką galiu laikyti centru ir tada empiriškai apibrėžti savo spindulį.

Mes galime gauti x ir y taškus aplink bet kurį tašką, kurio spindulys yra empiriškai apibrėžtas, atlikdami šiuos veiksmus:

Pavertęs vieną tašką į kelis taškus, dabar galiu pridėti šiuos taškus komentarų faile kaip segmentavimo taškus. Be to, dabar aš taip pat turiu apribojimo dėžutės pikselius.

Problema: (visi apskritimai bus vienodo ilgio)

Mūsų įtakos spindulys aplink visus taškus bus to paties ploto, nesvarbu, kiek pastogės struktūra yra didesnė ar mažesnė. Taigi, mažose prieglaudose bus daug fono regiono. Didesnėms prieglaudoms kai kurios prieglobsčio vietos gali būti už spindulio ribų. Taigi, mokymosi problemos !!

Kaip matyti toliau pateiktame pavyzdyje:

Taigi, kitas dalykas, kurį galiu padaryti, yra rankiniu būdu apibrėžti kiekvienos prieglaudos etiketes. Norėdami tai padaryti, turite sukurti savo formos failą atlikdami šiuos veiksmus:

Sluoksnio meniu pasirinkite Naujas ir rarr Naujas formos failo sluoksnis

Pasirinkite tą patį CRS (koordinačių atskaitos sistemą), kaip ir mūsų nurodytas formos failas. Mūsų atveju tai yra WGS84.

Naujame lauke įveskite naujo lauko pavadinimą (mano atveju prieglaudos), spustelėkite [Pridėti prie laukų sąrašo], tada spustelėkite [Gerai]. Būsite paraginti dialogo lange Išsaugoti kaip. Įveskite failo pavadinimą (& quot.myShapeFile & quot) ir spustelėkite [Išsaugoti]. Naują sluoksnį galėsite pamatyti sluoksnių sąraše.

Dabar spustelėkite sluoksnio pavadinimą, kurį ką tik sukūrėte sluoksnių skydelyje. Įrankių juostoje spustelėkite parinktį Perjungti redagavimą. Dabar mūsų sluoksnis yra redaguojamas. Dabar spustelėkite piktogramą Pridėti funkciją. Kai tai padarysite, žymeklis pasikeis iš rodyklės į kitą piktogramą. Spustelėkite kairįjį pelės klavišą ant savo pirmosios pastogės, kad sukurtumėte pirmąjį naujos formos tašką. Spustelėkite kairįjį pelės klavišą ant kiekvieno papildomo taško, kurį norite įtraukti į savo daugiakampį. Baigę pridėti taškus (t. Y. Daugiakampis reiškia norimą pastogės plotą), dešiniuoju pelės mygtuku spustelėkite bet kurią žemėlapio srities vietą, kad patvirtintumėte, jog baigėte įvesti objekto geometriją. Dėl to bus atidarytas atributų langas. Įveskite norimą daugiakampio pavadinimą (pvz., & Quotshelter1 & quot) ir spustelėkite [OK].

Išsaugoti sluoksnių pakeitimus (įrankių juostoje arba sluoksnių meniu). Išsaugojus projektą tiesiogiai, kai redaguojate sluoksnį, neišsaugoti pakeitimai nebus išsaugoti, todėl turėtumėte aiškiai išsaugoti pakeitimus sluoksnyje, kitaip visos pastangos bus prarastos.

Žemiau pateiktas modifikuotos formos failo palyginimas su senesne figūra:

Šiuo metu turiu tinkamą formos failą ir pakankamai plytelių. Taigi, kitas žingsnis yra sukurti mūsų duomenų rinkinio anotacijos/etiketės failą.

Anotacijos failo kūrimas:

Norėdami sukurti komentarų/etikečių failą mūsų duomenų rinkiniui, galite atlikti toliau nurodytus veiksmus.

Tinkamai padalinkite figūros objektus iš formos failo į tris dalis: bandymui, mokymui ir patvirtinimui.

Įkelkite sujungtą vaizdą naudodami „Geoio“ biblioteką. Tai galite padaryti tokiu būdu:

Mokymui iš 2403 formų analizuoju 1803 figūras. Kadangi mes sukūrėme savo plyteles taikydami persidengiančius metodus, kiekviena forma yra keliose plytelėse.

„Oru“ formos failas buvo sukurtas naudojant „wgs84“ koordinačių atskaitos sistemą, todėl kiekvienas formos taškas vaizduojamas ilgumos ir platumos. Norėdami konvertuoti ilgumos ir platumos į pikselius (rastrizavimas), galime naudoti geoio biblioteką. Kadangi mes jau įkėlėme sujungtą vaizdą į geoio img objektą, dabar galime tai padaryti:

Pavertę geografines koordinates į pikselius formos faile, mes galime gauti kiekvienos prieglaudos etiketes naudodami šiuos taškus, tačiau šie taškai atitinka sujungtą vaizdą. Turime juos lokalizuoti pagal kiekvieną plytelę.

Norėdami tai padaryti, iš pradžių turime rasti visas plyteles, kuriose gali būti nurodytas taškas. Nustačius plyteles, turime rasti, kur sujungtame paveikslėlyje yra viršutinis kairysis kampas arba atitinkamų plytelių kilmė (0,0).

Suradę sujungto vaizdo plytelių viršutinį kairįjį kampą, galime tiesiog atimti šiuos pikselius iš atitinkamų formos taškų, esančių šiose plytelėse, kad gautume kiekvieno formos taško vietines koordinates.

Dabar šiuos taškus galime tiesiog įtraukti į „json“ failo duomenų antraštės segmentavimo raktą.
Panašiai mes galime pridėti kiekvienos formos ribojimo langelio informaciją ir pridėti ją prie „json“ failo duomenų antraštės „bbox“ rakto.

Į visus kitus duomenų antraštės raktus pridėkite atitinkamos informacijos.

Po kiekvienos iteracijos turime išmesti duomenis į „json“ objektą:

Baigę visas iteracijas, turime išmesti/įrašyti „jsonData“ objektą į „json“ failą:

Panašiai, norėdami patvirtinti duomenų rinkinį, turime sukurti json failą.

Norėdami įvertinti sukurtų etikečių pagrįstumą, išanalizavau savo JSON failą ir patikrinau, ar nėra įvairių plytelių, kad pamatyčiau, kaip atrodo mano etiketės.

„Json“ failų analizę galime atlikti taip:

Žemiau esančiuose paveikslėliuose galima pamatyti dvi plyteles su užklijuotomis etiketėmis:

Sekę katalogo struktūrą, kaip paaiškinta antrajame tinklaraštyje, galime pradėti mokytis naudodami iš anksto parengtą giliosios kaukės modelį su savo duomenų rinkiniu, naudodami toliau pateiktą komandą:

Jei norite naudoti iš anksto apmokytą „SharpMask“ modelį arba atnaujinti mokymą bet kuriame kontrolinio taško modelyje, tai galite padaryti atlikdami šią komandą:

Ši komanda sukels klaidą neradus reikiamos klasės. Norėdami tai išspręsti, prieš 63 eilutę pridėkite šią kodo eilutę:

Po 3 dienų treniruočių ir daugiau nei 350 pakartojimų, kurių mokymosi greitis yra 1e-5, gaunu rezultatus, parodytus fig.

Norėdami patikrinti rezultatus, paleiskite šią komandą:

Po 200 pakartojimų tai yra vertinimo rezultatai, kuriuos gaunu:

Po 350 pakartojimų gaunu šiuos vertinimo rezultatus:

Mano nuomone, „DeepMask“/„SharpMask“ netinkamai veikė su palydoviniais vaizdais. Vėlesniuose mokymų etapuose vertinimo rezultatai visiškai nerodo etikečių. Ateityje mes įvertinsime „General Adversarial Network“ pagrįstą „pix2pix“ algoritmą.


Ar GDAL turėtų būti nustatytas gaminti GeoTIFF failus su suspaudimu? Kokį algoritmą reikėtų naudoti? - Geografinės informacijos sistemos

„Stack Exchange“ tinklą sudaro 177 klausimų ir atsakymų bendruomenės, įskaitant „Stack Overflow“ - didžiausią ir patikimiausią internetinę bendruomenę, skirtą kūrėjams mokytis, dalytis žiniomis ir kurti savo karjerą.

Dabartinė bendruomenė

Savo bendruomenes

Daugiau kamino mainų bendruomenių

Prisijunkite ir dalinkitės žiniomis vienoje vietoje, kuri yra struktūruota ir lengvai ieškoma.

Geografinių duomenų mokslininkas

Populiariausi tinklo įrašai

Žemo profilio išlaikymas.

Šis vartotojas dar nepaskelbė.

Ženkleliai (4)

Sidabras

Bronza

Retiausias

svetainės dizainas / logotipas ir#169 2021 „Stack Exchange Inc“ naudotojų indėliai, licencijuoti pagal cc by-sa. rev. 2021.6.30.39621

Spustelėdami „Priimti visus slapukus“ sutinkate, kad „Stack Exchange“ gali saugoti slapukus jūsų įrenginyje ir atskleisti informaciją pagal mūsų slapukų politiką.


Apžvalgos¶

„GeoTIFF“ tvarkyklė palaiko vidinių apžvalgų skaitymą, kūrimą ir atnaujinimą. Vidines apžvalgas galima sukurti naudojant „GeoTIFF“ failus, atidarytus atnaujinimo režimu (pvz., Naudojant „gdaladdo“). Jei „GeoTIFF“ failas atidaromas kaip tik skaitomas, apžvalgos bus sukurtos išoriniame .ovr faile. Apžvalga atnaujinama tik paprašius naudojant „BuildOverviews“ () metodą.

Bloko dydį (plytelių plotį ir aukštį), naudojamą apžvalgoms (vidinei ar išorinei), galima nurodyti nustatant aplinkos kintamąjį GDAL_TIFF_OVR_BLOCKSIZE į dviejų galių vertę nuo 64 iki 4096. Numatytoji reikšmė yra 128 arba prasideda nuo GDAL 3.1 iki jei įmanoma, naudokite tą patį bloko dydį kaip ir visos skiriamosios gebos duomenų rinkinys (ty bloko aukštis ir plotis yra lygūs, galia iš dviejų ir nuo 64 iki 4096).


Gdalwarp

„Gdalwarp“ programa yra paprasta vaizdo atkūrimo ir iškreipimo priemonė. Programa gali persikelti į bet kurią pagalbinę projekciją ir taip pat gali taikyti su vaizdu saugomus GCP, jei vaizdas yra „neapdorotas“ su valdymo informacija.

-s_srs p: šaltinio erdvinių nuorodų rinkinys. Koordinačių sistemos, kurias galima perduoti, yra viskas, ką palaiko OGRSpatialReference.SetFromUserInput () skambutis, į kurį įeina EPSG PCS ir GCS (pvz., EPSG: 4296), PROJ.4 deklaracijos (kaip nurodyta aukščiau) arba .prf failo pavadinimas kuriame yra gerai žinomas tekstas. -t_srs srs_def: tikslinių erdvinių nuorodų rinkinys. Koordinačių sistemos, kurias galima perduoti, yra viskas, ką palaiko OGRSpatialReference.SetFromUserInput () skambutis, į kurį įeina EPSG PCS ir GCS (pvz., EPSG: 4296), PROJ.4 deklaracijos (kaip nurodyta aukščiau) arba .prf failo pavadinimas kuriame yra gerai žinomas tekstas. -įsakymas n: polipas, naudojamas deformavimui (1–3). Numatytasis yra išsiaiškinti geriausią tvarką. -et err_threshold: transformacijos aproksimacijos klaidos slenkstis (pikselių vienetais - numatytasis 0,125). -te xmin ymin xmax ymax: nustatyti georeferencinį išvesties failo apimtį, kurią reikia sukurti. -tr xres yres: nustatyti išvesties failo skiriamąją gebą (tiksliniuose georeferenciniuose vienetuose) -ts plotis Aukštis: nustatykite išvesties failo dydį taškais ir eilutėmis -du „NAME = VALUE“: Nustatykite metmenų parinktis. Yra galimų sąrašas. Daugkartinis -du variantai gali būti išvardyti. -ne tipo: Kad išvesties juostos atitiktų nurodytą duomenų tipą. -sv tipo: Veikiančių pikselių duomenų tipas. Šaltinio vaizdo ir paskirties vaizdo buferių pikselių duomenų tipas. -rn: Naudokite artimiausio kaimyno atranką (numatytasis, greičiausias algoritmas, blogiausia interpoliacijos kokybė). -rb: Naudokite dvipusį pakartotinį atranką. -rc: Naudokite kubinį pakartotinį mėginių ėmimą. -rcs: Naudokite kubinio splaino pakartotinį atrinkimą (lėčiausias algoritmas). -srcnodata vertė [vertė. ]: Nustatykite įvesties juostų mazgų maskavimo reikšmes (kiekvienai juostai gali būti pateiktos skirtingos vertės). Užmaskuotos vertės interpoliacijai nebus naudojamos. -dstnodata vertė [vertė. ]: Nustatykite išvesties juostų „nodata“ reikšmes (kiekvienai juostai gali būti pateiktos skirtingos vertės). Nauji failai bus inicijuoti pagal šią vertę ir, jei įmanoma, „nodata“ reikšmė bus įrašyta į išvesties failą. -wm atmintis_in_mb: Nustatykite atminties kiekį (megabaitais), kurį metmenų API leidžiama naudoti talpykloje. -daug: Naudokite daugiasluoksnį deformavimą. Vaizdų fragmentams apdoroti ir įvesties/išvesties operacijoms atlikti bus naudojamos kelios gijos. -q: Tylėk. -apie formatu: Pasirinkite išvesties formatą. Numatytasis yra „GeoTIFF“ (GTiff). Naudokite trumpo formato pavadinimą. -co „NAME = VALUE“: perduoda kūrimo parinktį išvesties formato tvarkyklei. Daugkartinis -co variantai gali būti išvardyti. Kiekvieno formato teisinio kūrimo parinktis žr. Konkretaus formato dokumentuose. srcfile: Šaltinio failo pavadinimas. dstfile: Paskirties failo pavadinimas. Mosaicavimas į esamą išvesties failą palaikomas, jei išvesties failas jau yra.

if man section wexample PAVYZDYS endif htmlonly Pavyzdys: endhtmlonly Pavyzdžiui, "GeoTIFF" saugoma aštuonių bitų taškinė scena su valdymo taškais, susiejančiais kampus į lat/long, gali būti iškreipta į UTM projekciją tokia komanda:

verbatim gdalwarp -t_srs ' +proj = utm +zona = 11 +atskaitos taškas = WGS84' raw_spot.tif utm11.tif endverbatim Pavyzdžiui, antrasis HDTER saugomo ASTER vaizdo kanalas su valdymo taškais, susiejantis kampus su lat/long gali būti nukreiptas į UTM projekciją naudojant tokią komandą:

verbatim gdalwarp HDF4_SDS: ASTER_L1B: "pg-PR1B0000-2002031402_100_001": 2 pg-PR1B0000-2002031402_100_001_2.tif endverbatim if man section autorius AUTORIAI Frank Warmerdam Silke Reimer * / / *! page gdaltindex kuria formos failą kaip rastrinis tileindex skyrius isynopsis SYNOPSIS endif htmlonly


Apibūdinimas¶

psconvert konvertuoja vieną ar kelis „PostScript“ failus į kitus formatus (BMP, EPS, JPEG, PDF, PNG, PPM, SVG, TIFF) naudojant „GhostScript“. Įvesties failų pavadinimai skaitomi iš komandinės eilutės arba iš failo, kuriame jie išvardyti. Gautų vaizdų dydį nustato „BoundingBox“ (arba „HiResBoundingBox“, jei yra). Kaip alternatyva, pirmiausia galima apskaičiuoti griežtą („HiRes“) „BoundingBox“. Kaip kitą parinktį, ji gali apskaičiuoti ESRI tipo pasaulio failus, naudojamus, pvz., Tif failus, ir priversti juos atpažinti kaip geotifą. Pastaba: jei „PostScript“ failas reikalauja bet kurio „Adobe PDF“ skaidrumo plėtinio ir PDF nėra pasirinktas išvesties formatas, tada failas pirmiausia bus konvertuotas į laikiną PDF failą (kad skaidrumas įsigaliotų) prieš konvertuojant PDF į norimą išvesties formatą.


Palaikomas rašymui ir kūrybai. „Microsoft“ sukurtas „DirectDraw Surface“ failo formatas (naudojamas failo pavadinimo plėtinys DDS) yra duomenų, suspaustų naudojant nuostolingą S3 tekstūros glaudinimo (S3TC) algoritmą, saugojimo standartas. DDS formatą ir glaudinimą teikia „crunch“ biblioteka.

Tvarkyklė palaiko šiuos tekstūros formatus: DXT1. DXT1A, DXT3 (numatytasis) ir DXT5. Tekstūros formatą galite nustatyti naudodami kūrimo parinktį FORMAT.

Vairuotojas palaiko šią glaudinimo kokybę: SUPERFAST, FAST, NORMAL (numatytasis), GERESNIS ir UBER. Glaudinimo kokybę galite nustatyti naudodami kūrimo parinktį KOKYBĖ.

PASTABA: Įdiegta kaip gdal/frmts/dds/ddsdataset.cpp.


APIBŪDINIMAS

Koordinačių atskaitos sistemos, kurias galima perduoti, yra viskas, ką palaiko OGRSpatialReference.SetFromUserInput () skambutis, į kurį įeina EPSG suprojektuotas, geografinis arba sudėtinis KRS (ty EPSG: 4296), gerai žinomas teksto (WKT) KRS apibrėžimas, PROJ.4 deklaracijos , arba .prj failo, kuriame yra WKT CRS apibrėžimas, pavadinimas.

Pradedant nuo GDAL 2.2, jei SRS turi aiškų vertikalųjį atskaitos tašką, nurodantį į PROJ.4 geo tinklelius, o įvesties duomenų rinkinys yra vienos juostos duomenų rinkinys, duomenų rinkinio vertėms bus taikoma vertikali korekcija.

Šaltinis SRS turi būti prieinamas, kad būtų galima atlikti perkėlimą. Šaltinio SRS pagal numatytuosius nustatymus bus tas, kuris randamas įvesties duomenų rinkinyje, kai jis yra prieinamas, arba kaip nepaisomas naudotojo su -s_srs

Koordinačių atskaitos sistemos, kurias galima perduoti, yra viskas, ką palaiko OGRSpatialReference.SetFromUserInput () skambutis, į kurį įeina EPSG suprojektuotas, geografinis arba sudėtinis KRS (ty EPSG: 4296), gerai žinomas teksto (WKT) KRS apibrėžimas, PROJ.4 deklaracijos , arba .prj failo, kuriame yra WKT CRS apibrėžimas, pavadinimas.

Pradedant nuo GDAL 2.2, jei SRS turi aiškų vertikalųjį atskaitos tašką, nurodantį į PROJ.4 geo tinklelius, o įvesties duomenų rinkinys yra vienos juostos duomenų rinkinys, duomenų rinkinio vertėms bus taikoma vertikali korekcija.

Jei nenurodyta (arba neišvedama iš -te ir -ts), „gdalwarp“ sugeneruos išvesties rastrą su xres = yres, ir net tada, kai naudojant „gdalwarp“ scenarijus, kurie nėra susiję su perprojektavimu.

netoli: artimiausio kaimyno atranka (numatytasis, greičiausias algoritmas, blogiausia interpoliacijos kokybė).

dvipusis: dvipusis pakartotinis atranka.

kubinis: kubinis pakartotinis mėginių ėmimas.

kubinė linija: kubinių splanų pakartotinis atrinkimas.

lanczos: Lanczos langų sinc pakartotinis atranka.

vidutinis: vidutinis pakartotinis atranka, apskaičiuoja visų su NODATA nesusijusių taškų svertinį vidurkį.

rms visų ne NODATA prisidedančių pikselių kvadratinis / kvadratinis vidurkis (GDAL & gt = 3.3)

režimu: režimo pakartotinis atrinkimas, pasirenka vertę, kuri dažniausiai rodoma iš visų atrinktų taškų.

maks: maksimalus pakartotinis atrinkimas, parenka didžiausią vertę iš visų taškų, kurie neprisideda prie NODATA.

min: minimalus pakartotinis atrinkimas, pasirenka mažiausią vertę iš visų taškų, kurie neprisideda prie NODATA.

med: vidutinė pakartotinė atranka, parenka visų ne NODATA prisidedančių pikselių vidutinę vertę.

q1: pirmasis kvartilio pakartotinis atrinkimas, pasirenka visų ne NODATA prisidedančių pikselių pirmąją kvartilio vertę.

q3: trečiojo kvartilio pakartotinis atrinkimas, pasirenka visų ne NODATA prisidedančių pikselių trečiąją kvartilę.

suma: apskaičiuokite visų NODATA nepridedančių pikselių svertinę sumą (nuo GDAL 3.1)

The creation options available vary by format driver, and some simple formats have no creation options at all. A list of options supported for a format can be listed with the --formats command line option but the documentation for the format is the definitive source of information on driver creation options. See raster_drivers format specific documentation for legal creation options for each format.

Mosaicing into an existing output file is supported if the output file already exists. The spatial extent of the existing file will not be modified to accommodate new data, so you may have to remove it in that case, or use the -overwrite option.

Polygon cutlines may be used as a mask to restrict the area of the destination file that may be updated, including blending. If the OGR layer containing the cutline features has no explicit SRS, the cutline features must be in the SRS of the destination file. When writing to a not yet existing target dataset, its extent will be the one of the original raster unless -te or -crop_to_cutline are specified.

When doing vertical shift adjustments, the transformer option -to ERROR_ON_MISSING_VERT_SHIFT=YES can be used to error out as soon as a vertical shift value is missing (instead of 0 being used).

Starting with GDAL 3.1, it is possible to use as output format a driver that only supports the CreateCopy operation. This may internally imply creation of a temporary file.


GeoTIFF FAQ Version 2.3

The FAQ is intended to provide an introduction for persons new to GeoTIFF, as well as pointers to significant resources on the WWW for further information. Comments concerning this FAQ, and suggestions for improvement and addition to the FAQ may be emailed to [email protected]

For general WWW information and resources concerning GeoTIFF, please point your browser to GeoTIFF WWW Homepage.

  1. What is TIFF format?
  2. What is the purpose of GeoTIFF format for satellite data?
  3. What is GeoTIFF and how is this different from TIFF?
  4. Who owns GeoTIFF Format?
  5. Can IP, GIS, CAD, and Desktop Mapping systems all use GeoTIFF?
  6. What Data providers are delivering geographic images in GeoTIFF format today?
  7. Does GeoTIFF imagery conform to the TIFF specification?
  8. Can systems that don't use geography read a GeoTIFF image?
  9. Does the Geographic data look transparent to the user?
  10. Who is working on definition of GeoTIFF?
  11. What's a TIFF tag?
  12. What is the relationship between a TIFF tag and the actual image?
  13. Are the tags in separate files from the tiff files .
  14. Why is GeoTIFF based only on TIFF format?
  15. Is the tagset proprietary?
  16. Is the SPOT data still proprietary?
  17. What are the advantages of TIFF format for geographic data?
  18. Is GeoTIFF really platform interoperable?
  19. What will happen in my GIS if I load a GeoTIFF image?
  20. Doesn't anyone else have TIFF tags for geographic information?
  21. Is GeoTIFF based on the world reference files that ESRI uses?
  22. How do I convert between ESRI world files, and GeoTIFF?
  23. How do I preserve GeoTIFF info when editing my image?
  24. What are the requirements to make a TIFF image .
  25. Can I make customized geographic projections using GeoTIFF?
  26. Who are POSC and EPSG and why is GeoTIFF involved with them?
  27. What EPSG Version does GeoTIFF Use?
  28. Where can I get a copy of the GeoTIFF spec to review?
  29. What can I do to support GeoTIFF .
  30. How can I monitor the progress and changes to future GeoTIFF specs?
  31. Is the GeoTIFF community still active?

More information on TIFF can be found at Joris Van Damme's TIFF Page.

GeoTIFF is a metadata format, which provides geographic information to associate with the image data. But the TIFF file structure allows both the metadata and the image data to be encoded into the same file.

GeoTIFF makes use of a public tag structure which is platform interoperable between any and all GeoTIFF-savvy readers. Any GIS, CAD, Image Processing, Desktop Mapping and any other types of systems using geographic images can read any GeoTIFF files created on any system to the GeoTIFF specification.

There is no restriction on licensing, implementation, promulgation, or any uses of the format. The format is entirely open, and available to all. The specifications are public, there are abundant free software source libraries, toolkits, data samples, and technical support through the email forum.

Many systems today can read GeoTIFF files into correct geographic position in a variety of Geographic Information Systems (GIS), Image Processors (IP) and Computer Aided Design (CAD) softwares. You need to check with your system provider to find out if they have written the software module to read/write GeoTIFF imagery in the software version which you use.

  • SPOT Image Corp
  • Trifid (representing LandSat data)
  • Space Imaging
  • JAV geologijos tarnyba
  • New York Department of Transportation.

Atminkite, kad kai kurios sistemos, kurios nepalaiko dvigubo tikslumo žymos tipo TIFF 6.0 arba kurios neveikia naudojant TIFF failus su netikėtomis privačiomis žymomis, negali skaityti „GeoTIFF“ failų. It seems that ArcView 2 suffered from this problem.

This is a software implementation question. But most GeoTIFF-savvy systems look at the geographic information and use it without any requirement that the user know the content of the geographic tags. The GeoTIFF format provides enough information that the software can automatically place an image without requirement of any user intervention, such as typing in coordinates, digitizing points, or other labor intensive and technical actions. One aim of GeoTIFF is to reduce the need of users to be geographic experts in order to load a map-projected image or scanned map.

  • TIFF Basic Tags (like tags for number of rows, columns, etc). These are standard and mandatory in all TIFF files.
  • TIFF Extended Tags (like tags for certain color systems, rather more specialized). These are optional in all TIFF files.
  • "Private" TIFF tags (like the GeoTIFF tags). These include tags which are registered to specific users, in blocks of five tags. The users who register their tags, may put any information they like on those tags to support their software community. Then they can write software to use those tags in whatever way they please.

TIFF is the only format in the public domain which can support the wide variety of image types already used for geographic imagery. TIFF can support 8-bit black and white images, up to 16 and 32 bit elevation models, 24 bit color imagery, and any other type of image. TIFF also supports the most varieties of compression and tiling options, to increase the efficiency of image transfer and utilization. The other data formats possible are limited in these areas, or are still merely proposals, while TIFF has been implemented for a decade or so.

It is almost the only format which allows the flexibility to support tag structures, like the geographic metadata of GEOTIFF, without causing a conflict with non-geographic uses of the raster imagery. TIFF is already the most popular image format in the world, and most GIS platforms can already handle TIFF format today, using either the TIFF Basic tagset, extended tagset, or various private tagsets.

Some providers may make some images free, others may require licensing for sale. The GeoTIFF format does not change whatever license conditions are imposed by an image provider. Format has no relationship to the license conditions of ownership or sale.

Put another way, the GeoTIFF tags, specification, and format are public. But the imagery is not, unless specified as free by the provider.

The TIFF tag structure is designed to be simple and platform independent, so any GIS software developer can make use of the tags in just a few hours of program development. TIFF files which use the proposed GeoTIFF tagset can be transported from one display environment to another, provided both system softwares support the GeoTIFF spec. For the user, this means greater ease of use of images, less hassle importing and exporting raster formats, and less duplication of images in everyone's proprietary format in a single network of heterogeneous GIS displays.

ESRI has a history of using a private tag which Arc/Info uses to support image placement. This tag is basically a simple tag implementation of their WORLD file on a TIFF tag, internal to the TIFF format file. ESRI prefers to keep this tag private. GeoTIFF tags do everything ESRI's tag could do and a lot more.

Intergraph also has a tag set which they have used for several years to support their raster geographic softwares. This set is completely private since they reserve the right to change any of its structure at any time without review or notification outside of their user base. There are many many other TIFF private tagsets, as well as private "IFD's" (image file directories) which can exist transparently within the TIFF structure. But only GeoTIFF is known to the public domain and supports geographic parameters.

The GeoTIFF structure, by comparison, is rich in content and packs everything into a single file. The GeoTIFF tag stucture covers more diverse options for projection spaces, datums, ellipsoids, coordinate types, and related geographic features than the ESRI tag. And the GeoTIFF structure is intended to become entirely public domain, unlike tags withheld for private implementations.

The contents of the worldfile are six numbers (each on their own line): The georeferenced location of a pixel center can be computed as: So, a typical (north up) arrangement would be:

To convert a TIFF file (abc.tif) and a world file (abc.tfw) into a simple GeoTIFF file (geo_abc.tif) without a projection definition use the following command: If a geotifcp compatible metadata file defining the coordinates system is also available (such as produced by listgeo run on a comparible GeoTIFF file), it can be combined with the georeferencing information of the world file to produce a fully defined GeoTIFF file using a command like this: The listgeo executable can be used to produce a geo_abc..tfw file from a GeoTIFF file (geo_abc.tif) using a command like this:

If a given applications does not support the GeoTIFF tags it will generally discard them when reading a GeoTIFF image and they won't be present after a save. However, it is possible to save the GeoTIFF metadata and reapply it to the image later using commandline utilities distributed with libgeotiff.

Given a GeoTIFF file named original.tif, and a modified file (modified.tif) without the GeoTIFF tags, but still the same size and region:

The listgeo utility is saving a text version of the geotiff tags in the file original.geo, and then geotifcp is copying the modified image, and in the process reapplying the GeoTIFF tags to produce a modified GeoTIFF file. This process only works properly if the modified.tif is the same number of pixels and lines as the original file, and represents the same region on the earth.

The images should be pre-corrected to a standard map projection, such as UTM, StatePlane, an international grid coordinate system (such as "British NationalGrid", or "Nigeria East Belt" or similar). Geotiff-savvy TIFF readers can then use the geotie tags to place the image (say a satellite image) into the correct position in the GIS display. For SPOT's products (called our SPOTView product line) the images will be accurate within 12 meters horizontal anywhere in the USA (a looser spec prevails in most international SPOTViews). Images which are not georeferenced to a map projection can still be entered into a GeoTIFF format but with some compromises on precision/accuracy of placement.

The GeoTIFF WWW site is supported by Frank Warmerdam. It contains pointers to other GeoTIFF and TIFF resources, including software, sample data sets, email archives, compiled utilities, and more.

TELL your GIS software provider that you need to read raster imagery which is in GeoTIFF format. Log formal change requests with your software vendor, especially if they are not on the current list of GeoTIFF supporters. Most software companies develop on the basis of logged formal client change requests. If nobody puts in a change request, then the software doesn't get developed. You will be doing yourself, your GIS provider, and your fellow users a service by making this issue visible to the GIS providers.

You can also participate in a variety of standardization activities throughout the geographic information processing industry and government. GeoTIFF has been proposed to the Open GIS Consortium, for example, and other entities are evaluating whether GeoTIFF should be proposed to international or other standards groups. Let your opinion be known. "Wreak yourself upon the world" (Robert Bork).

Is the GeoTIFF community still active?

However, in the meantime most geographically aware software produced that could utilize TIFF imagery has added some level of support for GeoTIFF ingest, and/or production. Discussions on mailing lists and between software vendors has resulted in some refinements to interpretations of some GeoTIFF tags.

In a sense GeoTIFF has become a large success despite a light hand at the helm.

However, the quality of GeoTIFF implementations varies greatly, there are no means to do conformance testing on produced GeoTIFF files.

The GeoTIFF mailing list is still active, and is a good place to ask questions about GeoTIFF topics. As well, clarifications are developed there for details about the list of available projections, their parameters, units issues and so forth. The libgeotiff reference library is also periodically released with updates to the EPSG .csv tables, and bug fixes.


Žiūrėti video įrašą: Convert between CSV and GeoTIFF with GDAL in Python (Rugsėjis 2021).