現時点では、tif ラスター データの処理のほとんどは gdal を使用する必要がありますが、geotiff.js はある程度まで gdal を置き換えることができます。この記事では主に geotiff.js の起動方法について説明します。
まず、geotiffにはJSDoc: Home の入門サンプルが用意されているのですが、ノード環境が合っていないのか何か問題があるのか、使ってみると失敗することが多いです。
最初のステップは、ルート ディレクトリに cd して npm install geotiff を使用することです (まず、node.js 環境があることを確認してください) その後、公式 Web サイトのサンプルを直接使用すると、エラーが報告される可能性があります。
2 番目のステップでは、以下のコードに従ってインポート方法を変更すると、通常どおり geotiff.js を使用できるようになります。
ただし、これを使用して大きな tif ファイルを読み取ると、エラーが報告されます。ただし、ファイルが大きすぎるため、tif ファイルを受信できず、解析できない可能性があります。知っている方いらっしゃいましたら使い方を教えて下さい。(このファイルは gdal で正常に読み込むことができますが、時間がかかるのは許容範囲外です。テストしたところ約 26 秒でした)
最終的に正常に導入した後に行ったテストのコードを添付します。
<script src="../geotiff_learn/node_modules/geotiff/dist-browser/geotiff.js"></script>
<script>
const { fromUrl, fromUrls, fromArrayBuffer, fromBlob } = GeoTIFF;
(async function () {
const tiff = await fromUrl('http://127.0.0.1:8000/media/export_tif/23.tif');
console.log(tiff)
const data = await tiff.readRasters();
console.log(data)
})()
</script>
fromurl の後ろのアドレスは、tif ファイルを django のメディア ディレクトリに保存した後に使用されます。ちなみに、django のクロスドメインの問題処理を練習します。
ただし、公式 Web サイトによると、この URL は相対パスを使用して直接参照する必要があるため、自分で試してみることができます。