最近作一个三维项目,需求中有加载本地影像数据的功能,这就须要提供一个切片工具切本地影像数据。python
一番搜索后,git
方案一:利用现成的软件,如MapTiler(http://www.maptiler.com/),可是其免费版有限制,只能处理10k*10k大小的数据,显然不合适,pass;github
方案二:利用现成软件,GlobeMaper,但没法单独集成其切片模块,pass;segmentfault
方案三:直接利用GDAL库中的gdal2tiles(MapTiler底层也是用的这个,作了界面及其余优化),可自主集成在本身项目中。已经有了车轮,就不必本身再从头造,因而直接GitHub,各类语言版本都有。多线程
对其余语言不太熟,选中python版本(也是初学者),从第一个一路试下来,走了很多弯路,只有“Luqqk/gdal2tiles”能适用,缘由:工具
所作项目底图为雅虎数据,其采用的瓦片坐标为XYZ形式,坐标原点为左上角(Left-Up Corner),而gdal2tiles切出的为标准TMS瓦片,其坐标原点为左下角(Left-Down Corner),数据上球后显示混乱(瓦片地图原理见:https://segmentfault.com/a/1190000011276788);优化
不采用其余代码缘由:url
IzAndCuddles/gdal2tiles、CjS77/gdal2tiles、pramsey/gdal2tilesp(调试中总有错误提示,功力浅没法解决),切片为标准TMS瓦片,数据上球混乱,弃用;spa
commenthol/gdal2tiles-leaflet,有XYZ选项,可是只针对leaflet,必须将参数-p设置为raster,而雅虎数据为mercator,故弃用。线程
采用Luqqk/gdal2tiles,参数-x, --xyz,支持输出XYZ形式,而且支持多线程,问题解决。
好记性不如烂笔头,记录之。