在使用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
,运行之,得到了正确的输出。
以上,坑基本踩得差不多了。祝踩坑愉快~