GIS技术:底图切片相关知识
  f3bWzBI6oP0A 2023年11月02日 38 0

1. 地图底图切片制作 如果在项目中,有地图数据,需要自己进行底图制作,这里就涉及到底图切片制作;

常用底图切片制作工具

1.arcmap是一款常用的地图数据处理工具,商业版软件,不过网上有很多和谐版可以下载;使用arcmap,能够将影像(raster)或矢量(vector)数据,制作成地图切片缓存,一般是配合arcgis server进行切片数据发布;
2.MapTiler是一款专业的地图切片工具,能够将影像(raster)或矢量(vector)数据,不过高级的功能也是收费的; 3.QGIS是一款开源的地图数据处理工具,功能比较完备,其toolbox内置的gdal2tiles,能够将影像(raster)或矢量(vector)数据,转换成切片数据; 4.其他类型的工具,网上也能搜到;假如会代码开发,基于gdal类库就能进行工具开发。
切片制作简单步骤

1.影像(raster)

  • 坐标系转换
    目标切片是什么坐标系,最好将数据转成对应的坐标系;
  • 区域范围裁切(可选)
    需要根据行政区划显示数据,用矢量对影像进行裁切;
  • 切片数据制作
    处理好的影像数据,进行切片操作。

2.矢量数据(vector)

  • 坐标系转换
    同影像
  • 配图配色
    矢量的点、线、面数据,设置显示类型,线和面颜色等;
  • 分级控制
    根据不同的级别,显示不同的矢量元素数据;
  • 转换成影像类型数据(可选)
  • 切片数据制作
    配置好的矢量数据(或转换的影像数据),进去切片操作。
    2. 底图切片的换算
    现在网上有各种类型的地图下载器,通过设置地图范围,能够将一块区域中指定级别的底图切片下载下来,导出成切片文件夹,或者拼成一张影像图,这种下载涉及到底图切片的换算,下边借助gdal2tile的python代码,讲一下大概的换算原理。

Web墨卡托(EPSG:3857)

坐标系范围(单位:米):[-20037508.342789244, -20037508.342789244, 20037508.342789244, 20037508.342789244]
切片尺寸是256*256,中心点为(xyz)(ox,oy):[-20037508.342789244, 20037508.342789244]的情况, 地图初始分辨率(第0级)是:initialResolution = 20037508.342789244 * 2 / 256 = 156543.03392804062
第n级的分辨率是:resolution = initialResolution/(2的n次方)
有经纬度坐标(x,y),转换成墨卡托坐标(mx,my),
对应的(xyz)像素坐标: px=(mx-ox)/resolution; py=(my-oy)/resolution; 再根据每张切片的尺寸,就能计算出切片的索引数,这样就能进行下载了,在js的开发中,推荐使用global-mercator类库。

wgs84/cgcs2000(EPSG:4326)

分成两种情况: 第0级两张切片:initialResolution = 180 / 256 = 0.703125
第0级两张切片:initialResolution = 180 / 256 = 1.40625
切片尺寸是256*256,中心点为(xyz)(ox,oy):[-180, 90]的情况,
第n级的分辨率是:resolution = initialResolution/(2的n次方)
有经纬度坐标(x,y,
对应的(xyz)像素坐标: px=(x-ox)/resolution; py=(y-oy)/resolution; 再根据每张切片的尺寸,就能计算出切片的索引数,这样就能进行下载了。
参考地址: https://github.com/wclwksn/gdal2tiles/blob/master/gdal2tiles/gdal2tiles.py
3. 地图切片存储和发布

切片存储

切片数据默认是一张张等尺寸的图片,jpg、png等格式,需要底图边缘透明效果,就要用png格式;
切片最简单的存储是直接放在文件夹里,按照缩放\列数\行数的形式组织,但是在切片数量多时,数据要进行拷贝或者移动时,耗时就较长了; 另一种方式将切片数据放在sqlite数据库里,称为mbtiles文件,将图片转换成二进制存放在数据表中,根据索引获取对应的图片文件,对外显示是一个大的文件,在拷贝时,速度会快很多; 相同的原理,切片数据能够写入到其他类型的关系数据库,如mysql、postgresql等,也能写入到NoSQL数据库中,进行存储。

切片发布

切片数据发布以后,才能够进行访问使用。

1.文件夹类型切片

使用web服务器发布就行,对应软件nginx、apache、IIS都可以,将切片的文件夹发布了就能够进行访问;

2.mbtiles文件

需要支持mbtiles的软件进行发布,简单的mbtiles server,在github上就能够找到,geoserver通过安装插件,也能够对mbtiles进行发布;
分享两个开源mbtiles发布软件地址: https://github.com/wclwksn/mbtiles-server
https://github.com/wclwksn/mbtiles-image-server

3.专业的发布软件

Arcgis Server、超图iServer或者开源的Geoserver,能够将输入的影像或者矢量数据,直接发布成可访问的切片形式,从而不用预先对数据进行处理。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  gBkHYLY8jvYd   2023年12月09日   30   0   0 cii++数据
f3bWzBI6oP0A