|OGC
Open Geospatial Consortium 开放地理信息联盟。是一个由530家企业、政府机构、研究组织、大学组成的国际性协会。致力于提供地理信息行业软件和数据服务的标准化工作,推动地理空间位置信息和服务的公平性、可查性、访问性、交互性、复用性。上面说的有些不明不白,简单来说OGC是指定GIS行业标准的组织,GIS行业从数据采集制作,到地图位置服务发布,都要遵循OGC定义和规范。
|WMSWMS(web map service)网络地图服务。OGC里最常见的规范就是WMS规范——WMS为网络地图的数据格式、图例样式、地图发布、交互设计等等方面制定了一系列规范。
WMS = WMTS + WFS ; WMTS—— (web map tile service 地图瓦片服务); WFS ——(web feature service 网络要素服务)

地图瓦片服务:地图数据量很大所以无法直接传递到前端显示,且电脑显示器分辨率有限,因此地图瓦片服务的处理方式是先在后端生成栅格图片再讲图片传到前端展示。意思是说每次滚动鼠标滚轮放大缩小的时候后端都有发数据来。WMTS发布的是栅格图片,栅格内容无法被修改。
而WFS服务是矢量的,地图要素为feature;feature是一个可操作的对象,通过WFS可以对数据(几何+属性)进行增删改查等操作。
|瓦片与瓦片地图
跟上面的地图瓦片服务相关联,瓦片的意思是后端渲染的图片一块一块传送到前端,就好像盖房子一片片的瓦片一样。瓦片地图是一种地图解决方案,为了解决地图数据很大无法传送的问题。将一整块大地图进行切分,分成相同大小的地图,用户访问的时候再将小地图拼接在一起还原成大地图。
具体来说瓦片地图就是多个比例尺下配置地图,然后提前把每个比例尺下的地图绘制成小地图,保存在服务器上名为缓存的目录中。这样当客户端访问地图时可以直接获取需要的小块图片拼接成的地图,而不是由服务器动态创建出一幅地图再发送到客户端从而极大提高访问速度。如下图。
|LOD
levels of Detail (细节图层)
LOD技术根据物体模型的节点在显示环境中所处的位置和重要度。决定物体渲染的资源分配,降低非重要物体的面数和细节度从而获得高效率的渲染运算,LOD在电子游戏中经常运用,对于需要显示全球地图的GIS系统而言,更需要应用这项技术。
|坐标系与投影
为了表示地球上的某个点,还有点与点之间的关系——我们需要使用坐标系来表示。在WebGIS系统中,常见的坐标系有两种:一种wkid=102100(102113);一种wkid=4326。102100:GCS_WGS_1984_web_mercator是在线网络地图常用的坐标系统,它是投影坐标系的一种。百度地图、高德地图和大多数ArcGIS提供的在线瓦片地图采用了这种投影方式。4326:GCS_WGS_1984是地理坐标系统的一种,一般GPS、遥感影像、专业测绘数据等都是采用的这种坐标系类型。
有了坐标系就来说说投影,我们经常看到EPSG:3857和EPSG:4326两种投影方式。EPSG:3857实际上是墨卡托投影。墨卡托投影的过程是将地球展开成一个圆柱,再将圆柱展开平面(如下图);对于墨卡托投影来说,越到高纬度,大小扭曲越严重,到两级会被无限放大,因此无法显示极地地区。对于EPSG:4326也叫经纬度投影,使用此坐标会导致页面变形。
|WKT WKB
WKT是一种文本标记语言——用于表示矢量几何对象、空间参照以及空间参照系统之间的转换。它用二进制表示且符合OGC规定。WKT与geojson分为点线面几何四种Point,LineString,Polygon,GeometryCollection。
WKB采用二进制存储点线面,解决WKT表达冗余的问题,便于传输和存储在数据库中。
|GeoJSON
GeoJson是一种基于JSON格式的地理空间数据交换格式,它定义了几种类型JSON对象以及它们组合在一起的方法,以表示地理要素、属性和它们空间范围的数据。几何对象包括有点(表示地理位置)、线(表示街道、公路、边界)、多边形(表示国家、省、领土)以及以上类型合成的复合几何图形。数据库postgreSQL+postGIS插件可以存储这种具有地理属性的数据。
|Geoserver
在计算领域,GeoServer是一个用Java编写的开源服务器,它允许用户共享、处理和编辑地理空间数据。为了互操作性而设计,它使用开源标准发布来自任何主要空间数据源的数据。
GeoServer已经发展成为一种将现有信息与Google地球、NASA World Wind等虚拟地球仪以及OpenLayers、Google地图和必应地图等基于网络的地图连接起来的简单方法。
GeoServer的功能是开放地理空间协会Web要素服务(WFS)标准的参考实现,同时也实现了Web地图服务(WMS)、Web覆盖服务(WCS)和Web地理信息处理服务(WPS)规范。
安装Geoserver除了通过二进制包安装外,还需要JDK1.8和Tomcat才能运行起来(因为GeoServer是Java写的)
|Openlayers
Openlayers是一个开源的Javascript库(基于修改过的BSD许可发布),用来在Web浏览器显示地图。它提供API接口创建类似于Google Maps和Bing Maps的基于web的地理应用。这个库包括Rico和Prototype框架。运行openlayers也比较简单(openlayers用js写的),下载好依赖的包之后npm start直接可以运行。访问1234端口能看到地图了。
|postgreSQL + postGIS
PostgreSQL是一种特性非常齐全的自由软件的对象-关系型数据库管理系统;通过与postGIS配合能够存储地理信息。这里使用pgAdmin4作为postgreSQL的可视化界面。