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