首页 / 浏览问题 / 云GIS / 问题详情
iserver的打印服务打印的范围与我绘制的范围不一致
10EXP 2023年03月29日

需求是我前端是使用A4纸张大小以及获取屏幕中心点根据坐标系和纸张长度以及比列尺计算出屏幕上的四个点并绘制在地图上,然后调用超图的打印服务http://192.168.2.221:8090/iserver/services/webprinting/rest/webprinting/v1/jobs.json,传的customItems参数也是中心点和比例尺以及A4_landscape,但是打印出来的图和地图上框的范围有偏差,然后经过我的试验是有个比例缩放,我就设置里的值0.74就是屏幕上的框设置这个参数就会等比例缩放与打印的范围一致,现在的问题是我不同坐标系的设置的值也要不同才能是框和打印的一致,我不能不同的坐标系去自己微调这个值使他们一样。

1个回答

您好,您根据比例尺坐标系和纸张长度计算地图范围时,是直接用的整张A4纸的范围么?A4_landscape这个模板是打印出来的整个结果范围是A4大小,其中包括地图比例尺图例等信息,也就是说地图范围是比A4纸小的。我这边测试以A4_landscape为例,dpi设置为为96时,打印结果为842px*595px大小,其中地图框的大小为:800px*410px。

3,148EXP 2023年03月29日
你好我前端使用的纸张大小就是打开打印的模板然后找到地图框的大小的尺寸,虽然调整过这个地图框了但是用的就是调整后的尺寸。
您提供一下您的计算方式呢,我这边测试验证一下。
并且我用的单位不是px是mm

下面是代码片段

您这边方便私信我一下您的QQ,我加一下您QQ具体沟通一下吗?我这边验证了一下打印结果的比例尺和中心点是和设置的一致,比例尺和中心点正确的话结果就是没问题,我们这边模板设置的宽高都是px为单位的,如果需要计算的话需要根据px来进行计算。
计算范围和打印范围对不上是计算方式存在问题:模板地图框范围单位为px,在px转换成mm时,客户使用jasper软件计算px和mm的换算,jasper软件计算的时候dpi是72,iserver打印的时候dpi为96,且无法修改(和出图的时候的dpi不是同一个参数),就导致px和mm换算是结果不正确。从测试结果来看,按照客户的计算方式的话(方式不对)平面坐标系缩放比例应该都在0.75左右的样子,这个和72和96的比例也一致,iserver打印的结果是正确的。然后不同坐标系比例不一样这个问题是出在地理坐标系上,计算过程中地理坐标系度转米,米转度本身就有变形,计算过程中有误差,这个不单纯是比例缩放问题了,这个也无法避免。
...