GIS基础知识
题目为GIS基础知识,其实我整理的很多的东西,可能已经不算是基础知识了,但是对于理解和开发来说,我觉得都是比较重要的事情。
1.影像数据的分辨率与比例尺关系
根据参考文章有如下的公式可用,我要说明的是,1英寸换算96像素,也就是分辨率,即DPI。像素(Pixel)是指构成图片的小色点,分辨率(单位DPI)是指每英寸(Inch)上的像素数量,可以看做是这些小色点的分布密度;像素相同时,分辨率越高则像素密度越大,实际打印尺寸越小,图像也越清晰。
1 | 1英寸=96像素(一般的屏幕比例尺) |
在参考文章5中,对于这种描述更加的详细:
在地图中,比例尺与分辨率是两个常用的术语,比例尺与分辨率的大小决定了地图要素对实际地物描述的详细程度。在 GIS 领域所提到的地图分辨率(Resolution),也称地面分辨率(Ground Resolution)或空间分辨率(Spatial Resolution),表示屏幕上一个像素(pixel)所代表的实际地面距离(米)。
地图比例尺(scale)是指地图上距离与地面实际距离的比例。在计算地图比例尺的时候,通常用到地面分辨率和屏幕分辨率这两个参数。
屏幕分辨率,也叫做像素分辨率,常用屏幕上每英寸长度内包含的像素数量来表达,即,Pixel per Inch,因此简写为 PPI(或 DPI),一般地图的默认屏幕分辨率是96。有的地方也用像素大小(pixel size)来描述屏幕的可分辨率,如 WMTS 标准中的0.28mm。
SuperMap 的比例尺是通过地面分辨率和屏幕分辨率由如下公式来定义的:Resolution:即地图分辨率、地面分辨率,是指一个像素(pixel)所代表的实际地面距离(m);PPI,屏幕分辨率,是指屏幕上每英寸长度内包含的像素数量,默认是96;0.0254(m/inch)是指米与英寸的单位转换。
1.影像数据的分辨率与比例尺关系 (这里写的是知道了像素数,和分辨率,求比例尺的关系)
2.尺寸分析/转换问题:将比例尺缩放到图像分辨率(dpi) (这个有点乱)
3.对屏幕的理解—分辨率,dpi,ppi,屏幕尺寸,像素 (讲了各个名词的概念及其之间的关系,对于运算,实际上没有帮助)
4.图片像素尺寸(厘米/英寸)换算器、在线转换 (这是一个工具,提供了DPI和英寸的在线转换)
5.比例尺与分辨率 (这里提供了公式,是从比例尺求屏幕分辩率的关系)
2.数据格式
- MBTiles
MbTiles 是一种用于在 sqllite 数据库中存储任意瓦片地图数据用于即时使用和高效传输的规范。MBTiles 是一种紧凑的、限制性的规范。它仅支持切片数据,包括矢量或栅格和规则格网瓦片。展示仅支持Web墨卡托投影,bounds和center等元数据仅支持经纬度坐标。它是最低规范,仅指定数据必须能检索到的方式。因此,MBTiles 文件可以在内部压缩和优化数据,并构建符合 MBTiles 规范的视图。
MVT
TopoJSON
3.坐标系及其转换
坐标系分为以下两种:
- 地理坐标系(Geographic Coordinate System, GCS)
- 投影坐标系(Projected Coordinate System, PCS)
1.EPSG:4326的底图和baidu坐标系的底图不能重叠
2.CGJ02、BD09、西安80、北京54、CGCS2000常用坐标系详解
3.基于PostgreSQL+PostGIS的火星坐标系、百度坐标系、WGS84坐标系、CGCS2000坐标系的转换函数
4.常用坐标系及投影:WGS84\GCJ02\CGCS2000\BD09\Pseudo-Mercator\UTM\BD09MC
5.【ArcGIS教程】(84)你是如何理解地理坐标系统与投影坐标系统的? 地理坐标系和投影坐标系概念,常用坐标系
6.更简单、更快捷的PG+PostGIS转换火星坐标系、百度等坐标系方法
7.wkid=4326, 4490,cgcs2000,坐标系总结(高德爬取的坐标叠加到84上是什么样)
8.js gps坐标转高德地图坐标 这里使用了js代码进行转换,其实不知这篇文章,还有很多的文章。
4.地图引擎
根据公瑾的话这么总结了地图引擎的优缺点:
以严格的3D定义标准而言,Cesium(开源)、MapboxGL(开核)、Maptalks (3D部分不开源)、ArCGIS AP1 4(不开源)都是妥妥的webGIS 3D51擎。
Cesium:唯一支持球的主流开源GIS 3D 引擎,拥有OGC 3DTiles的标准,同时有大量的API,虽然方便了用户但也会造成较大的心智负担,各种3D空问数据格式开箱即用,国内3D场景开发的事实标准。缺点是:复杂,贼卡,效果一股股。我并不看好其未来,长期看随着新的引擎成熟,cesium的用户会逐渐分流,因为它太重视功能,却不重视体验。
MapboxGL:最美的G1S引擎,拥有矢量切片的事实标准,开启了底图定制化时代的能手,其特点就是底图特别美,性能贼好,非常适合互联网2c等场最应用,缺点就是:3D API几乎没有,需要用户自己写WebGL着色器,劝退了大部分API开发者。。
MapTalks:集装箱式的GIS引擎,没有自己的技术标准,通过兼容其他优秀引孕,如矢量切片、3Dtiles、各种地理ogc还是esri的常用服务,反正就是各种兼容,优化,我认为会极大简化gis开发,很像gis 引擎的低代码,你能想到的能见到的他都在实现。
ArcGIS:没啥好说的,大哥永远还是大哥,如果你有钱可以用。毕竟它不是纯前端的,依托ArCGIS庞大的技术体系支撑才能玩出花。
webgis加载地图,需要地图引擎,常见的地图引擎,主要包括:
[Google Maps API]
HereMap
Here是一個曾由諾基亞提供的地圖服務,現為德國汽車廠商奧迪、BMW、戴姆勒合資持有。 HERE地圖包括建築、公園、交通等資訊,同時提供到商業公司的導航,例如:Garmin、BMW、亞馬遜、甲骨文公司。maplibre 在mapbox的基础上增加了一些其他的功能,是mapbox开源版本。
openglobus 这是刚开源的一个地图引擎,用的人还不是很多,微软的就是用这个的。Openglobus main goal is to make 3d map features fast, good lookin, user friendly and easy to implement in any related project.
1.市面常见的地图引擎
2.国产的三维GIS地图开发引擎有哪些?
3.maputnik Maputnik 是 Mapbox 样式规范的开源可视化编辑器
4.三维WebGIS新玩具:OpenGlobus 它创建于 2018 年,但是在 GitHub 上是今年 3 月才活跃起来的