发明名称 适用于用户在线编辑的瓦片式地图服务缓存实时动态更新方法
摘要 本发明公开了一种适用于在线编辑的地图服务静态缓存局部动态更新方法。方法步骤为:1)定义地图服务静态缓存文件组织方式,预先生成地图服务分层、分块的服务器缓存;2)地图要素在线编辑事件监控,实时捕捉用户编辑区块信息及所属地图服务信息,向地图服务静态缓存服务器发送编辑及更新请求;3)地图服务静态缓存服务器接收请求进行局部缓存更替操作;4)客户端浏览器获知服务器更替完成消息,进行缓存刷新操作。维护编辑后地图数据与网络发布呈现的同步性与一致性,在不影响地图数据编辑操作的前提下进行计算机自动交互式处理,提高了工作效率,在空间信息地图服务发布领域中应用前景非常广泛,能满足涉及空间数据频繁编辑的业务实际需求。
申请公布号 CN103425754B 申请公布日期 2016.06.08
申请号 CN201310318325.X 申请日期 2013.07.24
申请人 浙江大学 发明人 杜震洪;刘仁义;张丰;钱宸;曹敏杰
分类号 G06F17/30(2006.01)I;G06F12/12(2016.01)I 主分类号 G06F17/30(2006.01)I
代理机构 杭州求是专利事务所有限公司 33200 代理人 张法高
主权项 一种适用于在线编辑的地图服务静态缓存局部动态更新方法,其特征在于包括如下步骤:1)定义地图服务静态缓存文件组织方式,预先生成地图服务分层、分块的服务器缓存;2)该步骤分为以下5个子步骤:(1)地图要素在线编辑事件监控,实时捕捉用户编辑区块信息及所属地图服务信息,向地图服务缓存服务器发送编辑及更新请求,依据不同的层级设定,多层级的操作需进行循环的重复操作,操作的方式相同,针对确定的一个层级,地理空间数据地图要素的编辑操作包括点、线和多边形面数据的编辑,针对不同的数据编辑操作,分别计算用户编辑区块外包矩形的角点坐标,确定编辑区块空间范围;(2)确定点编辑外包矩形空间范围,点编辑操作包含单点或多点编辑,设单点编辑对象的点坐标为(X,Y),用户编辑区块矩形区块的设定以该点为中心,通过一个不影响坐标经度的极小值ε,ε>0,向四周扩展,得到的矩形区块左上角点坐标为(X‑ε,Y+ε)、右上角坐标为(X+ε,Y+ε)、左下角坐标为(X‑ε,Y‑ε),右下角坐标为(X+ε,Y‑ε),多点编辑操作中,通过横轴坐标和纵轴坐标分别比较获得所有点中的最高点、最低点、最左点和最右点,对应的分别为纵坐标最大值MaxY、纵坐标最小值MinY、横坐标最小值MinX和横坐标最大值MaxY,给定一个不影响坐标经度的极小值ε,ε>0,确定用户编辑外包的矩阵区块左上角点坐标为(MinX‑ε,MaxY+ε)、右上角坐标为(MinX+ε,MaxY+ε)、左下角点坐标为(MinX‑ε,MinY‑ε)和右下角点坐标为(MinX+ε,MinY‑ε);(3)确定线编辑外包矩形空间范围,线编辑操作包含单个线要素或多个线要素编辑,设单个线要素端点坐标分别为(X1,Y1)和(X2,Y2),X1<X2,Y1<Y2,给定一个不影响坐标经度的极小值ε,ε>0,确定矩形区块的左上角坐标点为(X1‑ε,Y2+ε)、右上角坐标点为(X2+ε,Y2+ε)、左下角坐标点位(X1‑ε,Y1‑ε)和右下角坐标点为(X2+ε,Y1‑ε),多个线要素编辑操作中,依照步骤(2)中的多点编辑处理方式可获得多个线要素的矩阵区块;(4)确定多边形面编辑外包矩形空间范围,多边形面编辑操作包含单个多边形面要素或多个多边形面要素编辑,单个多边形面获取编辑对象的所有角点集合(X1,Y1)、(X2,Y2)……、(XN,YN),分别选取横坐标和纵坐标的最小值和最大值:Minx、Maxx、Miny和Maxy,给定一个不影响坐标经度的极小值ε,ε>0,确定用户编辑外包的矩阵区块左上角点坐标为(Minx‑ε,Maxy+ε)、右上角坐标为(Minx+ε,Maxy+ε)、左下角点坐标为(Minx‑ε,Miny‑ε)和右下角点坐标为(Minx+ε,Miny‑ε),多个多边形面要素编辑依照(2)中的多点要素外包矩形角点坐标设定方法,确定其空间范围;(5)根据步骤(2)至步骤(4)确定的用户编辑区块外包矩形在二维象限的空间覆盖横轴最小值BBoxMinX、最大值为BBoxMaxX;纵轴最小值为BBoxMinY、最大值为BBoxMaxY,根据用户编辑区块外包矩形的角点坐标计算所属的行列号范围,设定行号范围为MinRowIndex至MaxRowIndex,列号范围为MinColIndex至MaxColIndex;采用数学的浮点数取整方法Floor函数,计算如下:MinRowIndex=Floor((BBoxMinY‑MatrixMinY)/TileSpanY) MaxRowIndex=Floor((BBoxMaxY‑MatrixMinY)/TileSpanY) MinColIndex=Floor((BBoxMinX‑MatrixMinX)/TileSpanX) MaxColIndex=Floor((BBoxMaxX‑MatrixMinX)/TileSpanX) 其中,MatrixMinX、MatrixMinY分别为二维象限坐标轴的X横轴方向的最小值、Y纵轴方向的最小值;TileSpanX、TileSpanY依据不同的层级设定,多层级的操作需进行循环的重复步骤(2)至步骤(5),到所有层级遍历结束为止;3)地图服务静态缓存服务器接收请求进行局部缓存更替操作,通过UpdateTiles方法传入预置的地图服务缓存基本参数与用户编辑区块外包矩形所属缓存图片的行列号,构建编辑区块对应的目标缓存路径,获取需替换的缓存图片及坐标范围属性进行定位与文件替换;4)客户端浏览器获知服务器更替完成消息,进行缓存刷新操作,地图缓存服务器的缓存替换工作完成后,客户端通过指定的统一资源标识符URL访问更新后的地图数据缓存,此次访问后,通过浏览器的缓存机制,预取了更新后的缓存图片,刷新本地的浏览器缓存。
地址 310027 浙江省杭州市浙大路38号