1第34卷 第12期2020年12月
北京测绘
BeijingSurveyingandMapping
Vol.34 No.12
October2020
引文格式:颜怀成,胡平昌,熊鹏波.基于FTP服务的ArcGISServer地图瓦片联动更新的实现[J].北京测绘,2020,34(12):1731 1735.
犇犗犐:10.19580/j
.cnki.1007 3000.2020.12.014[收稿日期] 2
020 04 20[基金项目] 江苏省测绘地理信息科研项目(
JSCHKY201804)[作者简介] 颜怀成(1992—),男,江苏淮安人,硕士,助理工程师,从事地理信息系统应用与开发工作。犈 犿犪犻犾:1731768556@qq
.com基于犉犜犘服务的犃狉犮犌犐犛犛犲狉狏犲狉地图瓦片
联动更新的实现
颜怀成1,2 胡平昌1,2 熊鹏波
1,2
(1.江苏省测绘工程院,江苏南京210013;2.自然资源部国土卫星遥感应用重点实验室,江苏南京210013
)[摘 要] 基于FTP(FileTransferProtocol)服务开发了省域遥感影像即时服务管理平台,根据更新区域的矢量数据拓扑分析得到需要更新的子节点服务器信息。通过FTP服务实现瓦片数据的在线传输并结合瓦片融合技术完成地图瓦片的更新,实现了不同服务器间ArcGISServer地图服务的联动更新。
[关键词] FTP服务;Arg
GISServer;地图瓦片;瓦片融合;联动更新[中图分类号] P208 [文献标识码] A [文章编号] 1
007 3000(2020)12 1731 050 引言
遥感影像资料具有可重复利用性,可以通过统一采购、集中处理、联动更新来实现影像数据
的共享,解决影像资料重复购置、信息孤岛及资料安全隐患等问题,这对于提高影像服务现势性、促进资金集约高效利用,深化服务共建共享
具有现实意义[1
]。Arcg
isSever瓦片缓存技术是按照一定的数学法则将影像地图切成一定规格的小图片保存到服务器,当用户通过客户端浏览器访问地图服务时,服务器直接返回当前地图坐标范围所对应的图片后在客户端拼接成地图,这样可以极大地提升地图浏览的速度,是平台对外
展示的重要载体形式[
2 3
]。不同服务器的瓦片文件都独立保存在本地机器上,导致目前ArcGISServer地图服务
的更新局限于本地更新,无法实现将主服务器的瓦片更新数据在线传输给子服务器以实现节点间地图瓦片的联动更新,导致影像数据共享性和现势性不足,如何实现瓦片数据在服务器间的联动更新是一个亟须解决的问题。
目前,国内有很多针对Arcg
isServer瓦片地图更新的研究与成果,解决了实际生产中的一些问题。郭明武等根据要素更新区域获取坐标范围,根据坐标范围计算行列号并重新生成瓦片,
最后替换原有瓦片实现了瓦片的实时在线更
新[4
];祝云等实现了瓦片更新范围的自动匹配,提高了切图效率[5]
;李福洪等以数字城市电子地
图瓦片更新为例,实现了局部数据的更新、历史
瓦片的管理等自动化操作[6];万宝林等从矢量数据的更新到瓦片的同步更新进行了体系研究[7];
马卫春等利用Py
thon语言工具实现了ArcGISServer地图瓦片定时自动更新[8]
;
穆星等通过对瓦片像素的读取、修改和保存实现了瓦片的局部实时更新,减少瓦片的输出量,提高了瓦片的更
新效率[9
]。以上的研究和实践都局限于在本地
完成瓦片的更新,如何实现瓦片数据在线传输与联动更新是本文的研究重点。
1 技术路线
1.1 实现目标
按照全省对影像统筹服务部署要求,基于现有影像数据及技术资源,建立省市县共建共享的统筹服务中心,实现全省遥感影像统一获取、统
1北京测绘
第34卷 第12期
一处理、统一分发,为政府机构、企事业单位、社会众提供全方位、多层次、多渠道的遥感影像服务。
目前,全省预计开通13个市、3个县站点、4个科研站点、
多个行业和企业站点,各站点设置相应的数据范围、数据类型、分辨率、时相等信息,当统筹服务中心(主节点)有最新的符合要求的影像地图服务时,即时向各站点进行分发并将新的瓦片数据与各站点原始瓦片融合处理,实现主节点与子节点间的瓦片联动更新,如图1所示
。
图1 瓦片联动更新示意图
1.2 技术路线
平台基于B/S架构搭建,并结合HTML、CSS、jQuery、C#及FTP(FileTransferProto col
)服务等技术进行开发,以卫片、航片、无人机等多源遥感影像数据为基础实现遥感数据统筹管理,即时高效地存储、更新和发布遥感影像数据,实现各站点根据许可范围定期进行瓦片数据联动更新,保证影像数据的现势性。技术路线如下:
(1)FTP站点搭建
各子节点根据本服务器的IP地址搭建FTP站点,设置站点的登录账号与密码,并将服务器中地图瓦片的物理路径赋给此站点,便于主节点对瓦片缓存目录的访问。
(2
)生成更新数据当主节点成果目录中影像数据更新时,利用平台的数据处理软件按照《地理信息公共服务平台电子地图数据规范CH/Z9011—2011》中的四叉树索引机制进行影像切片与瓦片元数据生成。切片之前需要确定切图的起点(即Tilingschemeorigin)、图片宽度(width)和图片高度(height)。设置切图起点的目的在于保证同一坐标系下的瓦片地图能够完美的叠加到一起。这样从起点计算,将地图区域切好的瓦片缓存存入对应的行、列文件夹下,其中行列号可以根据文章2.2
节的公式(1),(2)计算得到;没有地图数据的空白区域在切片过程中不会占有任何资源,只会对地图数据进行网格划分。切图原理如图2所示
。
图2 地图切片示意图
(3
)更新数据加密压缩为了提高数据传输的安全性,需要将瓦片数据、瓦片元数据以及更新区域矢量数据三者进行
加密压缩处理,并将压缩文件放入网站指定目录作为更新数据。
(4
)更新数据在线监控网站设置数据在线监控功能模块,当系统监
测到网站目录下有新文件时,自动触发瓦片联动
更新操作,实现各子节点瓦片服务的实时、自动化更新。
(5
)拓扑分析匹配更新区域提取更新区域的矢量数据,并与各站点的矢量数据进行数据检查和拓扑分析,得到瓦片更新区域所涉及的站点;根据站点名称匹配SQLServer数据库中的用户信息表得到待更新站点的IP地址及该站点FTP服务的账号与密码,如图3所示
。
图3 拓扑分析匹配更新区域示意图
2
371
1
第34卷 第12期颜怀成,胡平昌,熊鹏波.基于FTP服务的ArcGISServer地图瓦片联动更新的实现
(6
)瓦片数据在线传输与融合更新基于FTP传输协议按照匹配得到的市县、科研、企事业单位各站点的范围进行更新数据的即时分发,各站点匹配同名瓦片进行融合更新。
(7
)历史数据备份各站点在更新过程中做好各影像元数据版本记录,记录不同时期不同类型的影像更新信息,实现历史版本的管理,并将元数据更新信息以及历史版本管理信息反馈至主服务器进行统一入库管理。
总体技术路线如图4所示
。
图4 瓦片联动更新技术路线图
2 关键技术
2.1 基于犉犜犘服务实现瓦片数据在线传输FTP(FileTransferProtocol,文件传输协议)是TCP/IP协议族中的协议之一,属于应用层协议,用于完成两台计算机之间的文件传
输[10 11]。FTP服务是基于C/S架构设计的,
客户端与服务端之间建立控制链路与数据链路两个通信链路。控制链路主要用于传输客户端发送的用户信息、控制命令及服务器反馈的应答信息,数据链路的主要任务是在控制链路的控制下完成客户端与服务器之间的目录信息及数据信
息的传输[12 13]。
如文章1.2节所述,瓦片联动更新的前提是实现主节点与子节点之间的文件在线传输。然而,省域遥感影像即时服务管理平台是基于B/S架构开发的,由于软件架构的原因,导致无法将文件在线传输至远程服务器的指定路径。为了解决上述问题,平台采用FTP+Web架构,
成功实现主服务器对各个子节点服务器中瓦片缓存目录的访问,并利用FTP服务自带的文件上传与下载操作实现瓦片的在线传输与联动更新,系统的体系结构如图5所示
。
图5 系统体系结构示意图
(1)FTP登录。
使用FTP服务时必须先登录,在远程主机上获得相应的权限以后方可进行文件的上传或下载操作。远程主机的用户名和密码已通过上节介绍的方法获得,不再赘述。FtpWebRequest是实现FTP服务上传与下载的类,通过设置其Credentials属性可以完成权限验证,FTP服务登录代码如下:
FtpWebRequestftp_request=FtpWebRequest.Create(Ftp_filep
ath);ftp_request.Credentials=newNetworkCredential(user name,p
jquery在线库assword);(2
)数据文件自动解密与解压。经过加密压缩的更新数据需要在子节点进行解密与解压后方可用于更新,文件解压密码已通过文章1.2节中“拓扑分析匹配更新区域”根据站点名称匹配SQLServer数据库得到。系统中自动解密与解压数据的主要实现代码如下:
System.Diagnostics.ProcessProcessUnzip=newSystem.Diag
nostics.Process();ProcessUnzip.StartInfo.FileName="Winrar.exe";ProcessUnzip
.StartInfo.CreateNoWindow=true;ProcessUnzip.StartInfo.Arguments="x p"+password+""+zipFile
Path+""+unZip
Path;ProcessUnzip
.Start();(3
)文件上传与下载。瓦片联动更新前,首先需要根据更新数据中的瓦片号按层级去下载子节点服务器上对应的历史瓦片数据,将新瓦片数据与历史瓦片数据进行瓦片融合操作后,再将最终融合后的图像文件上传至原目录下完成瓦片的更新。
通过前文FtpWebRequest.Credentials进行登录验证后,设置FtpWebRequest类的Method属性为UploadFile或DownloadFile,即可实现对FTP服务绑定的瓦片缓存目录进行上传与下载
3
371
北京测绘第34卷 第12期
操作,主要实现代码如下:
ftp_request.Method=WebRequestMethods.Ftp.Download
File; ∥下载文件
FtpWebResponseftp_response=request.GetResponse();
ftp_request.Method=WebRequestMethods.Ftp.Upload
File; ∥上传文件
FileInfofileinfo=newFileInfo(UploadPath);
2.2 瓦片融合更新
根据《地理信息公共服务平台电子地图数
据规范CH/Z9011—2011》的要求,ArcGIS
Server地图瓦片的特点如下:①切片的起始点为
(西经180°,北纬90°),向东向南行列递增;②地
图瓦片大小为256像素×256像素;③地图瓦片
数据格式为PNG或JPG。根据更新区域的矢量
数据范围,可以通过公式(1),(2)计算得到瓦片
的行列号。
犮狅犾=floor
狓0-狓256×
()
狉犲狊狅犾狌狋犻狅狀
(1)
狉狅狑=floor
狔0-狔256×
()
狉犲狊狅犾狌狋犻狅狀
(2)式中,犮狅犾、狉狅狑分别为瓦片的列、行号,(狓0,狔0)为切片起始点坐标,(狓,狔)为矢量点的坐标,狉犲狊狅犾狌 狋犻狅狀为瓦片级别分辨率。根据上面的公式,结合矢量数据范围可以计算得到待更新数据的瓦片行列号范围。通过瓦片行列号对原始瓦片的文件夹进行定向匹配,当匹配到同名瓦片文件时,对其进行瓦片融合更新操作;当不存在同名瓦片时,则跳过本幅瓦片的更新。
进行瓦片融合更新前首先需要判断瓦片的格式,当瓦片是PNG等可透明图片格式时,需将画布设置成Transparent;反之,则将画布设为White。接着通过Graphic类的DrawImage函数将原始瓦片和新瓦片先后绘在画布上,最后用新绘制的图片替换原有瓦片文件实现瓦片的更新。图片融合的主要代码如下:
BitmapbackgroudImg=newBitmap(size,size);
Graphicsgraphic=Graphics.FromImage(backgroudImg);
graphic.Clear(System.Drawing.Color.Transparent);∥将画布设置为透明
graphic.DrawImage(maps[j],0,0,maps[j].Width,maps[j].Height);
各站点在更新过程中做好影像瓦片元数据版本记录,并将瓦片更新信息以及历史版本信息反馈至主服务器统一入库管理。瓦片更新完成后,该瓦片的更新时间与版本信息实时存入瓦片元数据库,并将此数据库与地图服务关联,通过系统中的地图预览窗口可以查看每张瓦片的更新时间与版本信息,实时查看瓦片更新结果。地图预览窗口如图6所示
。
图6 瓦片版本信息
3 系统实现
本文以2019年8月获取的一景卫片正彩影像为实验数据,该景影像位于江苏省淮安市与盐城市交界处,影像服务的切片等级为0~15级,切片起始点设为(-400,400),瓦片更新数据共计6233张。
更新区域涉及的两个子节点分别为江苏省的淮安市与盐城市。根据这两个待更新区域匹配SQLServer数据库的用户信息表,可以得到相应站点的IP地址及访问该站点FTP服务所需的账号与密码;运行系统的瓦片更新功能模块,结合FTP瓦片数据在线传输技术与瓦片融合技术实现ArcGISServer地图瓦片的联动更新。
4 结束语
省域遥感影像即时服务云平台结合GIS、RS、Web及FTP服务等技术实现多源遥感数据统筹管理,即时高效地分发遥感影像更新数据,满足用户即时更新服务的要求,降低了遥感影像服务的处理成本,提高了多服务器瓦片更新的效率,建立了一个更高效、更新型的遥感影像数据服务模式。在
实际应用中,用户对遥感影像在线更新的个性化定制以及提高更新频次提出了要
4371
1
第34卷 第12期颜怀成,胡平昌,熊鹏波.基于FTP服务的ArcGISServer地图瓦片联动更新的实现
求,如何满足遥感影像定制化更新以及提高数据传输安全性与效率性是需要进一步研究与改进的地方。
参考文献
[1]胡平昌,卢刚,颜怀成.省域遥感影像统筹服务平台研究[C]∥
江苏省测绘地理信息学会.江苏省测绘地理信息学会2018年学术年会论文集.南京:《现代测绘》编辑部,2018.[2
]吕楠,向煜.面向移动互联网应用的全景地图切片技术研究[J].北京测绘,2017(2):94 96,101.
[3]周婷婷.电子地图局部更新方法研究[J].
地理空间信息,2014,12(4):162 163,169,13.
[4]郭明武,彭清山,李黎.ArcGISServer中地图瓦片实时在线
局部更新方法研究[J].测绘通报,2012(2):35 38.
[5]祝云,高丹,韩雪凌.基于ArcGISServer的瓦片电子地图数
据更新机制研究[J].测绘通报,2013(12):100 101.
[6
]李福洪,朱雪虹,张书亮.数字城市电子地图瓦片更新系统的设计与实现[J].地理空间信息,2016,14(8):38 40.[7]万宝林,雷丽珍.基于WMTS服务的电子地图快速更新体系
的研究与实践[J].测绘与空间地理信息,2018,41(1):109 112.
[8]马卫春,杨友长.基于Py
thon的ArcGISServer地图瓦片定时自动更新方法[J].地理空间信息,2013,11(1):147 149.[9]穆星,祝静怡.一种WebGIS瓦片数据更新方法研究[J].
科技创新与应用,2018(2):152 154.
[10]潘家富.利用Serv U的FTP构建高校教学资源共享平台
[J].办公自动化,2019,24(9):43 44.
[11]姚琨.基于FTP的教学资源平台建设研究—
——以内蒙古大学满洲里学院为例[J].现代信息科技,2019,3(2):121 122.[12]何美.FTP服务在高职院校中的应用[J].
佳木斯职业学院学报,2018(9):27 28.
[13]张璜,田龙.基于FTP的教学资源管理平台设计与实现[J].
科技信息,2012(14):47 48.
犚犲犪犾犻狕犪狋犻狅狀狅犳犃狉犮犌犐犛犛犲狉狏犲狉犕犪狆犜犻犾犲犔犻狀犽犪犵犲犝狆
犱犪狋犲犅犪狊犲犱狅狀犉犜犘犛犲狉狏犻犮犲
犢犃犖犎狌犪犻犮犺犲狀犵1,
2,犎犝犘犻狀犵犮犺犪狀犵1,
2,犡犐犗犖犌犘犲狀犵
犫狅1,
2
(1.犛狌狉狏犲狔犈狀犵犻狀犲犲狉犻狀犵犐狀狊狋犻狋狌狋犲狅犳犑犻犪狀犵狊狌犘狉狅狏犻狀犮犲,犖犪狀犼犻狀犵犑犻犪狀犵
狊狌210013,犆犺犻狀犪;2.犓犲狔犔犪犫狅狉犪狋狅狉狔狅犳犔犪狀犱犛犪狋犲犾犾犻狋犲犚犲犿狅狋犲犛犲狀狊犻狀犵犃狆狆犾犻犮犪狋犻狅狀,犖犪狀犼犻狀犵犑犻犪狀犵
狊狌210013,犆犺犻狀犪)犃犫狊狋狉犪犮狋:犎犪狏犻狀犵犱犲狏犲犾狅狆犲犱犪狉犲犪犾
狋犻犿犲狊犲狉狏犻犮犲犿犪狀犪犵犲犿犲狀狋狆犾犪狋犳狅狉犿犳狅狉狆狉狅狏犻狀犮犻犪犾狉犲犿狅狋犲狊犲狀狊犻狀犵犻犿犪犵犲犫犪狊犲犱狅狀犉犜犘(犉犻犾犲犜狉犪狀狊犳犲狉犘狉狅狋狅犮狅犾)狊犲狉狏犻犮犲.犐狋狌狊犲狊狋犺犲狏犲犮狋狅狉犱犪狋犪狅犳狋犺犲狌狆犱犪狋犲犪狉犲犪狋狅狆犲狉犳狅狉犿狋狅狆狅犾狅犵狔犪狀犪犾狔狊犻狊犪狀犱犿犪狋犮 犺犻狀犵狋狅狅犫狋犪犻狀狋犺犲犻狀犳狅狉犿犪狋犻狅狀狅犳狋犺犲狊狌犫 狀狅犱犲狊犲狉狏犲狉狋犺犪狋狀犲犲犱狊狋狅犫犲狌狆犱犪狋犲犱.犜犺犲狋犻犾犲犱犪狋犪犻狊狋狉犪狀狊犿犻狋狋犲犱狋犺狉狅狌犵犺狋犺犲犉犜犘狊犲狉狏犻犮犲狑犻狋犺狋犺犲狋犻犾犲犳狌狊犻狅狀狋犲犮犺狀狅犾狅犵狔,狉犲犪犾犻狕犻狀犵狋犺犲犾犻狀犽犪犵犲狌狆犱犪狋犲狅犳犃狉犮犌犐犛犛犲狉狏犲狉犿犪狆狊犲狉狏犻犮犲狊犫犲狋狑犲犲狀犱犻犳犳犲狉 犲狀狋狊犲狉狏犲狉狊.
犓犲狔狑狅狉犱狊:犉犜犘犛犲狉狏犻犮犲;犃狉犮犌犐犛犛犲狉狏犲狉;犿犪狆狋犻犾犲狊;狋犻犾犲狊犳狌狊犻狅狀;犾犻狀犽犪犵犲狌狆
犱犪狋犲5
371
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论