您好,这个值是您要查询的点的屏幕像素坐标,通常是鼠标点击后转出来的。
在wms1.3.0标准下,对于这个i和j的参数,不是去独立考虑它的,我用下面这个请求大致说明,您理解后应该会有计算思路。
http://localhost:8090/iserver/services/map-world/wms130/世界地图_Day?VERSION=1.3.0&REQUEST=GetFeatureInfo&LAYERS=0.8,0.11,0.3&STYLES=&CRS=CRS:84&BBOX=-180,-90,180,90&WIDTH=800&HEIGHT=400&FORMAT=image/png&QUERY_LAYERS=0.11&INFO_FORMAT=text/xml&I=650&J=150。
查询坐标的关键参数:BBOX、WIDTH、HEIGHT、I、J
定位关系:
选取这份服务中BBOX区域的数据(矩形)
将这份数据存放在一张宽度是WIDTH个像素,高度是HEIGHT个像素的图片中(WIDTH*HEIGHT)
以这张图片的左上角为0,0像素,查询I,J像素点上的几何要素(即左上原点)
这样建立的一套完整地理坐标到像素的映射关系。
比如
BBOX为:40,50 , 50,60
即为东经40°到50°,北纬50°到60°的,10°*10°的矩形区域。
WIDTH为:100;HEIGH为:100
即为一张100像素*100像素的正方形图片
对于经纬度地理坐标系,北纬东经区域,经纬度原点在左下角,即左下角是0,0
对于WMS1.3.0 GetFeatureInfo请求时,图片左上角为原点
因此可以得到,
图片左上角像素坐标0,0;右上角像素坐标100,0;左下角像素坐标100,0;右下角像素坐标100,100
地理区域左上角40,60,;右上角50,60;左下角40,50;右下角50,50
以这种对照映射关系,i,j为0,0即查询东经40°北纬60°点上的要素;i,j为100,100即查询东经50°北纬50°点上的要素,
其它点位都是等比映射.....
i,j的映射定位的查询逻辑您应该已经了解,BBOX和WIDTH、HEIGHT都不是硬性固定死的值,具体如何设置要看您的使用方式、参数获取与计算便利程度、代码逻辑习惯来设计。
不过需要注意BBOX的单位是经纬度,WIDTH、HEIGHT的单位是像素,因此这两者之间的比例不建议过小,否则会影响查询精度。
比如当比例是1:1时,10°*10°的地理区域对应10像素*10像素的图片,一个像素点则会代表1°*1°(约111km*111km)的地理区域,因此设计过程中注意比例不要过小否则精度很低。
这个逻辑稍微还是有一点点复杂的,理解过程中有困难的话您可以画画图辅助理解。
希望可以帮助到您。