查看: 1332|回复: 0

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

[复制链接]

该用户从未签到

发表于 2016-11-25 09:37:56 | 显示全部楼层 |阅读模式
本帖最后由 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[1234].is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}

高德地图-1.jpg

3、点击确定,就把高德地图导入啦。这里告诉大家一个小操作,在窗口菜单里可以点击三维,将三维窗口关闭,这样只显示二维窗口啦~。窗口里还有许多子菜单都可以控制软件不同窗口的关闭打开。个人觉得小地图这个功能挺实用的。

窗口.png
这就是我打开的高德地图了,那么怎么个自定义法呢。其实自定义在线地图,主要是自定义这个所谓的网址。我们重点介绍下。

高德地图.jpg

(二)重要的事情

1、方括号[1234]:

路径里的方括号,代表服务器列表,可以随机从多个服务器里读取数据。服务器列表一般是01234,所以你看这个路径里是[1234]。

那么你如何知道服务器列表呢,我们可以在浏览器里替换方括号里的数字,如果图片能打开,那就证明这是个服务器,添加进去就可以了。

需要注意的是,在浏览器里测试的时候,真实路径是没有大括号和中括号的。

2、大括号xyz:

代表的是文件的层级和行列号。如果把大括号里的xyz替换成行列号和层级号,那么在这里就可以打开相应的行列号和层级号的图片。

在高德地图这个例子中,x={x}&y={y}&z={z},表示的是xyz驱动会自动按需替换为用户浏览的地图位置的图片,如果设置成固定行列号,那就只能打开固定的地图了。

(三)如何知道在线地图图片的路径

在搜狗浏览器等浏览器打开地图时候,用浏览器自带的程序员工具,可以看到图片的路径,把路径里面的服务器和xyz数值替换成有格式的变量,然后构造xyz路径,这样SXEath就可以打开想打开的在线地图了。

以高德影像为例,给大家介绍下如何知道在线地图的路径,以及xyz的变量值。

1、打开网站在浏览器里搜索高德地图,打开高德地图界面。我这里选择的是卫星
640.webp.jpg
2、打开开发者工具。

这里有两种方法,第一个直接按快捷键F12.第二种,在浏览器菜单栏里选择开发者工具栏。我用的是搜狗浏览器。打开后结果如下。

开发者工具.webp.jpg
3、寻找地图地址

在右侧的开发者视图里,点击Sources选项,可以看到左侧窗口中有许多网址,点开其中一个网址,我们就可以看到有很多地址,这就是我们要找的xyz路径啦~ 比如这里选中的这个地址,在中间的影像窗口里就显示出了他的瓦片图片。

查找地图地址.webp.jpg

在这里我们也可以看到,高德地图的服务器有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=17

http://webst02.is.autonavi.com/appmaptile?style=6&x=107225&y=50544&z=17

http://webst03.is.autonavi.com/appmaptile?style=6&x=107225&y=50544&z=17

http://webst04.is.autonavi.com/appmaptile?style=6&x=107225&y=50544&z=17

如果每个都可以打开,就可以在构建路径的时候把这些服务器加进去。

5、在SXEarth中打开

在上一步中中,我们测试了数据是可以打开的,因此可以将其修改为xyz插件支持的路径,然后在SXearth里打开,将xyz这几个常量,设置成为变量格式,这样就可以在SXEarth里打开高德地图了。

例如上面那个地址就修改为:

http://webst0[1234].is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z},具体的添加步骤上面已经有介绍,这里不再赘述。

(四)常用xyz驱动在线地图路径:

1、高德影像:http://webst0[1234].is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}

2、高德地图:http://webrd0[1234].is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=7&x={x}&y={y}&z={z}

3、OpenStreetMap地图:http://[abc].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的样子,这个视角和平时的不太一样,告诉大家一个窍门,按着鼠标滚轴上下左右拖拽,即可调整视角。

地图显示.webp.jpg
(二)常见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[0123].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://[abc].tile.opencyclemap.org/cycle/{z}/{x}/{y}.png

5、Openstreet地图

http://[abc].tile.openstreetmap.org/{z}/{x}/{y}.png

6、Readymap高程图

http://readymap.org/readymap/tiles/1.0.0/9/

在今天的教程里,我们讲了如何自定义配置在线xyz驱动和tms驱动的地图,SXEarth也提供了大概20多种在线数据以供大家打开,看完今天的介绍,如果你想要打开一些别的地图,按照我们的方法,也是完全可以的,当然也可以读取自定义的web地图服务器的数据。

sxearth二维码.png

QQ群:209307852

公众号:晟兴地球SXEarth,扫码即可关注

官方网站:http://www.sxsim.com

您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表