GIS-地图瓦片 学习总结

使用GIS瓦片地图

开发工具与关键技术:Visual Studio 2015、SQL Server 2014 Management Studio、SuperMap iDesktop 9D、C#、JavaScript
作者:饶芝华
撰写时间:2019-01-16

首先,在GIS地理信息系统中地图当然是不可或缺的一部分,这里我使用的是superMap的软件,所以学到这里我发现地图瓦片是一种非常好用的东西。刚开始一直在用自己做好的地图,也就是从iDesktop 9D(超图的软件)刚出炉就直接发布的地图,兴致冲冲的发布完了服务就去基于它来做相关的功能。后来才发现在 iServer 里面还有多式多样的服务啊,总之用了地图瓦片之后,觉得我们页面加载地图的时候呢就比较流畅了。那么大家请看下面:

大体的实现步骤:

1、登陆 superMap iServer 找到 集群模块中的分布式切图并创建切图任务。选择自己想要的服务组件,一般地图服务组件选择自己发布的地图服务,切片类型因为ugcv5类型的瓦片是存储于本地磁盘目录就选它了,其它的切片类型需要比较复杂的操作。比例尺等等就自己按需设置了,地图被切完后会产生一个.sci配置文件(在…/webapps/iserver/output/cache 下面。

GIS-地图瓦片 学习总结_第1张图片
2、找到切图之后的这些文件。这张地图被完整的切完后产生的切片格式是栅格格式的图片,也仅仅是图片。
在这里插入图片描述
那两个文件夹里面装的就是大大小小不同的图片,等瓦片服务发布后,在页面呈现的时候它们就统统按比例尺显示出来,也就是相比切图之前的原始发布的地图在页面显示时要流畅很多,因为它们就是图片!

3、发布地图瓦片服务。看完API文档后发现其实有两种方式可以发布。第一种是直接在iServer 里面发布ugcv5瓦片服务

GIS-地图瓦片 学习总结_第2张图片

然后下一步远程浏览找到切图时产生的那个.sci配置文件(一般默认路径不变,和切片文件在一起)

GIS-地图瓦片 学习总结_第3张图片
接下来的操作就像发布普通地图一样简单了。发布完了之后地图服务里面就会多了一个地图瓦片服务。

第二种是直接通过修改.XML文件手动配置服务,因为发布服务本身就是在.XML里面添加一段代码。先找到…/webapps/iserver/WEB-INF/iserver-services.xml 这个文件,然后找到对应的代码位置。比如服务提供者和服务组件两个位置的代码,我们万一不知道在具体哪个节点下添加哪些代码可以先打开文件,一边浏览代码,一边用IServer发布服务多对比几次就可以发现它添加了哪些代码而后可以结合API文档再细看也是比较有趣的。通常我才不手动配置呢,除非服务中哪里出了问题才会去看.XML配置。如图:
GIS-地图瓦片 学习总结_第4张图片

4、发布瓦片地图后,就可以直接复制它的服务链接到项目中去应用了。提示:ugcv5瓦片地图只是可以用来浏览的,并不具备实际的量算、分析等有关空间数据的操作。

按照上面的方式将地图发不出去显然是不能满足地理信息系统的基本需求,包括距离量算、最佳路径分析等这些功能都离不开地图中的空间数据。所以后来通过文档发现可以给出多个服务链接来实现这些与数据相关的测绘功能,其中我们原始发布出来的地图就可以只作为数据服务,而显示这一块就交给地图瓦片了。这样将两者巧妙结合起来就可以一定程度上优化实际应用中的地图显示效果。
是不是觉得这样还不够完美?没错,最近在SuperMap iServer 中的例子发现一个叫做属性瓦片的东西。它可以毫不犹豫地将上面提到的原始地图替换掉,从而乖乖的和地图瓦片结合使用。属性瓦片,将地图中矢量图层的属性数据以 UTFGrid 格式存储于SQLite这个数据库中,由于目前我刚学习到这里,所以这个属性瓦片还有待学习与研究!

你可能感兴趣的:(GIS)