ago 发表于 2016-11-25 09:37:56

SXEarth入门07之自定义在线地图

本帖最后由 ago 于 2016-11-25 11:32 编辑

在上一个教程中,我们讲了如何导入在线地图、影像和高程数据,在这一篇中,我们主要介绍下如何自定义导入这些数据。也就是说,我们如何打开我们一些在线地图,如何知道这些在线地图的地址,用SXEarth打开,并进行一些属性修改。
在这一讲中,我们主要讲解的是xyz插件和tms插件的使用。因为SXEarth的案例大多都使用的是xyz插件。小知识:TMS、WMS、WFS这些是OGC的web地图服务标准。OGC是Open GeospatialConsortium的缩写,该组织是一个非盈利、国际化的、自愿协商的标准化组织,这个组织的主要目的就是制定与空间信息、基于位置服务相关的标准。这里面,我们常用的WMS是地图web服务,WFS是要素web服务,TMS是切片地图服务。对他们更为详尽的解释看这里。http://blog.csdn.net/wildboy2001/article/details/7743350一、自定义xyz驱动地图我们以高德地图为例,讲解下如何自定义xyz驱动的在线地图。(一)打开自定义地图1、这次我们新建一个工程来自定义高德地图,工程→新建即可创建一个空白的工程文件。2、选择添加数据→添加图像,在弹出的窗口中,定义如下属性:图层名称:高德地图驱动:xyz显示模式:map_2d,因为地图默认在二维窗口显示路径:这是很重要的一步,路径输入正确才能保证打开的地图是正确的。http://webrd0.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}3、点击确定,就把高德地图导入啦。这里告诉大家一个小操作,在窗口菜单里可以点击三维,将三维窗口关闭,这样只显示二维窗口啦~。窗口里还有许多子菜单都可以控制软件不同窗口的关闭打开。个人觉得小地图这个功能挺实用的。

这就是我打开的高德地图了,那么怎么个自定义法呢。其实自定义在线地图,主要是自定义这个所谓的网址。我们重点介绍下。(二)重要的事情
1、方括号:路径里的方括号,代表服务器列表,可以随机从多个服务器里读取数据。服务器列表一般是01234,所以你看这个路径里是。那么你如何知道服务器列表呢,我们可以在浏览器里替换方括号里的数字,如果图片能打开,那就证明这是个服务器,添加进去就可以了。需要注意的是,在浏览器里测试的时候,真实路径是没有大括号和中括号的。2、大括号xyz:代表的是文件的层级和行列号。如果把大括号里的xyz替换成行列号和层级号,那么在这里就可以打开相应的行列号和层级号的图片。在高德地图这个例子中,x={x}&y={y}&z={z},表示的是xyz驱动会自动按需替换为用户浏览的地图位置的图片,如果设置成固定行列号,那就只能打开固定的地图了。(三)如何知道在线地图图片的路径在搜狗浏览器等浏览器打开地图时候,用浏览器自带的程序员工具,可以看到图片的路径,把路径里面的服务器和xyz数值替换成有格式的变量,然后构造xyz路径,这样SXEath就可以打开想打开的在线地图了。以高德影像为例,给大家介绍下如何知道在线地图的路径,以及xyz的变量值。1、打开网站在浏览器里搜索高德地图,打开高德地图界面。我这里选择的是卫星
2、打开开发者工具。这里有两种方法,第一个直接按快捷键F12.第二种,在浏览器菜单栏里选择开发者工具栏。我用的是搜狗浏览器。打开后结果如下。
3、寻找地图地址在右侧的开发者视图里,点击Sources选项,可以看到左侧窗口中有许多网址,点开其中一个网址,我们就可以看到有很多地址,这就是我们要找的xyz路径啦~ 比如这里选中的这个地址,在中间的影像窗口里就显示出了他的瓦片图片。在这里我们也可以看到,高德地图的服务器有4个,分别是01,02,03,04,每个服务器的文件夹里都有一样的瓦片地图。4、测试数据源在浏览器里输入http://webst02.is.autonavi.com/a ... 107225&y=50544&z=17就可以打开这张图片了。把这个地址输入到SXEarth的路径里,就可以在SXEarth里也打开这张影像了。如何测试看有几个服务器呢,我们可以看到上图webst02.is.autonavi.com这种格式的文件夹有4个,说明高德影像有4个服务器。我们可以修改webst后面的01,02,03,04数字来测试这几个服务器是否可以打开。在浏览器里输入如下地址:http://webst01.is.autonavi.com/appmaptile?style=6&x=107225&y=50544&z=17http://webst02.is.autonavi.com/appmaptile?style=6&x=107225&y=50544&z=17http://webst03.is.autonavi.com/appmaptile?style=6&x=107225&y=50544&z=17http://webst04.is.autonavi.com/appmaptile?style=6&x=107225&y=50544&z=17如果每个都可以打开,就可以在构建路径的时候把这些服务器加进去。5、在SXEarth中打开
在上一步中中,我们测试了数据是可以打开的,因此可以将其修改为xyz插件支持的路径,然后在SXearth里打开,将xyz这几个常量,设置成为变量格式,这样就可以在SXEarth里打开高德地图了。例如上面那个地址就修改为:http://webst0.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z},具体的添加步骤上面已经有介绍,这里不再赘述。(四)常用xyz驱动在线地图路径:1、高德影像:http://webst0.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}2、高德地图:http://webrd0.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}3、OpenStreetMap地图:http://.tile.openstreetmap.org/{z}/{x}/{y}.png二、自定义tms驱动地图我们以Reaymap卫星影像为例,介绍tms驱动的在线地图的自定义方式。(一)打开tms驱动地图tms驱动的地图打开方式和高德影像类似,在添加图像窗口中设置属性如下:   图层名称:Readymap影像   驱动:tms   显示模式:map_3d,因为卫星影像默认在三维窗口显示   路径:http://readymap.org/readymap/tiles/1.0.0/7/这就是打开的readmap的样子,这个视角和平时的不太一样,告诉大家一个窍门,按着鼠标滚轴上下左右拖拽,即可调整视角。
(二)常见tms驱动在线地图路径
tms也是一个插件,其路径是一个xml文件,tms也可以用xyz插件打开,就是需要自己构造xyz路径。1、谷歌地图:http://mt2.google.cn/vt/lyrs=y@258000000&hl=zh-CN&gl=CN&src=app&x=214130&y=114212&z=18&s=Ga这是tms的路径,可将其构建为xyz路径即可在SXEarth中打开,http://mt.google.cn/vt/lyrs=p&hl=zh-CN&gl=cn&&x={x}&y={y}&z={z}2、腾讯地图http://p3.map.gtimg.com/maptilesv2/18/13383/9245/214130_147931.png?version=20130701这是一个瓦片地址,但是具体如何构造小编还不是很清楚。4、opencycle地图http://.tile.opencyclemap.org/cycle/{z}/{x}/{y}.png5、Openstreet地图http://.tile.openstreetmap.org/{z}/{x}/{y}.png6、Readymap高程图http://readymap.org/readymap/tiles/1.0.0/9/在今天的教程里,我们讲了如何自定义配置在线xyz驱动和tms驱动的地图,SXEarth也提供了大概20多种在线数据以供大家打开,看完今天的介绍,如果你想要打开一些别的地图,按照我们的方法,也是完全可以的,当然也可以读取自定义的web地图服务器的数据。QQ群:209307852公众号:晟兴地球SXEarth,扫码即可关注官方网站:http://www.sxsim.com
页: [1]
查看完整版本: SXEarth入门07之自定义在线地图