CN105549920A - 一种基于Flex的客户端大幅地图打印方法 - Google Patents
一种基于Flex的客户端大幅地图打印方法 Download PDFInfo
- Publication number
- CN105549920A CN105549920A CN201510906104.3A CN201510906104A CN105549920A CN 105549920 A CN105549920 A CN 105549920A CN 201510906104 A CN201510906104 A CN 201510906104A CN 105549920 A CN105549920 A CN 105549920A
- Authority
- CN
- China
- Prior art keywords
- map
- printing
- translation
- current screen
- screen map
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1202—Dedicated interfaces to print systems specifically adapted to achieve a particular effect
- G06F3/1203—Improving or facilitating administration, e.g. print management
- G06F3/1208—Improving or facilitating administration, e.g. print management resulting in improved quality of the output result, e.g. print layout, colours, workflows, print preview
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1224—Client or server resources management
- G06F3/1227—Printer definition files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/12—Digital output to print unit, e.g. line printer, chain printer
- G06F3/1201—Dedicated interfaces to print systems
- G06F3/1223—Dedicated interfaces to print systems specifically adapted to use a particular technique
- G06F3/1237—Print job management
- G06F3/1242—Image or content composition onto a page
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Instructional Devices (AREA)
- Record Information Processing For Printing (AREA)
Abstract
本发明公开了一种基于Flex的客户端大幅地图打印方法,属于地理信息技术领域。本发明可以利用Web客户端API进行多种方式(包括圈选、矩选、多边形选、行政区域选)进行地图打印范围动态选择,结合想要打印地图的比例尺进行基于FLEX的客户端截图打印。本方法通过监听WebGIS客户端图层更新事件以当前屏幕尺寸为单位对客户端地图进行动态平移并截图拼接,对于拼接后的地图可选择实时打印和导出到本地图片两种方式。本方法解决了主流GIS引擎提供的基于服务的打印方式的打印图层有限制和打印篇幅有限制的问题。
Description
技术领域
本发明属于地理信息技术领域,尤其是涉及一种基于Flex的客户端大幅地图打印方法,创新性的解决了电子地图大幅打印中打印图层不全及打印篇幅有限制的问题。
背景技术
随着计算机应用技术的发展,地理信息系统得到了飞速的发展。作为地理信息系统的最直观的展示电子地图的重要性不言而喻,随着计算机成像技术的快速发展,电子地图的分辨率及美观性得到了大幅度的提升。因此将电子地图打印输出为纸质地图已成为包括政府、军队、人防等部门建设地理信息系统时必不可少的功能。
但是在主流的Web地图引擎厂商包括ArcGIS,Web在线地图提供商谷歌、百度等,他们提供的打印方式均为打印当前屏幕显示地图范围。所以用普通的显示设备打开这些主流厂商的地图时是无法进行大图打印的。其中国产地图厂商SuperMap提供了基于服务的大图打印方法,但是该方法对所打印的地图图层有限制,对于通过客户端渲染方式展示到地图上的用户数据该打印方法并不支持。而在电子地图在政府、军队、人防等行业的应用场景是很多时候都是用户在客户端进行行业数据的渲染并打印。
发明内容
本发明所要解决的技术问题是:采用普通显示设备显示Web地图,不能够大幅打印,只能打印当前显示设备显示范围内的地图;对于支持对普通显示设备显示的Web地图进行大幅打印的GIS引擎,对客户端渲染数据不支持打印的问题。
为解决上述技术问题,本发明采用以下技术方案来实现:一种基于Flex的客户端大幅地图打印方法,包括以下步骤:
S1:根据用户需求设置打印地图的打印范围及打印比例尺;
S2:将当前屏幕地图平移,使得平移后的当前屏幕地图的左边沿和上边沿与打印地图的左边沿和上边沿对应重合,并记录平移后的当前屏幕地图的中心点经度;
S3:对平移后的当前屏幕地图进行截屏并保存,然后判断其右边沿是否超出打印地图的右边沿,若超出,记录超出的像素距离,执行S4;若没有超出,转S5;
S4:判断平移后的当前屏幕地图的底边沿是否已超出打印地图的底边沿,若没有超出,则将其向上平移一个屏幕地图的像素距离,然后向右平移到S2中记录的中心点经度得到下一屏幕地图,将下一屏幕地图作为当前屏幕地图,转入S3;若超出,则记录超出的像素距离,设置平移后的当前屏幕地图已覆盖打印地图,转入S6;
S5:将平移后的当前屏幕地图向左平移一个屏幕地图的像素距离得到下一屏幕地图,将下一屏幕地图作为当前屏幕地图,转入S3;
S6:将存储的截屏图片进行拼接并截取掉S3和S4中记录的超出的像素距离;
获取完整的按照打印比例尺和打印范围的大幅地图。
其中,所述的S2中将当前屏幕地图平移,使得平移后的当前屏幕地图的左边沿和上边沿与打印地图的左边沿和上边沿对应重合,具体包括步骤:
(201)将当前屏幕地图进行平移至打印范围的左上点与屏幕中心相重合;
(202)将平移后的当前屏幕地图以其中心为中心,以打印比例尺为比例尺进行缩放;
(203)将平移后的当前屏幕地图按照当前屏幕地图的二分之一像素高度和二分之一像素宽度向屏幕左上角平移,使得平移后的当前屏幕地图的左边沿和上边沿与打印地图的左边沿和上边沿对应重合。
其中,S1中所述的设置打印地图范围的方式包括圈选、矩选、多边形选和行政区域选;设置打印比例尺通过滚动鼠标滚轮来选择对应的比例尺。
其中,所述的S1之前还包括,在客户端地图页面自定义添加地理信息要素和军标。
本发明相比背景技术具有如下优点:
(1)本发明的基于Flex的客户端大幅地图打印方法能够在客户端按照圈选、矩形选、多边形选、行政区划选择等多种方式按照任意比例尺进行切图打印;
(2)本发明在所选地图范围内可以按照行业要求自定义添加地理信息要素对象,包括点要素、线要素、面要素、图标要素、军标要素等各种常用地理信息要素;
(3)本发明不需要依赖GIS引擎提供的后台服务,只需要依托于Flex的富客户端计算能力即可完成选择区域、切图、出图并打印的一系列流程。
(4)本发明利用基于Flex的客户端以当前显示设备为单位进行截图拼接打印,成功的解决了很多地图不能大幅打印和对打印图层有限制的问题。
附图说明
图1是本发明的操作流程图;
图2是本发明的大幅地图打印方法流程图。
具体实施方式
下面结合附图对本发明所述方法作进一步详细描述。
一种基于Flex的客户端大幅地图打印算法,包括以下步骤:
S1:选择任意浏览器,确保电脑上安装有flashpalyer10以上版本,在浏览器中打开基于ArcGIS或者SuperMap等主流WebGIS引擎的客户端地图页面;
S2:初始化地图显示内容,可自定义在地图上添加点、线、面地理信息要素,也可绘制军标等自定义复杂对象;
S3:初始化设置地图打印范围,可选择圈选、矩选、多边形选、行政区划选、当前屏幕等多种方式;同时设置所要打印出图的比例尺,可滑动鼠标滚轮自动选择对应的比例尺;
S4:监听地图图层更新事件,将当前屏幕地图平移,使得平移后的当前屏幕地图的左边沿和上边沿与打印地图的左边沿和上边沿对应重合,并记录平移后的当前屏幕地图的中心点经度;具体包括步骤:
(401)将当前屏幕地图进行平移至打印范围的左上点与屏幕中心重合的位置,
(402)将平移后的当前屏幕地图以其中心为中心,以打印比例尺为比例尺进行缩放,设置是否已经将平移当前屏幕地图至打印范围的左上点与屏幕中心重合并缩放至打印比例尺的标志位为true;
(403)地图平移将触发图层更新事件,在更新事件中判断是否已经将打印范围的左上点与屏幕中心重合并缩放至打印比例尺,若是,则转入步骤(404),否则,转入步骤(405);
(404)将平移后的当前屏幕地图按照当前屏幕地图的二分之一像素高度和二分之一像素宽度向屏幕左上角平移,使得平移后的当前屏幕地图的左边沿和上边沿与打印地图的左边沿和上边沿对应重合,并设置该动作标志位为true,同时将触发图层更新事件,转入步骤(403);
(405)判断平移后的当前屏幕地图的左边沿和上边沿与打印地图的左边沿和上边沿是否已经对应重合,若是,执行步骤(406);
(406)判断当前屏幕地图是否已经更改中心点,若是,则记录该中心点经度,并且将是否已经更改中心点的标志位重置为false,执行S5;若否,直接执行S5;
S5:对平移后的当前屏幕地图进行截屏并保存到BitMapData数组,然后判断其右边沿是否超出打印地图的右边沿,若超出,记录超出的像素距离,执行S6;若没有超出,转S7;
S6:判断平移后的当前屏幕地图的底边沿是否已超出打印地图的底边沿,若没有超出,则将其向上平移一个屏幕地图的像素距离,然后向右平移到S4中记录的中心点经度得到下一屏幕地图,将下一屏幕地图作为当前屏幕地图,转入S5;若超出,则记录超出的像素距离,设置平移后的当前屏幕地图已覆盖打印地图,转入S8;
S7:将平移后的当前屏幕地图向左平移一个屏幕地图的像素距离得到下一屏幕地图,将下一屏幕地图作为当前屏幕地图,转入S5;
S8:将存储的截屏图片进行拼接并截取掉S5和S6中记录的超出的像素距离;
获取完整的按照打印比例尺和打印范围的大幅地图,直接打印或者导出图片保存到本地电脑。
Claims (4)
1.一种基于Flex的客户端大幅地图打印方法,其特征在于,包括以下步骤:
S1:根据用户需求设置打印地图的打印范围及打印比例尺;
S2:将当前屏幕地图平移,使得平移后的当前屏幕地图的左边沿和上边沿与打印地图的左边沿和上边沿对应重合,并记录平移后的当前屏幕地图的中心点经度;
S3:对平移后的当前屏幕地图进行截屏并保存,然后判断其右边沿是否超出打印地图的右边沿,若超出,记录超出的像素距离,执行S4;若没有超出,转S5;
S4:判断平移后的当前屏幕地图的底边沿是否已超出打印地图的底边沿,若没有超出,则将其向上平移一个屏幕地图的像素距离,然后向右平移到S2中记录的中心点经度得到下一屏幕地图,将下一屏幕地图作为当前屏幕地图,转入S3;若超出,则记录超出的像素距离,设置平移后的当前屏幕地图已覆盖打印地图,转入S6;
S5:将平移后的当前屏幕地图向左平移一个屏幕地图的像素距离得到下一屏幕地图,将下一屏幕地图作为当前屏幕地图,转入S3;
S6:将存储的截屏图片进行拼接并截取掉S3和S4中记录的超出的像素距离;
获取完整的按照打印比例尺和打印范围的大幅地图。
2.根据权利要去1所述的一种基于Flex的客户端大幅地图打印方法,其特征在于,所述的S2中将当前屏幕地图平移,使得平移后的当前屏幕地图的左边沿和上边沿与打印地图的左边沿和上边沿对应重合,具体包括步骤:
(201)将当前屏幕地图进行平移至打印范围的左上点与屏幕中心相重合;
(202)将平移后的当前屏幕地图以其中心为中心,以打印比例尺为比例尺进行缩放;
(203)将平移后的当前屏幕地图按照当前屏幕地图的二分之一像素高度和二分之一像素宽度向屏幕左上角平移,使得平移后的当前屏幕地图的左边沿和上边沿与打印地图的左边沿和上边沿对应重合。
3.根据权利要去1所述的一种基于Flex的客户端大幅地图打印方法,其特征在于,S1中所述的设置打印地图范围的方式包括圈选、矩选、多边形选和行政区域选;设置打印比例尺通过滚动鼠标滚轮来选择对应的比例尺。
4.根据权利要去1所述的一种基于Flex的客户端大幅地图打印方法,其特征在于,所述的S1之前还包括,在客户端地图页面自定义添加地理信息要素和军标。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510906104.3A CN105549920B (zh) | 2015-12-10 | 2015-12-10 | 一种基于Flex的客户端大幅地图打印方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510906104.3A CN105549920B (zh) | 2015-12-10 | 2015-12-10 | 一种基于Flex的客户端大幅地图打印方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105549920A true CN105549920A (zh) | 2016-05-04 |
CN105549920B CN105549920B (zh) | 2018-04-03 |
Family
ID=55829123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510906104.3A Active CN105549920B (zh) | 2015-12-10 | 2015-12-10 | 一种基于Flex的客户端大幅地图打印方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105549920B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106126294A (zh) * | 2016-06-29 | 2016-11-16 | 泰华智慧产业集团股份有限公司 | 基于flex技术的地图访问操作插件生成方法及系统 |
CN106934839A (zh) * | 2017-02-16 | 2017-07-07 | 广州杰赛科技股份有限公司 | 一种cad矢量图自动切图方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060002603A1 (en) * | 2004-07-01 | 2006-01-05 | Beauchaine Robert J | Optical proximity correction in raster scan printing based on corner matching templates |
US20100068994A1 (en) * | 2008-09-16 | 2010-03-18 | Fuji Xerox Co., Ltd. | Image processing device, image display system, image processing method and program storage medium |
CN102402529A (zh) * | 2010-09-13 | 2012-04-04 | 方正国际软件有限公司 | 地图标绘控制方法及装置 |
CN103327293A (zh) * | 2012-03-23 | 2013-09-25 | 罗普特(厦门)科技集团有限公司 | 一种通过视频校准与电子地图相结合的监控设备及方法 |
US20150043015A1 (en) * | 2013-08-06 | 2015-02-12 | Canon Kabushiki Kaisha | Method for printing an upscaled image |
-
2015
- 2015-12-10 CN CN201510906104.3A patent/CN105549920B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060002603A1 (en) * | 2004-07-01 | 2006-01-05 | Beauchaine Robert J | Optical proximity correction in raster scan printing based on corner matching templates |
US20100068994A1 (en) * | 2008-09-16 | 2010-03-18 | Fuji Xerox Co., Ltd. | Image processing device, image display system, image processing method and program storage medium |
CN102402529A (zh) * | 2010-09-13 | 2012-04-04 | 方正国际软件有限公司 | 地图标绘控制方法及装置 |
CN103327293A (zh) * | 2012-03-23 | 2013-09-25 | 罗普特(厦门)科技集团有限公司 | 一种通过视频校准与电子地图相结合的监控设备及方法 |
US20150043015A1 (en) * | 2013-08-06 | 2015-02-12 | Canon Kabushiki Kaisha | Method for printing an upscaled image |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106126294A (zh) * | 2016-06-29 | 2016-11-16 | 泰华智慧产业集团股份有限公司 | 基于flex技术的地图访问操作插件生成方法及系统 |
CN106934839A (zh) * | 2017-02-16 | 2017-07-07 | 广州杰赛科技股份有限公司 | 一种cad矢量图自动切图方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN105549920B (zh) | 2018-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9904664B2 (en) | Apparatus and method providing augmented reality contents based on web information structure | |
CN111343075A (zh) | 在基于地图的社交媒体平台上的位置隐私关联 | |
CN114341780A (zh) | 基于上下文的虚拟对象渲染 | |
CN106031199A (zh) | 利用地理围栏的系统和方法 | |
WO2015131575A1 (zh) | 一种基于图层的处理方法及装置、计算机存储介质 | |
JP6090173B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
CN111031293B (zh) | 全景监控的展示方法、装置和系统及计算机可读存储介质 | |
CN105574102A (zh) | 一种电子地图数据加载的方法及装置 | |
CN103744995A (zh) | 一种构建专题地图的方法及应用该方法的移动终端 | |
CN109816750B (zh) | 基于气象数据的图像处理方法、装置和计算机设备 | |
US8369338B1 (en) | Region-associated ratings of wireless carriers | |
CN112464055A (zh) | 可视化联动系统、方法、装置、计算机设备和存储介质 | |
CN109857964B (zh) | 一种页面操作的热力图绘制方法、装置、存储介质及处理器 | |
CN115494987A (zh) | 基于视频的交互方法、装置、计算机设备和存储介质 | |
Andersson et al. | Mobile e-services using HTML5 | |
CN103971412A (zh) | 电子地图的展现方法及装置 | |
JP2017163195A (ja) | 画像処理システム、プログラム、画像処理方法 | |
CN105549920A (zh) | 一种基于Flex的客户端大幅地图打印方法 | |
CN104881423B (zh) | 信息提供装置以及信息提供方法 | |
JP2009265277A (ja) | 地図加工装置、プログラム、地図表示装置及び地理情報システム | |
JP6074311B2 (ja) | サーバコンピュータ及びこれを制御するための方法並びにプログラム | |
Bonatsos et al. | Crime open data aggregation and management for the design of safer spaces in urban environments | |
JP6617547B2 (ja) | 画像管理システム、画像管理方法、プログラム | |
JP6042683B2 (ja) | 地図画像生成装置、地図画像生成方法及びプログラム | |
CN114356165A (zh) | 一种监控设备的监控区域确定方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |