web看图标记接口文档.docx
《web看图标记接口文档.docx》由会员分享,可在线阅读,更多相关《web看图标记接口文档.docx(10页珍藏版)》请在冰豆网上搜索。
web看图标记接口文档
WEB看图接口文档
说明
1服务器会默认在客户端缓存7天的数据,加载过一次的切片在七天内不需要重新加载。
2看图服务目前只支持get请求,不支持post请求方式。
3目前对所有用户开放,不设置任何token验证。
请求时序图
文件头headInfo:
68字节
索引部分大小:
每个索引14字节共14*20280个字节
头部+索引部分为348字节
准备优化目标
1.在第一次请求348字节文件头以后存入服务器本地,下次再有请求并且客户端没有缓存的情况下直接从本地获取不再发起请求。
2.部署服务器到CentOS6.564位机器
3.后台服务器使用uwsgi+nginx1.6结构
优化后目前控制在300ms内的请求,效果还可以。
GetFiles获取文件列表
接口地址(URL)
Ip:
port/GetFiles/?
caseNo=dmetrix_src
提交方式
GET
参数名称
是否必须
描述
样例
caseNo
是
相对路径
dmetrix_src
返回字段说明
Data里面是所有dmetrix文件名
请求示例
Ip:
port/GetFiles/?
caseNo=dmetrix_src
返回示例
{
"resultCode":
"0",
"resultMsg":
"",
"Data":
["dmetrix_src/14.dmetrix","dmetrix_src/15.dmetrix",
"dmetrix_src/16.dmetrix",
"dmetrix_src/17.dmetrix",
"dmetrix_src/18.dmetrix",
"dmetrix_src/19.dmetrix",
"dmetrix_src/20.dmetrix"],
"Result":
1
}
GetImage获取指定文件、层、行、列256*256的图片流
参数
fileName:
文件相对路径,跟配置里面的路径前缀组合,可以得到一个绝对路径,定位一个dmetrix文件
layer:
层级
line:
列
row:
行
接口地址(URL)
Ip:
port/GetImagehttp:
//127.0.0.1/GetImage/?
fileName=2014-12-01-0936-20X.dmetrix
提交方式
GET
参数名称
是否必须
描述
样例
fileName
是
如果传入文件名称则从本地服务器寻找;如果是一个URI,则去指定URI路径查找
2014-12-01-0936-20X.dmetrix
或
http:
//112.124.29.121/mapServer/MetrixFile/14
(注:
后缀.dmetrix可有可无系统自动会判断)
layer
是
层级
13
line
是
行
4
row
是
列
19
encry
否
是否加密如果不带这个参数则表示不加密;
如果带上这个参数并不为空(后面跟任何值)则表示图片为加密;
本来可以根据文件头里面一个标志位判断是否加密,但目前业务逻辑还没有严格按照这套逻辑来,目前只能认为判断
返回字段说明
如果正常获取则返回,图片字节流,Content_Type=image/jpeg浏览器解析;
如果获取失败,则返回本地正在加载的gif图片Content_Type=image/gif
请求示例
本地图片资源:
/GetImage/?
fileName=2015-01-26-1322-7.dmetrix&layer=13&line=7&row=10
远程图片资源:
/GetImage/?
fileName=http:
//112.124.29.121/mapServer/MetrixFile/14&layer=13&line=7&row=10
返回示例
GetImageObj获取图像的基本信息
参数
path:
文件相对路径,跟配置里面的路径前缀组合,可以得到一个绝对路径,定位一个dmetrix文件
接口地址(URL)
Ip:
port/GetImageObj
提交方式
POST/GET
参数名称
是否必须
描述
样例
fileName
是
文件名称
src/2014-12-01-0936-20X.dmetrix
返回字段说明
ImageName:
资源文件的相对路径
MaxLayer:
最大的有效层级
MinLayer:
最小的有效层级(解压出来的图片会有小于256*256的,要找到第一个有256*256图像的文件夹)
ThumbImage:
缩略图URL
LabelImage:
标签图URL
maxHeight:
最大的高度(header里面有)
maxWidth:
最大的宽度(header里面有)
maxZoom:
能够放大到的最大倍率(maxZoom=(int)(Math.Round(10/headInfo.XLengthProp)))
请求示例
/GetImageObj/?
fileName=dmetrix_src/14
返回示例
{
"resultMsg":
"",
"ThumbImage":
false,
"maxWidth":
9232,
"MaxLayer":
14,
"LabelImage":
"",
"maxHeight":
7696,
"ImageName":
"dmetrix_src/14.dmetrix",
"maxZoom":
18.0,
"resultCode":
"0",
"MinLayer":
9
}
看图标记操作接口
ListLabel
最多一次100条
接口地址(URL)
Ip:
port/label/ListLabel/
提交方式
POST/GET
参数名称
是否必须
描述
样例
path
是
projectId
是
createUser
是
返回字段说明
Get请求:
LabelId
LabelText
ProjectId
CreateUser
LabelName
path
LabelContent
请求示例
/GetImageObj/?
fileName=dmetrix_src/14
返回示例
{
"resultCode":
"0",
"resultMsg":
"",
"data":
[
{
"LabelId":
34,
"LabelText":
"dsaf",
"ProjectId":
1,
"CreateUser":
"admin",
"LabelName":
"圆形",
"path":
"
"LabelContent":
"{\"id\":
\"sprite07808132516220212\",\"type\":
\"circle\",\"color\":
\"red\",\"data\":
[0.5821399259410468,0.1329640289011235,0.10750573682465252,0.02389016373881167,0.9]}"
}
]
}
AddLabel
接口地址(URL)
Ip:
port/label/AddLabel/
提交方式
POST/GET
参数名称
是否必须
描述
样例
Path
是
LabelName
是
LabelText
LabelContent
CreateUser
ProjectId
是
返回字段说明
成功返回data:
LabelId
请求示例
返回示例
DeleteLabel
物理删除
接口地址(URL)
Ip:
port/label/DeleteLabel/
提交方式
POST/GET
参数名称
是否必须
描述
样例
labelId
是
返回字段说明
成功返回1
请求示例
返回示例
UpdateLabel
接口地址(URL)
Ip:
port/label/UpdateLabel/
提交方式
POST/GET
参数名称
是否必须
描述
样例
LabelId
是
LabelName
LabelText
LabelContent
返回字段说明
成功返回1
请求示例
返回示例
UpdateLabelContent
接口地址(URL)
Ip:
port/label/UpdateLabelContent/
提交方式
POST/GET
参数名称
是否必须
描述
样例
LabelId
是
LabelContent
返回字段说明
成功返回1
请求示例
返回示例