二维、三维地图的底图一般都是用图片切片(瓦片),将大的影像数据,或是矢量配色好的图层集合,通过工具,切成地图切片,以文件的形式存放,或者是存放到mbtiles数据库中;数据发布工具Arcgis Server或Geoserver也可将影像数据,实时的按照客户端地图范围,切成地图切片,返回到客户端进行显示。
切片数据可以直接按照目录发布,也可发布成tms、wmts服务,开源的二维地图引擎leaflet、openlayers等,或商用的高德、百度地图引擎,都能直接利用api进行加载显示。
开源切片工具
分享一款开源的地图切片类库,使用python语言进行调用,使用方法比较简单,地图的切片效率也比较高。
开源类库的网址是:https://github.com/tehamalab/gdal2tiles
开发的时候,需要先安装python的gdal类库,可通过conda或者pip进行安装,接着需要安装gdal2tiles的类库,通过pip install gdal2tiles进行安装。
调用的方式比较简单,其中需要配置一些参数,具体可参见网站上的说明。
切片配置说明:
python实际调用代码:
import gdal2tiles
#设置需要切图的级别,设置恢复模式,显示生成切片的输出
options = {'zoom': (11, 12), 'resume': True,'verbose':True}
gdal2tiles.generate_tiles('输入的影像文件',
'输出的切片文件夹', **options)
生成的切片是按照目录进行组织:
文件夹中,有3个网页文件,可直接在浏览器中,打开进行数据预览。