zoukankan      html  css  js  c++  java
  • LocaSpaceViewer深度讲解(一)瓦片服务与数据下载

    1.概述

    LocaSpaceViewer有着成千上万的用户,是GIS领域饱受好评的一款绿色免费软件。也有很多功能只有少数GIS资深用户理解并且会用。本文以示例的方式来介绍瓦片服务和LocaSpaceViewer的数据下载。


    2.瓦片服务

    国内有很多地图厂商,都提供地图服务,常见的包括国家测绘局旗下的天地图提供全球14级地图服务,全国16-19基本地图服务,以及大家经常用的百度地图、高德地图、搜狗地图等等。 
    这些服务是怎么来的,我们又是怎么用的? 
    这里先来了解一下地图服务的类型。

    2.1 瓦片服务的类型

    [ 参考地址 :http://www.myexception.cn/cgi/1753870.html]

    1.WMTS(Web Map Tile Service)

    WMTS提供了一种采用预定义图块方法发布数字地图服务的标准化解决方案。WMTS弥补了WMS不能提供分块地图的不足。WMS针对提供可定制地图的服务,是一个动态数据或用户定制地图(需结合SLD标准)的理想解决办法。WMTS牺牲了提供定制地图的灵活性,代之以通过提供静态数据(基础地图)来增强伸缩性,这些静态数据的范围框和比例尺被限定在各个图块内。这些固定的图块集使得对WMTS服务的实现可以使用一个仅简单返回已有文件的Web服务器即可,同时使得可以利用一些标准的诸如分布式缓存的网络机制实现伸缩性。

    2.WMS(Web Map Service)

    能够根据用户的请求返回相应的地图(包括PNG,GIF,JPEG等栅格形式或者是SVG和WEB CGM等矢量形式)。WMS支持网络协议HTTP,所支持的操作是由URL定义的.

    3.WMS(Web Feature Service)

    支持对地理要素的插入,更新,删除,检索和发现服务。该服务根据HTTP客户请求返回GML(Geography Markup Language、地理标识语言)数据。 WFS对应于常见桌面程序中的条件查询功能,WFS通过OGC Filter构造查询条件,支持基于空间几何关系的查询,基于属性域的查询,当然还包括基于空间关系和属性域的共同查询。

    4.WCS(Web Coverage Service)

    网络覆盖服务是面向空间影像数据,它将包含地理位置的地理空间数据作为“覆盖(COverage)”在网上相互交换,如卫星影像、数字高程数据等栅格数据

    2.2 以天地图为例介绍WMTS

    天地图的地图服务包括球面墨卡托投影和经纬度投影两种方式,墨卡托是正方形比较简单,经纬度是长方形,这里以经纬度投影为例进行介绍。放一张截图如下: 
    天地图网站,经纬度投影,F12隐藏了遮罩,选中了一张瓦片的效果

    这是天地图网站,经纬度投影,F12隐藏了遮罩,选中了一张瓦片的效果,我们可以看到这个瓦片的地址是: 
    http://t6.tianditu.cn/img_c/wmts?service=wmts&request=GetTile&version=1.0.0&LAYER=img&tileMatrixSet=c&TileMatrix=2&TileRow=0&TileCol=1&style=default&format=tiles
    路径里面的几个参数含义如下: 
    img_c,img是卫星影像,’_c’是指经纬度投影,TileMatrix指的是瓦片的级别,TileRow指行号,TileCol指列号。这张瓦片的行列号是row是0,col是1,下面把地图缩放到最小,把所有的行列号全部标在地图上如下图:

    地图瓦片 
    总结规则如下,从地图左上角开始,划分行号,从上到下依次增加,起始行号从0开始,列号从左到右依次增加,起始列号从0开始。 
    地图每增高一级,瓦片就四叉树方法切分,一张变四张。如果不明白就用画图或者PS把这些瓦片挨个拼起来吧,拼的过程理解是最透彻的,不知道规则也很难拼起来。 
    说明:不同的地图瓦片切分起始点不一定是左上角,相反很多地图厂商会从左下角,目前从右侧作为起点切分的比较少见。 
    对此,很多朋友不知道瓦片是如何和经纬度对应起来的,地图任意拖拽的时候怎么知道需要显示哪个瓦片。这里也做一下说明。瓦片行列号的计算,首先需要确定地图级别,二维地图比较简单,每次放大或者缩小地图级别相应的增加或者减少,对于三维地图,渲染窗口同时显示的地图级别不一样,这是根据视点(人眼的位置)到目标点的距离,换算级别,这个时候是有一个对应关系的,并且是一个范围,比如3000万米以上显示地图的0级,3000万到2000万显示地图1级,2000万到1000万显示地图2级,此处数字只是示例,不是真实数字。 
    知道了瓦片级别,加入需要计算当前的位置对应的瓦片行列号,比如首都(116.39,39.90)在第二级的行列号,为列号=【取整(116.39+180)/(360/(2的级别次方))】=3 
    行号=【2的(级别-1)次方-取整(39.90+90)/(180/(2的级别次方))】=0 
    行号的计算如果是从左下角开始,计算方法就是【取整(39.90+90)/(180/(2的级别次方))】。 
    了解了这个之后看一下LocaSpaceViewer数据下载。

    3.LocaSpaceViewer 数据下载

    LocaSpaceViewer数据下载基本流程,选中或者绘制一个面作为下载范围,然后下载所选级别对应数据范围的地图。 
    LocaSpaceViewer下载流程
    在菜单里面点击影像下载后弹出如下图所示的对话框,默认是绘制模式,可以点击对话框里的【选择面】、【绘制多边形】、【绘制矩形】来选择或者绘制一个范围。 
    下载类型:LocaSpaceViewer提供谷歌影像和天地图影像的数据下载,同时也支持叠加注记下载,叠加模式选择,影像和注记会以叠加的方式下载下来。 
    如果需要导出成大图可以勾选自动导出复选框,下载完成后打开目录如下:

    4.LocaSpaceViewer——LRC文件介绍

    5.LocaSpaceViewer——LRP文件介绍

    对LocaSpaceViewer最好的理解方法就是,lpr就是一堆瓦片的压缩包。所以通过LocaSpaceViewer的文件格式转换后,lrp格式可以脱离tif文件独立使用。 
    科普:LocaSpaceViewer的Lrp格式是致力于解决影像数据直接加载的瓶颈而出现的一种影像数据存储调度方法及装置,其优势在于专门针对tif、tiff、img等格式的影像数据进行数据存储及调度的优化,构建了专门的索引,数据的加载显示更快。Lrp不仅仅是实现对原始数据构建用于预览的金字塔,而是一种新的数据存储格式,针对原始tif、tiff、img等数据生成lrp数据后,lrp可以脱离原始数据直接使用。

  • 相关阅读:
    Xcode 配置常用变量(SRCROOT, PROJECT_DIR, PROJECT_NAME)
    Git submodule实战
    Charles抓Https的包
    Vue-Quill-Editor 富文本编辑器的使用
    vue计算属性无法监听到数组内部变化
    移动端键盘弹起导致底部按钮上浮解决方案
    js中数组删除 splice和delete的区别,以及delete的使用
    js实现复制input的value到剪切板
    treetable
    vue中状态管理vuex的使用分享
  • 原文地址:https://www.cnblogs.com/ashincaiyuan/p/6768549.html
Copyright © 2011-2022 走看看