簡體   English   中英

使用光柵讀取 PNG 文件時如何使用地理元數據指定輸入文件

[英]How to specify input files with the geographical metadata when reading PNG files with rasterio

我正在使用rasterio的光柵庫來讀取 PNG 文件,操作它們,最后編寫 GeoTiff 文件。 這些圖像是地理參考的,但帶有地理信息的元數據存儲在我用其他軟件獲得的兩個附加文件中: file.pgwfile.png.aux.xml (名稱在這里很重要,PNG 的名稱是file.png )。

好吧,問題是我發現讓rasterio “理解”帶有元數據的圖像的唯一方法是使用完全相同的文件名並將這三個文件放在同一個目錄中。 這是通過 GDAL 工作方式繼承的。 按照這個約定,對rasterio.open的調用會創建一個 object,它不僅包含圖像,還包含元數據,然后您可以使用它、重新投影等。

但是這種方法不方便,因為我有幾個共享相同坐標的 PNG 文件,因此每次讀取新的 PNG 文件時都必須克隆.pgw.png.aux.xml文件既麻煩又低效。 有沒有辦法與 rasterio 溝通元數據存儲在file.pgwfile.png.aux.xml以外的文件中? rasterio.read('file.png', pgwfile = 'meta_pgw.pgw', xmlfile = 'meta_xml.xml') 我在文檔中沒有找到類似的東西。

為了完整起見,我想出了一個解決方法,以防有人遇到同樣的問題。 不可能做我最初想要的,即為.pgw.png.aux.xml文件指定不同的名稱。 我最后做的是使用VRT 文件 我使用一個通用模板(我使用 GDAL 的gdalbuildvrt獲得),然后使用 Python 動態模板為每個光柵文件創建 VRT 文件,基本上更改了基礎光柵文件的名稱。 這些 VRT 文件是 XML,引用非常輕量級。 這種方法雖然還不夠完美,但比復制(或鏈接)虛擬文件要干凈,所以對於我的目的來說已經足夠了。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM