作者:Demons

地图

地图是 GIS 的界面。是地理数据的表现形式。是对空间环境诸要素进行制图综合,运用地图符号,按照一定的数学法则投影到某种介质上的图形,以传递空间事物的分布、相互联系和发展变化信息。

地图中通常有什么

普通地图元素包括图名、地图主体、图例、指北针、比例尺、文字说明和图廊。其他元素包括格子线或格网、地图投影名称、插图或位置图,以及数据质量信息。
Image.png

比例尺

地图比例尺是指图上距离与相应的实地距离的比值。这个定义适用于各种量度单位。地图比例尺为 1:24 000 表示图上距离 1cm 代表实地距离是 24 000cm(240m)。地图比例尺 1:24 000 也可表示图上距离 1m 代表实地距离是 24 000m。具体一个单位表示实际地理多少要看具体单位。

1:24 000 比例尺大于 1:100 000 比例尺。而且,与 1:100 000 比例尺相比,1:24 000 比例尺能显示小区域更多的详细资料。
1.png

那么我们平时经常说到的大比例尺和小比例尺分别代表什么呢?
大比例尺表示分母比较小的,数学上 1/100 比 1/1000 大,所以 1/100 是大比例尺。
中国规定1:5千、1:1万、1:2.5万、1:5万、1:10万、1:25万、1:50万、1:100万八种比例尺地形图为国家基本比例尺地形图。其中1:5千、1:1万、1:2.5万、1:5万、1:10万归类为大比例尺地形图,1:25万、1:50万归类为中比例尺地形图,1:100万为小比例尺地形图。
大比例尺范围小,精度大。小比例尺范围大,精度小。

地图符号

栅格数据的地图符号很简单:无论空间要素是否被描述成一个点、线或区域,地图符号都会应用成像元。
矢量数据的地图符号的选择取决于要素的类型。一般规则是:

  • 点符号代表点要素,点要素用一个坐标对表示[{x,y}];
  • 线符号代表线要素,线要素用多个坐标对表示[{x1,y1},{x2,y2}……{xn,yn}];
  • 面符号代表面要素,面要素用多个坐标对(首尾闭合)表示[{x1,y1},{x2,y2}……{xn,yn},{x1,y1}]。

这些用坐标来存储的点、线、面图形数据,称为地理要素的Geometry。
2.png

分辨率

代表当前地图范围内,1像素代表多少地图单位(x地图单位/像素),地图单位取决于数据本身的空间参考。

地图服务

根据OGC标准,地图服务是专门提供共享地图数据的服务,负责根据客户程序的请求,提供地图图像、指定坐标点的要素信息、以及地图服务的功能说明信息。

目前常用的GIS服务有:

  • ArcGIS Server发布的服务(MapServer瓦片服务、MapServer动态服务、FeatureServer矢量服务)
  • OGC标准WMS、WMTS、WFS服务(常用GeoServer发布)
  • 静态资源数据服务(直接web容器发布,如IIS、Tomcat、Nginx、Node等)
  • 互联网在线地图服务(谷歌地图、百度地图、高德地图、腾讯地图、Bing地图、天地图等)

    OGC

    OGC全称——开放地理空间信息联盟(Open Geospatial Consortium), 是一个比较“官方”的标准化机构。它的主要目的就是制定与空间信息、基于位置服务相关的标准。OGC目前提供的标准多达几十种,包括我们常用到的WMS、WFS、WCS、WMTS 等等,还有一些地理数据信息的描述文档,比如 KML、SFS(简单对象描述)、GML、SLD(地理数据符号化) 等。下面介绍几种常见的标准服务接口。
    OGC 的 Web 服务规范

    WMS

    WMS 是 OGC 标准中比较简单也是比较重要的标准之一。此标准主要定义了用于创建和显示地图图像的三大操作:GetCapabilities(获取服务能力),GetMap(获取地图)和 GetFeatureInfo(获取对象信息)。其中 GetMap 为核心操作,此操作得到一副地图图像。

  • GetCapabilities:返回服务级元数据,它是对服务信息内容和要求参数的一种描述。其中包括有当前服务提供商的一些基本信息以及当前服务的一些能力,而对于使用 WMS 服务的客户端来说,能获取到的所有信息全部包含在此文档中,当客户端发送一个服务中没有提供图片格式时,此时服务端没有能力处理此请求。在使用 WMS 服务时需要确认当前服务提供的能力,以便在使用过程中发生一些不必要的麻烦。向客户端提供当前地图服务器可以提供的空间信息类型和范围、具体的图层信息和显示样式、支持的查询方式、没有查询结果时(异常)的缺省返回信息格式等服务描述信息。

GetCapabilities 请求 URL 的参数:

请求参数 必选(M)/可选(O) 说明
VERSION=version O 请求版本,URL 中可选的请求参数,当没有使用时就使用当前服务提供商提供的最高的 WMS 版本服务
SERVICE=WMS M 服务类型
REQUEST=GetCapabilities M 请求名,请求中必须设置当前请求的操作,可以设置 request 的值为 Getcapabilities、GetMap、GetFeatureInfo
FORMAT=MIME_type O 服务元数据的输出格式
UPDATESEQUENCE=string O 用于控制缓冲存储的数字序列或字符串

GetMap 请求的参数:

请求参数 必选的(M)/可选的(O) 说明
VERSION=version M 请求版本
REQUEST=GetMap M 请求名称
LAYERS=layer_list M 以逗号隔开的一个或多个图层列表,若存在 SLD 参数则是可选的
STYLES=style_list M 以逗号隔开的请求图层的一个再现风格列表,若存在 SLD 参数则是可选的
CRS=namespace:identifier M 坐标参考系
BBOX=minx,miny,maxx,maxy M 以 SRS 单位表示的边界框变焦(左下角,右上角)
WIDTH=output_width M 以像素表示的地图图像宽度
HEIGHT=output_height M 以像素表示的地图图像高度
FORMAT=output_format M 地图输出格式
TRANSPARENT=TRUE|FALSE O 地图背景的透明性(default=FALSE)
BGCOLOR=color_value O 以十六进制RGB颜色值表示的背景颜色(default=0xFFFFFF)
EXCEPTIONS=exception_format O WMS通告异常的格式(default=SE_XML)
TIME=time O 请求层的时间值
ELEVATION=elevation O 请求层的高程
Other sample dimension(s) O 其他适当维度的值
Vendor-specific parameters O 可选的实验性参数

对 GetMap 的响应:对有效的 GetMap 请求的响应必须是一张地图,它包含了所请求的具有地理参考坐标的信息层,使用的是期望的样式,并且采用了指定的空间参考系、范围框、大小和透明性。一个无效的 GetMap 请求必须产生一个按请求的 Exceptions 格式输出的错误信息(或在极端情况下回答一个网络协议错误)。

  • GetFeatureInfo:返回显示在地图上的某些特殊要素的信息 。该操作向 WMS 的客户端程序提供了进一步查询特定空间实体信息的能力。这种操作往往是由客户程序在 WMS 服务器先前返回的地图上指定了一个空间实体,进而提交查询而形成。支持 GetFeatureInfo 操作的仅仅是那些定义或继承了属性 queryable=”1” 的层。对于其他层,客户端不能发送 GetFeatureInfo 请求。如果一个 WMS 不支持该请求而遇到了它,则应该应答一个适当格式的服务异常。

GetFeatureInfo 请求参数

请求参数 必须(M)/可选(O) 描述
version=version M 请求版本
request=GetFeatureInfo M 请求名称
map request part M 地图请求参数的部分拷贝,这些参数产生了需要查询其信息的地图
query_layers=layer_list M 用逗号分隔的需要查询的一个或多个层的列表
info_format=output_format M 要素信息的返回格式(MIME类型)
feature_count=number O 需要返回其信息的要素个数(default=1)
x=pixel_column M 用像素表达的要素的X坐标(以左上角坐标为0)
y=pixel_row M 用像素表达的要素的Y坐标(以左上角坐标为0)
exceptions=exception_format O wms 报告已成信息采用的格式

Web地图服务(Web Map Server,WMS)利用具有地理空间信息的数据制作地图。其中将地图定义为地理数据可视的表现。本质就是把数据发布之后将其变成图片再切分的服务,和其他服务不同的是它是实时切片,就是网页向服务器发送请求,服务器才会开始切片,切完了才会发给网页。能够根据用户的请求返回相应的地图,包括 PNG,GIF,JPEG 等栅格形式或者是 SVG 和 WEB CGM 等矢量形式。
支持网络协议 HTTP,所支持的操作是由 URL 定义的。
缺点:因为是现做,所以慢。
优点:能保证数据的时效性,同时更新了数据之后不必重新切片,管理方便。
适合数据更新频率高,数据量并不大的数据。

WMS 请求方式:WMS 支持标准 HTTP 中标准的 GET 请求和 POST 请求方式,不过对于 WMS 来说,基本都是基于 GET 方式的服务请求。

WMTS/TMS

WMTS 标准定义了一些操作,这些操作允许用户访问瓦片服务。
TMS是tile mp service的缩写,是一种瓦片地图服务,也称之为WMTS(web map tile service)。与WMS不同的是它是将切片保存到了本地,第一次加载时会慢,因为它是根据请求实时将切片保存到了本地,再第二次加载同一位置的切片时速度就会变快,因为此时已经保存到本地,直接读取。采用了缓存技术能够缓解 WebGIS 服务器端数据处理的压力,提高交互响应速度,大幅改善在线地图应用客户端的用户体验。
缺点:不够灵活,一旦数据更新,就要重新生成一次切片。
优点:加载速度快。
数据更新频繁且地理范围大的情况下不建议使用。

WFS

Web要素服务(WFS)返回的是要素级的GML编码,并提供对要素的增加、修改、删除等事务操作,是对Web地图服务的进一步深入。与WMS相比,简单来说,WMS是基础,是显示地图的,WFS是高级一点的,在WMS的基础上可以实现对地图数据的增删改查等操作。

WCS

网络覆盖服务(WCS)。该服务规范的主要作用是,将含有空间位置的影像数据,在网络上发布共享。

WMS、WFS、WCS、WMTS服务简介

天地图

天地图是国家测绘地理信息局建设的“国家地理信息公共服务平台”。作为中国区域内官方的地理信息服务网站。目前为国内唯一标准坐标系、数据权威可信的公共服务平台,主要的服务标准都是OGC标准发布的。

图层

一个服务中可以有多个图层。我们可以把一个服务比作是一个数据库,那么每一个图层就是数据库中的一张表,要素就是存在表中的数据。如下图所示:
image.png

专题

我们经常根据实际的业务场景将一个到多个相关联的图层组合起来形成专题。比如可以将影像2018、影像2019、影像2020这三个图层都归到影像图这个专题中去。