Suite

Remplacer les valeurs de pixels NaN dans GeoTIFF à l'aide de GDAL ?

Remplacer les valeurs de pixels NaN dans GeoTIFF à l'aide de GDAL ?


Je me demandais s'il y avait un moyen facile (GDAL) de remplacer les pixels GeoTIFF qui sont-nanavec une valeur différente (par exemple 100) ?

j'ai essayé

gdal_calc.py -A my.tif --outfile=result.tif --calc="A-(A==-nan)*(-nan - 100))"

en suivant quelques exemples, mais cela ne fonctionne pas carNaNgâche les opérations arithmétiques et transforme tout ce qu'il touche en unNaN.

Des pointeurs vers des alternatives?

Idéalement une ligne de commande comme avecgdal_calc.py.


Vous pouvez utiliser le drapeau--NoDataValue=NODATAVALUEpour remplacer NoDataValue.

Voir le troisième exemple ici


C'est l'une des choses les plus ennuyeuses que j'ai trouvées en essayant de gérergdal_calc.py(ou l'interface graphique de la calculatrice raster). Partout où il y a un nodata dans l'une des entrées, la sortie est définie sur nodata. Supposons donc que vous ayez un masque qui a des valeurs à l'intérieur d'une région que vous souhaitez modifier, et aucune donnée à l'extérieur. Le résultat sera que les pixels à l'intérieur de la région sont correctement modifiés et que les pixels à l'extérieur sont tous définis sur nodata. Ce n'est pas bon si vous voulez modifier une partie d'une carte tout en laissant le reste seul.

Ce dont vous avez besoin, c'est d'un masque avec des valeurs à l'intérieur de la région et des zéros de données valides (ou une autre valeur de balise) à l'extérieur. Pas de problème, dites-vous, j'ai juste besoin de changer les nodatas dans le calque de masque à zéro. Ça devrait être un jeu d'enfant. J'ai une calculatrice raster. Il s'avère que ce n'est pas si facile.

Lorsque j'ai essayé de rechercher une réponse à cette question sur Google, le conseil le plus courant était : voici comment le faire avec GRASS ou Numpy, ou un autre plugin. Si j'essaie de faire quelque chose qui devrait me prendre moins de 5 minutes et que le conseil de quelqu'un est d'abord d'installer et d'apprendre à utiliser un outil complètement différent, j'arrête de lire immédiatement.

Vous pouvez le faire avec GDAL. Vous aurez besoin de deux scripts. réponse de doktoreas à propos de la--NoDataValuepossibilité degdal_calc.pyfait partie de la réponse. Cela modifie tous les pixels nodata pour qu'ils aient cette valeur et définit les métadonnées de sorte que cette valeur soit la valeur nodata. Si vous ne faites que cela, la calculatrice raster les traitera toujours comme aucune donnée et ne produira aucune donnée dans le résultat. Ensuite, vous devez utiliser le-a_nodatapossibilité degdal_translate. Cela modifie les métadonnées de la valeur traitée comme nodata sans modifier les valeurs des pixels qui ont l'ancienne valeur nodata. Cela laisse vos pixels avec une valeur numérique qui n'est pas traitée comme nodata.

gdal_calc.py -A input.tif --outfile=intermediate.tif --calc="A" --NoDataValue=0 gdal_translate intermédiaire.tif result.tif -a_nodata -1

Utiliser NumPy nan_to_numfonction pour substituer les valeurs NaN à 0 (la valeur par défaut) :

$ gdal_calc.py -A nan.tif --outfile=result.tif --calc="nan_to_num(A)"

Si vous avez NumPy version 1.17 ou ultérieure, vous pouvez spécifier une valeur différente, par ex. -9999 :

$ gdal_calc.py -A nan.tif --outfile=result2.tif --calc="nan_to_num(A, nan=-9999)" --NoDataValue=-9999

Cela peut être totalement fastidieux, mais si vous convertissez en Esri ASC (GDAL_Translate -of AAIGRID) qui est un format basé sur du texte, puis ouvrez dans un très bon éditeur de texte comme Notepad++ ou VI/VIm, ou écrivez un script python, vous pouvez remplacer bad valeurs à l'aide de rechercher et remplacer.

Ensuite, enregistrez et fermez le fichier et traduisez-le en GeoTiff


Remplacer les valeurs de pixels NaN dans GeoTIFF à l'aide de GDAL ? - Systèmes d'information géographique

1.1. Pengertian Sistem Informasi Geografis

Sistem Informasi Geografis (Système d'information géographique/SIG) yang selanjutnya akan disebut SIG merupakan sistem informasi berbasis komputer yang digunakan untuk mengolah dan menyimpan data atau informasi geografis (Aronoff, 1989).

Secara umum pengertian SIG sebagai berikut :

“Suatu komponen yang terdiri dari perangkat keras, perangkat lunak, data geografis dan sumberdaya manusia yang bekerja bersama secara efektif untuk memasukan, menyimpan, memperbaiki, memperbaharui, memperbaharui, mengelolaintegra, me data, menganampasi, menganamtu 8221

Pada dasarnya SIG dapat dikerjakan secara manuel. Namun dalam pembahasan selanjutnya SIG akan selalu diasosiasikan dengan sistem yang berbasis komputer. SIG yang berbasis komputer akan sangat membantu ketika data geografis yang tersedia merupakan data dalam jumlah dan ukuran besar, dan terdiri dari banyak tema yang saling berkaitan.

SIG mempunyai kemampuan untuk menghubungkan berbagai data pada suatu titik tertentu di bumi, menggabungkannya, menganalisa dan akhirnya memetakan hasilnya. Données yang akan diolah pada SIG merupakan données spasial. Ini adalah sebuah data yang berorientasi geografis dan merupakan lokasi yang memiliki sistem koordinat tertentu, sebagai dasar referensinya. Sehingga aplikasi SIG dapat menjawab beberapa pertanyaan, seperti lokasi, kondisi, tendance, pola dan pemodelan. Kemampuan inilah yang membedakan SIG dari sistem informasi lainnya.
Telah dijelaskan di awal bahwa SIG adalah suatu kesatuan sistem yang terdiri dari berbagai komponen. Tidak hanya perangkat keras komputer beserta dengan perangkat lunaknya, tapi harus tersedia data geografis yang akurat dan sumberdaya manusia untuk melaksanakan perannya dalam memformulasikan dan menganalisa persoalan SIG yangha menentukan keber.

  1. lokasi (spasial), berkaitan dengan suatu koordinat baik koordinat geografi (lintang dan bujur) dan koordinat XYZ, termasuk diantaranya informasi datum dan proyeksi.
  2. deskriptif (atribut) atau informasi nonspasial, suatu lokasi yang memiliki beberapa keterangan yang berkaitan dengannya. Contoh jenis vegetasi, populasi, luasan, kode pos, dan sebagainya.

1.2.1.1. Vecteur de données
Data vektor merupakan bentuk bumi yang direpresentasikan ke dalam kumpulan garis, zone (daerah yang dibatasi oleh garis yang berawal dan berakhir pada titik yang sama), titik dan nodes (titik perpotongan antara dua buah garis).

Keuntungan utama dari format de données vektor adalah ketepatan dalam merepresentasikan fitur titik, batasan dan garis lurus. Hal ini sangat berguna untuk analisa yang membutuhkan ketepatan posisi, misalnya pada données de base batas-batas kadaster. Contoh penggunaan lainnya adalah untuk mendefinisikan hubungan spasial dari beberapa fonctionnalité. Namun kelemahan données vektor yang utama adalah ketidakmampuannya dalam mengakomodasi perubahan progressive.

1.2.1.2. Raster de données
Données raster (disebut juga dengan sel grille) adalah données yang dihasilkan dari sistem penginderaan jauh. Raster de données Pada, obyek geografis direpresentasikan sebagai struktur sel grille yang disebut dengan pixel (élément d'image).

Raster de données Pada, resolusi (définition visuelle) tergantung pada ukuran pixel-nya. Dengan kata lain, résolu pixel menggambarkan ukuran sebenarnya di permukaan bumi yang diwakili oleh setiap pixel pada citra. Semakin kecil ukuran permukaan bumi yang direpresentasikan oleh satu sel, semakin tinggi resolusinya. Données raster sangat baik untuk merepresentasikan batas-batas yang berubah secara progressive, seperti jenis tanah, kelembaban tanah, vegetasi, suhu tanah dan sebagainya. Fichier de données raster adalah besarnya ukuran de Keterbatasan utama dari. Semakin tinggi resolusi grid-nya, semakin besar ukuran filenya, dan ini sangat bergantung pada kapasitas perangkat keras yang tersedia.

Données de format de masing-masing mempunyai kelebihan dan kekurangan. Données au format Pemilihan yang digunakan sangat tergantung pada tujuan penggunaan, données yang tersedia, données de volume yang dihasilkan, ketelitian yang diinginkan, serta kemudahan dalam analisa. Data vektor relatif lebih ekonomis dalam hal ukuran file dan presisi dalam lokasi, tetapi sangat sulit untuk digunakan dalam komputasi matematis. Données Sedangkan raster biasanya membutuhkan ruang penyimpanan fichier yang lebih besar dan presisi lokasinya lebih rendah, tetapi lebih mudah digunakan secara matematis.

1.2.2. Sumber Data Spasial
Salah satu syarat SIG adalah data spasial. Ini dapat diperoleh dari beberapa sumber antara lain:

1.2.2.1. Peta Analogique
Peta analogue yaitu peta dalam bentuk cetak. Seperti peta topografi, peta tanah dan sebagainya. Umumnya peta dibuat dengan teknik kartografi, dan kemungkinan besar memiliki referensi spasial seperti koordinat, skala, arah mata angin, dan sebagainya.
Dalam tahapan SIG sebagai keperluan sumber data, peta analog dikonversi menjadi peta digital. Caranya dengan mengubah format raster menjadi format vektor melalui proses digitasi sehingga dapat menunjukan koordinat sebenarnya di permukaan bumi.


1.2.2.2. Système de données Penginderaan Jauh
Données penginderaan jauh, seperti hasil citra satelit, foto-udara dan sebagainya, merupakan sumber data yang terpenting bagi SIG. Karena ketersediaan data secara berkala dan mencakup zone tertentu. Dengan adanya bermacam-macam satelit di ruang angkasa dengan spesifikasi masing-masing, kita bisa memperoleh berbagai jenis citra satelit untuk beragam tujuan pemakaian. Données ini biasanya direpresentasikan raster au format dalam.

1.2.2.3. Données Hasil Pengukuran Lapangan
Données pengukuran lapangan merupakan données yang dihasilkan berdasarkan teknik perhitungan tersendiri. Pada umumnya data ini merupakan sumber data atribut, contohnya batas administrasi, batas kepemilikan lahan, batas persil, batas hak pengusahaan hutan, dan lain-lain.

1.2.2.4. Données GPS (Global Positioning System)
Teknologi GPS memberikan terobosan penting dalam menyediakan data bagi SIG. Keakuratan pengukuran GPS semakin tinggi dengan berkembangnya teknologi. Données ini biasanya direpresentasikan dalam format vektor. Pembahasan mengenai GPS diterangkan dalam subbab terpisah.

1.3. Peta, Proyeksi Peta, Sistem Koordinat, Survei dan GPS
Données spasial yang dibutuhkan pada SIG dapat diperoleh dengan berbagai cara. Salah satunya melalui survei dan pemetaan, yaitu penentuan posisi/koordinat di lapangan. Berikut ini akan dijelaskan secara ringkas beberapa hal yang berkaitan dengan posisi/koordinat serta metode-metode untuk mendapatkan informasi posisi tersebut di lapangan.

1.3.1. Peta
Peta adalah gambaran sebagian atau seluruh muka bumi baik yang terletak di atas maupun di bawah permukaan dan disajikan pada bidang datar pada skala dan proyeksi tertentu (secara matematis). Karena dibatasi oleh skala dan proyeksi maka peta tidak akan pernah selengkap dan sedetail aslinya (bumi). Untuk itu diperlukan penyederhanaan dan pemilihan unsur yang akan ditampilkan pada peta.

1.3.2. Proyeksi Peta
Pada dasarnya bentuk bumi tidak datar, tapi mendekati bulat. Maka untuk menggambarkan sebagian muka bumi untuk kepentingan pembuatan peta, perlu dilakukan langkah-langkah agar bentuk yang mendekati bulat tersebut dapat didatarkan dan distorsinya dapat terkontrol. Caranya dengan melakukan proyeksi ke bidang datar.

  1. Luas permukaan yang tetap (ekuivalen)
  2. Bentuk yang tetap (konform)
  3. Jarak yang tetap (ekuidistan) Perbandingan dari daerah yang sama untuk proyeksi yang berbeda :

1.3.2.2. Proyeksi Universal Transverse Mercator (UTM)
Proyeksi UTM dibuat oleh US Army sekitar tahun 1940-an. Sejak saat itu proyeksi ini menjadi standar untuk pemetaan topografi

  1. Proyeksi ini adalah proyeksi Transverse Mercator yang memotong bola bumi pada dua buah méridien, yang disebut dengan méridien standar. Meridian pada pusat zone disebut sebagai méridien tengah.
  2. Daerah di antara dua meridian ini zone de lancement. Zone Lebar adalah 6 sehingga bola bumi dibagi menjadi 60 zone.
  3. Perbesaran pada méridien tengah adalah 0,9996.
  4. Perbesaran pada méridien standar adalah 1.
  5. Perbesaran pada méridien tepi adalah 1001.
  6. Compteur Satuan ukuran yang digunakan adalah.

Untuk menghindari koordinat negatif, dalam proyeksi UTM setiap méridien tengah dalam tiap zone diberi harga 500.000 mT (mètre timur). Untuk harga-harga ke arah utara, ekuator dipakai sebagai garis datum dan diberi harga 0 mU (mètre utara). Untuk perhitungan ke arah selatan ekuator diberi harga 10.000.000 mU.

Wilayah Indonésie (90° – 144° BT dan 11° LS – 6° LU) terbagi dalam 9 zone UTM. Artinya, wilayah Indonésie dimulai dari zone 46 sampai zone 54 (meridian sentral 93 & 176 & 8211 141 & 176 BT).

  1. Métode poligone.
  2. Metode pengikatan ke muka.
  3. Metode pengikatan ke belakang.
  4. Dan lain-lain.
  1. Astronomi geodesi.
  2. Dopler de transit.
  3. Système de positionnement global (GPS).
  4. Dan lain-lain.

1.3.3.1. Lokasi Titik Nol dari Sistem Koordinat
Posisi suatu titik di permukaan bumi umumnya ditetapkan dalam/terhadap suatu sistem koordinat terestris. Titik nol dari sistem koordinat terestris ini dapat berlokasi di titik pusat massa bumi (sistem koordinat geosentrik), maupun di salah satu titik di permukaan bumi (sistem koordinat toposentrik).

1.3.3.2. Orientasi dari Sumbu-sumbu Koordinat
Posisi tiga-dimensi (3D) suatu titik di permukaan bumi umumnya dinyatakan dalam suatu sistem koordinat geosentrik. Tergantung dari paramètre-paramètre pendefinisi koordinat yang digunakan. Ada dua sistem koordinat yang umum digunakan, yaitu sistem koordinat Kartésian (X,Y,Z) dan sistem koordinat Geodetik (L,B,h), yang keduanya diilustrasikan pada gambar berikut.

Koordinat 3D suatu titik juga bisa dinyatakan dalam suatu sistem koordinat toposentrik. Umumnya dalam bentuk sistem koordinat Kartésian (N,E,U) yang diilustrasikan pada gambar berikut.

Paramètre-paramètre (kartésien, curviligne) itu digunakan untuk mendefinisikan posisi suatu titik dalam sistem koordinat tersebut. Posisi titik juga dapat dinyatakan dalam 2D, baik dalam (L,B), ataupun dalam suatu sistem proyeksi tertentu (x,y) seperti Polyeder, Transverse Mercator (TM) et Universal Transverse Mercator (UTM).

1.3.4. Méthode Penentuan Posisi Global (GPS)
GPS adalah sistem navigasi dan penentuan posisi menggunakan satelit yang dikembangkan dan dikelola oleh Departemen Pertahanan Amerika Serikat. GPS dapat memberikan informasi tentang posisi, kecepatan dan waktu di mana saja di muka bumi setiap saat, dengan ketelitian penentuan posisi dalam fraksi milimeter hingga meter. Kemampuan jangkauannya mencakup seluruh dunia dan dapat digunakan banyak orang setiap saat pada waktu yang sama (Abidin, H.Z, 1995). Prinsip dasar penentuan posisi dengan GPS adalah perpotongan ke belakang dengan pengukuran jarak secara simultan ke beberapa satellite GPS seperti gambar berikut:

1.3.4.1. Système GPS
Untuk dapat melaksanakan prinsip penentuan posisi di atas, GPS dikelola dalam suatu sistem yang terdiri dari 3 bagian utama, yaitu bagian angkasa, bagian pengontrol dan bagian pemakai, seperti gambar berikut:

1.3.4.1.1. Bagian Angkasa
Terdiri dari satellite-satellite GPS yang mengorbit mengelilingi bumi. Jumlah satelit GPS adalah 24 buah. Satellite GPS mengorbit mengelilingi bumi dalam 6 bidang orbite dengan tinggi rata-rata setiap satelit ± 20.200 Km dari permukaan bumi.

Setiap satellite GPS secara kontinu memancarkan sinyal-sinyal gelombang pada 2 frekuensi L-band (dinamakan L1 dan L2). Dengan mengamati sinyal-sinyal dari satelit dalam jumlah dan waktu yang cukup, kemudian data yang diterima tersebut dapat dihitung untuk mendapatkan informasi posisi, kecepatan maupun waktu.

1.3.4.1.2. Bagian Pengontrol
Adalah stasiun-stasiun pemonitor dan pengontrol satelit yang berfungsi untuk memonitor dan mengontrol kelayakan satelit-satelit GPS. Stasiun kontrol ini tersebar di seluruh dunia, seperti di Pulau Ascension, Diego Garcia, Kwajalein, Hawai, dan Colorado Springs. Di samping memonitor dan mengontrol fungsi seluruh satelit, ia juga berfungsi menentukan orbite dari seluruh satelit GPS.

  1. Posisi ditentukan dalam sistem WGS 84 (terhadap pusat bumi).
  2. Prinsip penentuan posisi adalah perpotongan ke belakang dengan jarak ke beberapa satelit sekaligus.
  3. Récepteur GPS Hanya memerlukan satu.
  4. Titik yang ditentukan posisinya, bisa diam (statik) atau bergerak (kinematik).
  5. Ketelitian posisi berkisar antara 5 sampai dengan 10 mètres.

1.3.4.2.2. Méthode Relatif (Différentiel)
Yang dimaksud dengan penentuan posisi relatif atau metode differensial adalah menentukan posisi suatu titik relatif terhadap titik lain yang telah diketahui koordinatnya. Pengukuran dilakukan secara bersamaan pada dua titik dalam selang waktu tertentu. Selanjutnya, data hasil pengamatan diproses dan dihitung sehingga akan didapat perbedaan koordinat kartesian 3 dimensi (dx, dy, dz) atau disebut juga dengan baseline antar titik yang diukur.


3.1 Komponen Untuk Akses Data Spasial

  • Shapelib
    Shapefile merupakan library yang ditulis dalam bahasa C, untuk keperluan baca/tulis format data Shapefile (*.SHP) yang didefinisikan ESRI (Enviromental System Research Institute). Format Shapefile umum digunakan oleh berbagai aplikasi Sistem Informasi Geografik untuk menyimpan data vector simple (tanpa topologi) dengan atribut. Pada MapSever, format de données Shapefile merupakan format de données par défaut.
  • GDAL/OGR
    GDAL (Geographic Data Abstraction LibraryI) bibliothèque merupakan yang berfungsi sebagai penerjemah untuk berbagai format de données raster. Library ini memungkinkan abstraksi untuk semua format data yang didukung, sehingga beragam format data tadi akan terlihat sebagai sebuah data model abstrak. Modèle de données Keberadaan abstrak tunggal akan memudahkan pengembang aplikasi karena dapat menggunkan antarmuka yang seragam untuk semua format data. Kode OGR sekarang ini digabung dalam kode bibliothèque GDAL.

2. Serveur de cartes Pengenalan

MapServer merupakan aplikasi freeware dan open source yang memungkinkan kita menampilkan data spasial (peta) di web. Aplikasi ini pertama kali dikembangkan di Universitas Minesotta, Amerika Serikat untuk proyek ForNet (sebuah proyek untuk menajemen sumber daya alam) yang disponsori NASA (Nasional Aeronautics and Space Administration). Dukungan NASA dilanjutkan dengan dikembangkan proyek TerraSIP untuk menajemen data lahan. Saat ini, karena sifatnya yang terbuka (open source), pengembangan MapServer dilakukan oleh pengembang dari berbagai negara

Pengembangan MapServer menggunakan berbagai aplikasi open source atau freeware seperti Shapelib untuk baca/tulis format data Shapefile, FreeType untuk merender karakter, GDAL/OGR untuk baca/tulis berbagai format data vektor maupun raster, dan Proj.4 beragamsi untuk menangai

Pada bentuk paling dasar, , MapServer berupa sebuah programme CGI (Common Gateway Interface). Programme tersebut akan dieksekusi di web server dan berdasarkan beberapa paramètre tertentu (terutama konfigurasi dalam bentuk file *.MAP) akan menghasilkan data yang kemudian akan dikirim ke navigateur web, baik dalam bentuk gambar peta atau bentuk lain.

MapServer mempunyai fitur-fitur berikut :

  • Menampilkan data spasial dalam format vektor seperti : Shapefile (ESRI), ArcSDE (ESRI), PostGIS dan berbagai format data vektor lain dengan menggunakan library OGR
  • Données menampilkan spasial dalam format raster seperti TIFF/GeoTIFF, EPPL7 dan berbagai format données raster lain dengan menggunakan bibliothèque GDAL
  • Menggunakan quadtree dalam indexation des données spasial, sehingga operasi-operasi spasial dapat dilakukan dengan cepat.
  • Dapat dikembangkan (personnalisable), dengan tampilan keluaran yang dapat diatur menggunakan fichier-modèle de fichier
  • Dapat melakukan seleksi objek berdasar nilai, berdasar titik, région, atau berdasar sebuah objek spasial tertentu
  • Mendukung rendu karakter berupa police TrueType
  • Mendukung penggunaan data raster maupun vektor yang di-tiled (dibagi-bagi menjadi sous bagian yang lebih kecil sehingga proses untuk mengambil dan menampilkan gambar dapat dipercepat)
  • Dapat menggambarkan elemen peta secara otomatis , skala grafis, peta indeks dan legenda peta
  • Dapat menggambarkan peta tematik yang dibangun menggunakan ekspresi logik maupun ekspresi reguler
  • Dapat menampilkan label dari objek spasial, dengan label dapat diatur sedemikian rupa sehingga tidak saling tumpang tindih
  • Konfigurasi dapat diatur secara à la volée paramètre melalui yang ditentukan pada URL
  • Dapat menangani beragam système proyeksi secara à la volée

Saat ini, selain dapat mengakses MapServer sebagai program CGI, kita dapat mengakses MspServer sebagai modul MapScript, melalui berbagai bahasa skrip : PHP, Perl, Phyton atau Java. Akses fungsi-fungsi MapServer melalui skrip akan ebih memudahkan pengembangan aplikasi. Pengembang dapat memilih bahasa yang pâle familier.


Voir la vidéo: failed to save a raster dataset