在使用kibbana創建自定義地圖的熱力圖(參考這裏)的時候,第一步是需要將你的圖片用gdal工具進行處理:
Step 1) Create a GeoTIFF version of the Arena image
gdal_translate -of GTiff -a_srs EPSG:4326 -a_ullr -105 45 105 -45 nhl_rink.gif nhl_rink_gtiff.tiff
gdal_warp -t_srs EPSG:4326 nhl_rink_gtiff.tiff nhl_rink.tiff
本文要分享的就是這個步驟中會遇到的一些問題。
首先,從上面的官方文檔中,我們首先需要運行兩條命令。於是我google了一下gdal_translate
, 以及如何在windows上直接使用GDAL,找到了這麼一個網頁, 上面提供了不同平臺下gdal的安裝包。我下載了一個msvc的x64版本,然後解壓,將相關的路徑添加到系統環境變量,如下圖:
第一個坑
此時,我可以在cmd中運行本文一開始寫的兩條命令了,但是不出意外報錯了,關鍵詞大概就是cannot find proj.db
。
於是我從這裏發現:
I set the PROJ_LIB environment variable to point to the PROJ.4 data directory (where proj.db lives)
還需要再在環境變量的用戶變量中,添加一個PROJ_LIB
變量,值爲proj.db所在的路徑。於是我通過everything
(這是一個速度完爆windows自帶搜索的全盤搜索軟件,非常推薦),找到了proj.db的路徑,並添加到了用戶變量中:
第二個坑
於是,我繼續運行本文一開始的命令。cmd返回一個類似can not open xxxx/x/xx/proj.db
的錯誤,根據我的經驗,是因爲路徑中有漢字的原因,於是我把路徑中的漢字修改爲英文,這個錯誤解決掉了。第一條命令執行成功,我開始執行第二條命令的時候又遇到一個坑。
第三個坑
我把本文一開始的命令:
gdal_warp -t_srs EPSG:4326 nhl_rink_gtiff.tiff nhl_rink.tiff
也就是kibbana官網上的命令粘到cmd中準備執行的時候,cmd又返回一個錯誤, 關鍵詞cannot find comman gdal_warp
。
這個簡直是一個坑,原因是gdal本來就麼有這條命令,因爲我通過搜索發現:
是gdalwarp
, 而不是gdal_warp
, 放開那個下劃線!!!
正確的命令應該是gdalwarp -t_srs EPSG:4326 nhl_rink_gtiff.tiff nhl_rink.tiff
,運行之,得到了正確的輸出。
以上,坑基本踩得差不多了。祝踩坑愉快~