如何将数据发布为wmts服务 服务

SuperMap&iClient如何使用WMTS地图服务
什么是WMTS服务
WMTS,切片地图Web服务(Web Map Tile Service)当前版本是1.0.0。该服务符合 OGC(Open
Geospatial Consortium,开放地理信息联盟)制定的 WMTS 实现规范。
WMTS 是 OGC
提出的缓存技术标准,即在服务器端缓存被切割成一定大小瓦片的地图,对客户端只提供这些预先定义好的单个瓦片的服务,将更多的数据处理操作如图层叠加等放在客户端,从而缓解
GIS 服务器端数据处理的压力,改善用户体验。
如何使用WMTS地图服务
  本文将对iServer的WMTS服务, 天地图的WMTS服务, ArcGIS的WMTS服务进行剖析
1.针对iServer发布的WMTS服务
  针对iServer Java 6R发布的WMTS,我们在使用iClinet对接时,需要注意以下几个参数,这里我用iClinet
for JavaScript代码作为示范:
layer = new SuperMap.Layer.WMTS({name: "World",
&&&&&&&&&&url:&0&&
//WMTS服务地址
layer: "World",& //图层名称
style: "default", &//图层样式
matrixSet: "GlobalCRS84Scale_World",
&//发布的标识符矩阵集
format: "image/png", //图像的MIME类型,默认为 "image/png"
resolutions:resolutions, //地图分辨率
opacity: 1,
&&&&requestEncoding:"KVP"});
//请求编码 ,一般默认都是KVP
&综合上面红色字体的部分,我们可以得出,如果是iServer发布的地图,除地图url外,我们需要获取以上5个属性,那么究竟如何获取这5个属性呢? 
&获取方法:
  1. 首先,启动iServer6R
  2. 其次浏览器中输入:&&然后回车
  3. 搜索Contents节点,我们可以获取所需4个属性
-180.0 -90.0
180.0 90.0
-2..9236E7
Custom_World
GlobalCRS84Scale_World
GoogleMapsCompatible_World
resourceType="tile"
template="http://localhost:8090/iserver/services/map-world/wmts100/
World/default/Custom_World/{TileMatrix}/{TileRow}/{TileCol}.png"/&
resourceType="tile"
template="http://localhost:8090/iserver/services/map-world/wmts100/
World/default/GlobalCRS84Scale_World/{TileMatrix}/{TileRow}/{TileCol}.png"/&
resourceType="tile"
template="http://localhost:8090/iserver/services/map-world/wmts100/
\World/default/GoogleMapsCompatible_World/{TileMatrix}/{TileRow}/{TileCol}.png"/&
从高亮的部分,可以得出以下对应情况
WMTS服务参数
iClinet for
JavaScript代码
GlobalCRS84Scale_World
matrixSet:
"GlobalCRS84Scale_World"
format="image/png"
"image/png"
4.&最后在根据自己地图,计算当前图层的分辨率数组信息.如本范例分辨率数组是:
&var resolutions =
[1.33,0.665,0.466,
&&&&&&&&&&&&&&&
0.733,0.6,
&&&&&&&&&&&&&&&
0.65,0.53466,
&&&&&&&&&&&&&&&
0.665,0.553466,
&&&&&&&&&&&&&&&
0...9553466,
&&&&&&&&&&&&&&&
0.9776733,
&&&&&&&&&&&&&&&
&最终效果图:
    <img src="/blog7style/images/common/sg_trans.gif" real_src ="/blog/308/4e977ea8f13ebb2cf.png" ALT="" WIDTH="935" HEIGHT="462" STYLE="margin: 0 padding: 0 width: 919"
TITLE="SuperMap&iClient如何使用WMTS地图服务" />&
2.针对天地图官网发布的WMTS服务
  针对天地图官网发布的WMTS服务,我们在使用iClinet对接时,需要注意以下几个参数,这里我用iClinet for
JavaScript代码作为示范:
  1. 天地图官网公布的WMTS服务地址,请查看
    <img src="/blog7style/images/common/sg_trans.gif" real_src ="/blog/308/-bd40aef87a0.png" ALT="" STYLE="margin: 0 padding: 0"
TITLE="SuperMap&iClient如何使用WMTS地图服务" />&
  2. 我选取为服务地址,
搜索Contents节点,获取4个重要信息:
-180.0 -90.0
180.0 90.0
-180.0 -90.0
180.0 90.0
urn:ogc:def:crs:EPSG::4490
从高亮的部分,可以得出以下对应情况
天地图官网WMTS服务参数
iClinet for
JavaScript代码
matrixSet:
&由于此天地图官网提供的WMTS服务,为全球经纬度范围(东西经±180度,南北纬±90度),则不需要设置原点和全副范围.
  那么在iClinet for JavaScript代码中可以这样写:
layer = new SuperMap.Layer.WMTS({name: "vec",
&&&&&&&url:
"/vec_c/wmts",
&&&&&&&&&&&&&&&
layer: "vec",
&&&&&&&&&&&&&&&
style: "default",
&&&&&&&&&&&&&&&
matrixSet: "c",
&&&&&&&&&&&&&&&
format: "tiles",
&&&&&&&&&&&&&&&
opacity: 1,
&&&&&&&&&&&&&&&
requestEncoding:"KVP"});
  最终效果图:
      <img src="/blog7style/images/common/sg_trans.gif" real_src ="/blog/308/db4b6d96dd8.png" ALT="" WIDTH="914" HEIGHT="453" STYLE="margin: 0 padding: 0"
TITLE="SuperMap&iClient如何使用WMTS地图服务" />
  &当然如果再叠加一幅中文标记wmts地图(该步骤同上述步骤相似,请开发人员自己尝试),最终效果:
        <img src="/blog7style/images/common/sg_trans.gif" real_src ="/blog/308/-fdbe1d3245.png" ALT="" WIDTH="937" HEIGHT="461" STYLE="margin: 0 padding: 0 width: 919"
TITLE="SuperMap&iClient如何使用WMTS地图服务" />&&
3.针对ArcGIS发布的WMTS服务
  针对ArcGIS发布的WMTS,我们在使用iClinet对接时,需要注意以下几个参数,这里我用iClinet for
JavaScript代码作为示范:
     1.&使用ArcGIS发布地图服务,切缓存 (此步骤略) 出图正常
     <img src="/blog7style/images/common/sg_trans.gif" real_src ="/blog/308/b49c3d2c5fce42aac9.png" ALT="" WIDTH="935" HEIGHT="367" STYLE="margin: 0 padding: 0 width: 919"
TITLE="SuperMap&iClient如何使用WMTS地图服务" />
    2. 得到ArcGIS的WMTS服务地址, ()搜索Contents节点,获取6个重要信息:&
73.22 3.8635
134.62 53.125
Default Style
default028mm
nativeTileMatrixSet
format="image/png"
resourceType="tile"
template="http://localhost:6080/arcgis/rest/services/china/MapServer/WMTS
/tile/1.0.0/china/{Style}/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png"/&
以及矩阵原点属性
  从高亮的部分,可以得出以下对应情况
WMTS服务参数
iClinet for
JavaScript代码
default028mm
matrixSet:
"default028mm"
"image/png"
73.22 3.8635
134.62 53.125
tileFullExtent: new SuperMap.Bounds(
-400.0 400.0
tileOrigin:new SuperMap.LonLat(-400,400)
  3. 获取ArcGIS所切图层的分辨率,访问地图rest服务(&)我们可以获取resolutions
          <img src="/blog7style/images/common/sg_trans.gif" real_src ="/blog/308/2f50dd.png" ALT="" STYLE="margin: 0 padding: 0"
TITLE="SuperMap&iClient如何使用WMTS地图服务" />    
  那么在iClinet for JavaScript中完整代码可以这样写
resolutions =
[0.84,0.46,0.34473];
maxExtent = new
SuperMap.Bounds(73.22,3.,53.125);
//全副范围
layer = new
SuperMap.Layer.WMTS({name: "china",
"http://localhost:6080/arcgis/rest/services/china/MapServer/wmts"
&& &layer:
&&& style:
"default",
&&& matrixSet:
"default028mm",
& & format: "image/png",
resolutions:resolutions,
& & opacity: 1,
&tileFullExtent:maxExtent,&&&&
//瓦片设置的最大范围
tileOrigin:new
SuperMap.LonLat(-400,400),&&
//瓦片矩阵左上角
requestEncoding:"KVP"
& 最终效果图:
        <img src="/blog7style/images/common/sg_trans.gif" real_src ="/blog/308/f65bfdc3fe6071a84aa.png" ALT="" WIDTH="904" HEIGHT="445" STYLE="margin: 0 padding: 0"
TITLE="SuperMap&iClient如何使用WMTS地图服务" />
    注意:在对接ArcGIS
wmts服务时:
      1. 需要设置瓦片设置的最大范围(全副范围)
      2. 需要设置瓦片矩阵左上角 (如果不出图,有时候需要根据请求瓦片行列号,微调这个值)
      3. 需要设置分辨率
&    (转贴请注明出处:&&&
如发现有错,请留言 谢谢)
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。WMS数据库服务系统操作说明_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
WMS数据库服务系统操作说明
上传于||暂无简介
阅读已结束,如果下载本文需要使用0下载券
想免费下载更多文档?
定制HR最喜欢的简历
下载文档到电脑,查找使用更方便
还剩5页未读,继续阅读
定制HR最喜欢的简历
你可能喜欢1015人阅读
二维(23)
WMTS,切片地图Web服务(OpenGIS Web Map Tile Service)当前版本是1.0.0。WMTS标准定义了一些操作,这些操作允许用户访问切片地图。WMTS可能是OGC首个支持RESTful访问的服务标准。
WMTS提供了一种采用预定义图块方法发布数字地图服务的标准化解决方案。WMTS弥补了WMS不能提供分块地图的不足。WMTS牺牲了提供定制地图的灵活性,代之以通过提供静态数据(基础地图)来增强伸缩性,这些静态数据的范围框和比例尺被限定在各个图块内。这些固定的图块集使得对WMTS服务的实现可以使用一个仅简单返回已有文件的Web服务器即可,同时使得可以利用一些标准的诸如分布式缓存的网络机制实现伸缩性。
WMTS的切片坐标系统和其组织方式可参考下图:
WMTS接口支持的三类资源如下表所示:
GetCapabilities
获取服务的元信息
GetFeatureInfo
获取点选的要素信息
三类资源的具体含义如下:
a.一个服务元数据(ServiceMetadata)资源(面向过程架构风格下对GetCapabilities操作的响应)(服务器方必须实现)。ServiceMetadata资源描述指定服务器实现的能力和包含的信息。在面向过程的架构风格中该操作也支持客户端与服务器间的标准版本协商。
b.图块资源(对面向过程架构风格下GetTile操作的响应)(服务器方必须实现)。图块资源表示一个图层的地图表达结果的一小块。
c.要素信息(FeatureInfo)资源(对面向过程架构风格下GetFeatureInfo操作的响应)(服务器方可选择实现)。该资源提供了图块地图中某一特定像素位置处地物要素的信息,与WMS中GetFeatureInfo操作的行为相似,以文本形式通过提供比如专题属性名称及其取值的方式返回相关信息。
iServer中WMTS服务
iServer 提供支持 WMTS 1.0.0标准的服务,同时提供了一个兼容《地理信息公共服务平台 电子地图数据规范》中地图分级标准的“wmts-china”接口实例,可用于对接天地图等国内地图服务。二者本质上一致,”wmts-china”接口实例区别在于定义了天地图的比例尺集。
如下为iServer发布的wmts中对Layer的描述,主要包括如下内容:地图名、地图范围、缓存图片格式、比例尺集合、获取图片的url地址模板,具体可参考如下范例:
crs="urn:ogc:def:crs:EPSG::3857"&
&-2..914E7&
&2..9095E7&
isDefault="true"&
&:Identifier&&/:Identifier&
&image/png&
&application/xml&
&Custom_China&
format="image/png" resourceType="tile" template="http://localhost:8090/iserver/services/testwmts-comp/testwmts/China/default/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}.png"/&
format="application/xml" resourceType="FeatureInfo" template="http://localhost:8090/iserver/services/testwmts-comp/testwmts/China/default/{TileMatrixSet}/{TileMatrix}/{TileRow}/{TileCol}/{J}/{I}.xml"/&
3.1. 桌面无法打开数据源
a . 服务能力文档解析不了
文档不符上述规范,无法解析,请先对比【内容解析】章节,再通过图片地址在网页中查找是否有图。最后,可与研发同事一起查看解析失败原因。
b.服务地址中X与Y坐标值写反
对于每一个比例尺,即每一个TileMatrix,其内都包含一项左上角点坐标属性,名称为TopLeftCorner,一般情况下,Y坐标值在前,X坐标值在后,如&TopLeftCorner&90 -180&/TopLeftCorner&。
部分服务,有可能出现,X坐标值在前,Y坐标值在后,如&TopLeftCorner&-180 90&/TopLeftCorner&,针对此类情况,在桌面打开时,需要添加一定参数,如下例所示:http://www./tileservice/SDPubMap?TOPLEFTCORNEREXCHANGE=0&DPI=96
服务中起算点错误
BoundingBox中坐标是先写x坐标后写y坐标,但部分服务可能是先写y坐标后写x坐标,针对这种情况,在组件的SuperMap.xml中如下内容即可:& IsTopLeftCornerExchange &True&/ IsTopLeftCornerExchange &
图片格式错误
服务中发布的图片是jpg或其他非png格式,如果桌面没图,可手动将桌面Cache目录下此服务sci中图片格式项手动改成实际图片格式;
服务中地图dpi非96,可将桌面Cache目录下此服务sci中dpi修改为地图dpi即可,对应的项是&sml:CoordRatio&。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:63806次
积分:2027
积分:2027
排名:第14475名
原创:114篇
评论:23条
(6)(4)(32)(7)(4)(5)(6)(5)(6)(2)(13)(9)(5)(3)(10)

我要回帖

更多关于 天地图wmts服务地址 的文章

 

随机推荐