GIS
地理信息系统(Geographic Information System或 Geo-Information system,GIS)
它是一种特定的十分重要的空间信息系统。它是在计算机硬、软件系统支持下,对整个或部分地球表层(包括大气层)空间中的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述的技术系统。
位置与地理信息既是LBS的核心,也是LBS的基础。一个单纯的经纬度坐标只有置于特定的地理信息中,代表为某个地点、标志、方位后,才会被用户认识和理解。用户在通过相关技术获取到位置信息之后,还需要了解所处的地理环境,查询和分析环境信息,从而为用户活动提供信息支持与服务。
地理信息系统(GIS,Geographic Information System)是一门综合性学科,结合地理学与地图学以及遥感和计算机科学,已经广泛的应用在不同的领域,是用于输入、存储、查询、分析和显示地理数据的计算机系统,随着GIS的发展,也有称GIS为“地理信息科学”(Geographic Information Science),近年来,也有称GIS为地理信息服务(Geographic Information service)。GIS是一种基于计算机的工具,它可以对空间信息进行分析和处理(简而言之,是对地球上存在的现象和发生的事件进行成图和分析)。 GIS 技术把地图这种独特的视觉化效果和地理分析功能与一般的数据库操作(例如查询和统计分析等)集成在一起。
webGIS
WebGIS(网络地理信息系统)是指工作在Web网上的GIS,是传统的GIS在网络上的延伸和发展,具有传统GIS的特点,可以实现空间数据的检索、查询、制图输出、编辑等GIS基本功能,同时也是Internet 上地理信息发布、共享和交流协作的基础。
Web GIS是Internet技术应用于GIS开发的产物,是现代GIS技术的重要组成部分。常见的Web GIS开发软件有超擎图形。是一个交互式的、分布式的、动态的地理信息系统,是由多个主机、多个数据库的无线终端,并由客户机与服务器(HTTP服务器及应用服务器)相连所组成的。GIS通过WWW功能得以扩展,真正成为一种大众使用的工具。从WWW的任意一个节点,Internet用户可以浏览WebGIS站点中的空间数据、制作专题图,以及进行各种空间检索和空间分析,从而使GIS进入千家万户。
Web GIS技术近年来得到快速发展,其应用也扩展到GIS应用领域的各个方面。GIS正是通过计算机网络才得以迅速扩展,成为真正服务于大众的工具。
互联网深刻地改变了我们的工作和生活,也改变了地理信息系统,两者的融合产生了WebGIS。随着互联网和移动互联网的迅速普及,WebGIS也迅速发展,以其广泛的应用价值和独特的魅力,成为现代生活的日常工具和现代社会的技术支柱。近些年来, WebGIS与地理信息科学,与云计算、物联网、大数据和人工智能等信息技术继续融合,迅猛发展,愈发展示出其在各行各业的应用价值和潜力。充分利用WebGIS,这将有益于乃至将决定很多机构的发展和前途。
原文链接:blog.csdn.net/m0_55049655… blog.csdn.net/m0_55049655…
GeoServer与ArcServer(ArcGIS server)简介
1、 GeoServer简介 GeoServer是OpenGIS Web服务器规范的J2EE实现的社区开源项目,利用GeoServer可以方便的发布地图数据,允许用户对特征数据进行更新、删除、插入操作,通 过GeoServer可以比较容易的在用户之间迅速共享空间地理信息。
2、ArcServer简介
ArcServer是ESRI公司推出的一个基于服务器的ArcGIS工具,主要可以实现两大功能:
(1)强大的WebGIS系统的开发。
(2)分布式GIS系统的开发。
GeoServer与ArcServer(ArcGIS server)比较
(1)开源性
GeoServer是一个开源GIS服务器,而ArcServer不是一个开源GIS服务器,所有想在Web地图应用开发中使用ArcServer就需要付费,而且价格比较高。
(2)服务器功能
GeoServer中包括一些GIS服务器的基本功能,基本满足大多数的Web地图应用开发,而ArcServer中的几乎涵盖所有GIS服务器应该具备的功能,这一点是ArcServer 的优点也是缺点,就类似于Oracle之于MySQL数据库,一个是企业级的数据库,功能强大,覆盖面广,但相对来说比较“笨重”,而MySQL是轻量级的数据库,附带一些常 用的数据库功能,对于一般的业务需求来说,它自带的一些功能已经足以支撑。类似于MySQL数据库,GeoSerVer自带的一些功能已经足以支撑大多数Web地图应用开 发。
(3)访问速度
ArcServer相对于其他开源的GIS服务器(包括GeoServer)来说,它的访问速度是比较快的。
(4)操作性
GeoServer复杂、操作比较困难,且本身不具备对应的桌面软件,所以前期对于待处理地理数据的编辑整饰必须借助第三方软件,目前比较常用的是uDig。而 ArcServer简单、可操作性强,自身具备对应的桌面软件ArcMap,所以对于前期地理数据的编辑整饰比较方便,ArcServer相对GeoServer来说比较容易上手。
(5)稳定性
与绝大多数商业软件相同,ArcServer比其他一些开源GIS服务器相对来说能更稳定一些。
(6)应用性
就目前来说ArcGIS的发展已经比较成熟,使用ArcGIS的人比较多,所以市场上、网络上关于ArcGIS系列产品的教材、应用实例非常多,基本上你能用到的GIS功能, 在网上都能找到相应的Demo。国内的很多大学的GIS教材也都是ArcGIS的,这也导致ArcGIS的人才好找一点。
总结:
就ArcServer与GeoServer的优势而言,ArcServer有大量的GP(Geoprocessing)服务,GP服务提供了大量的地理处理和分析工具,功能强大,发展比较成熟,操作 简单,但是不开源。而GeoServer与OpenLayers集成比较好,而且开源,虽然是一个轻量级的GIS服务器,但“麻雀虽小,五脏俱全”,可以满足大部分的Web地图应用开 发,而且可以帮助程序员理解GIS服务器的运行机理,但是操作复杂,不易于上手。
原文链接:blog.csdn.net/qq_28187299…
ArcGIS
arcgis中arc本来就是弧段的意思,在这里就是代表空间数据的意思
ESRI公司
使用 ArcGIS 满足 GIS 用户所有的需求
ArcGIS作为一个可伸缩的平台,无论是在桌面,在服务器,在野外还是通过Web,为个人用户也为群体用户提供GIS的功能。ArcGIS 9是一个建设完整GIS的软件集合,它包含了一系列部署GIS的框架:
ArcGIS Desktop――一个专业GIS应用的完整套件 包括ArcMap ArcCatalog ArcToolbox
ArcGIS Engine――为定制开发GIS应用的嵌入式开发组件
服务端GIS――ArcSDE,ArcIMS和ArcGIS Server 包括ArcServer
移动GIS――ArcPad?以及为平板电脑使用的ArcGIS Desktop和Engine
ArcGIS是基于一套由共享GIS组件组成的通用组件库实现的,这些组件被称为ArcObjectsTM。
关于ArcObjects开发的更详细的信息可以在 [1]**中找到。
ArcMap
ArcMap是一个用户桌面组件,具有强大的地图制作,空间分析,空间数据建库等功能。是美国环境系统研究所(Environment System Research Institute,ESRI)于1978年开发的GIS系统。
ArcGIS Desktop由三个用户桌面组件组成,即:ArcMap、ArcCatalog、ArcToolbox。
ArcMap是ArcGIS Desktop产品中的一个主要 应用程序,它具有基于地图的所有功能,包括制 图、地图分析和编辑。作为 ArcGIS系列软件最 重要的桌面操作系统与可视化工具,ArcMap可 以用来浏览、编辑地图,以及基于地图的分析。 ArcMap默认的界面和ArcCatalog界面相似, ArcMap的界面也可以自己定制以符合某一特定 使用目的和操作者的使用习惯。
GeoServer(GeoWebCache)发布ArcGIS切片的操作方法
用ArcGIS做切片 然后在GeoServer上发布
前端用Openlayers或MapTalks插件调用
openlayers
开源地图JavaScript库
OpenLayers使得在任何网页中放置动态地图变得很容易。它可以显示从任何来源加载的地图瓦片,矢量数据和标记。OpenLayers的开发是为了进一步利用各种地理信息
openLayers 是一个专为Web GIS 客户端开发提供的JavaScript类库包,用于实现标准格式发布的地图数据访问。从OpenLayers2.2版本以后,OpenLayers已经将所用到的Prototype.js组件整合到了自身当中,并不断在Prototype.js的基础上完善面向对象的开发,Rico用到地方不多,只是在OpenLayers.Popup.AnchoredBubble类中圆角化DIV。OpenLayers2.4版本以后提供了矢量画图功能,方便动态地展现“点、线和面”这样的地理数据。
在操作方面,OpenLayers 除了可以在浏览器中帮助开发者实现地图浏览的基本效果,比如放大(Zoom In)、缩小(Zoom Out)、平移(Pan)等常用操作之外,还可以进行选取面、选取线、要素选择、图层叠加等不同的操作,甚至可以对已有的OpenLayers 操作和数据支持类型进行扩充,为其赋予更多的功能。例如,它可以为OpenLayers 添加网络处理服务WPS 的操作接口,从而利用已有的空间分析处理服务来对加载的地理空间数据进行计算。同时,在OpenLayers提供的类库当中,它还使用了类库Prototype.js 和Rico 中的部分组件,为地图浏览操作客户端增加Ajax 效果。
maptalks
Maptalks项目是一个HTML5的地图引擎, 基于原生ES6、Javascript开发的二三维一体化地图。 通过二维地图的旋转、倾斜增加三维视角,通过插件化设计, 能与其他图形库echarts、d3.js、Three.js等结合, 可以开发各种二三维效果。由于优化了绘制性能, 有接近1.5K个单元测试用例, 所以稳定性还不错, 可以应用在很多大大小小的系统上。
每个地图框架产商都与自家的地图资源进行绑定,如非常受欢迎的mapBox、高德、百度、腾讯等,你必须注册他们产品,获取key,然后调用的api,才能进行地图的相关操作,虽然带来了便利, 但同时这也存在这限制。
为什么还用其他的呢?做产品,最好的做法就是由开发自己掌控,能做什么,能做到什么程度,一切都由开发把握,这才是一个完好的自主产品。maptalks是国内开源的一个地图框架,可以自定义我们的地图资源,不用第三方支持,而且也集成了很多插件,比如three.js、echarts、热力图,可以支持我们的开发需求。
maptalks也有自己的一套IDE用于制作地图 发布地图 doc.maptalks.com/docs/ide/gu…
maptalks加载矢量瓦片和栅格瓦片用不同的方法,我们的地图scsight 和smartcity-map只封装了支持栅格瓦片的方法
// 引入maptalks
import * as maptalks from 'maptalks';
// 初始化地图
const map = new maptalks.Map('map', {
center: [-0.113049,51.498568],
zoom: 14,
baseLayer: new maptalks.TileLayer('base', {
urlTemplate: 'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
subdomains: ['a', 'b', 'c']
})
});
// 加载矢量瓦片
const vectorTileLayer = new maptalks.VectorTileLayer('vector', {
urlTemplate: 'https://vector.mapabc.com/mapabci/map/vts/{z}/{x}/{y}.vector.pbf',
renderer: 'canvas',
vectorTileLayerStyles: {
'your-vector-layer-name': {
symbol: {
repeat: true,
markerFile: 'path/to/your/marker/image.png',
markerWidth: 12,
markerHeight: 12,
markerDx: 6,
markerDy: 6
}
}
}
});
map.addLayer(vectorTileLayer);
// 加载栅格瓦片
const tileLayer = new maptalks.TileLayer('tile', {
urlTemplate: 'http://{s}.tiles.yourserver.com/your_tile_layer/{z}/{x}/{y}.png',
subdomains: ['a', 'b', 'c']
});
map.addLayer(tileLayer);
在这个例子中,首先创建了一个maptalks地图实例,并设置了一个底图层。然后创建了一个矢量瓦片层vectorTileLayer,并为它指定了瓦片的URL模板和渲染方式。最后,创建了一个栅格瓦片层tileLayer,并为它指定了瓦片的URL模板。这两个层被添加到maptalks地图实例中。
请注意,在实际应用中,你需要替换urlTemplate中的服务器地址为你实际使用的服务地址,并且根据实际的矢量瓦片或栅格瓦片的图层名称和样式配置vectorTileLayerStyles
原文链接:blog.csdn.net/qq_43770056…
Gis坐标系4326与3857及高德百度坐标系转换
一般常用的地图都是84坐标系
使用投影坐标系的地图包括:
- **Google Map****:使用EPSG:3857**投影坐标系,适用于平面地图1。
- **OpenStreetMap****:使用WGS84**地理坐标系,但在中国范围外的地图使用EPSG:3857投影坐标系2。
- **Bing Map****:使用EPSG:3857投影坐标系,适用于平面地图1。
- **必应地图****:其地理坐标系为GCS_WGS_1984**,但在中国范围外的地图使用EPSG:3857投影坐标系2。
这些地图服务选择投影坐标系的原因是为了更好地在平面上表示地球表面的数据,使得距离和面积的计算更为直观和准确。投影坐标系通常以米为单位,适用于平面地图的展示和测量
使用地理坐标系的地图
地理坐标系(Geographic Coordinate System,简称GCS)是使用三维球面来定义地球表面位置的系统,通过经纬度对地球表面点位进行引用。一个地理坐标系包括角度测量单位、本初子午线和参考椭球体三部分。在球面系统中,水平线是等纬度线,垂直线是等经度线4。
- **百度地图****:使用BD-09**坐标系1。
- **高德地图**、腾讯地图****:使用GCJ-02**坐标系12。
- **天地图****:采用CGCS2000**坐标系1。
- **必应地图****:使用GCS_WGS_1984**(即WGS84**)地理坐标系1。
- **谷歌地图****:在中国范围外使用WGS84地理坐标系,在中国范围内使用GCJ02地理坐标系12。
- **OpenStreetMap****:使用WGS84坐标系1。
- **ArcGIS****:支持多种坐标系,可以根据需要进行选择和转换1。 这些不同的坐标系确保了在不同地区和不同应用场景下地图的准确性和安全性。
- GIS基础知识 - 坐标系、投影、EPSG:4326、EPSG:3857
- GIS基础教程之坐标系 - 知乎
- Axis Order — GeoTools 28-SNAPSHOT User Guide
- EPSG.io: Coordinate Systems Worldwide
- 区域面积-距离/面积计算-示例中心-JS API 示例 | 高德地图API
一、坐标系
地理坐标系与投影坐标系
空间参考中主要包含大地水准面、地球椭球体、投影坐标系等几部分内容。地图投影就是把地球表面的任意点,利用一定数学法则,转换到地图平面上的理论和方法,一般有两种坐标系来进行表示,分别是地理坐标系和投影坐标系。如下图所示,描述了地理坐标系与投影坐标系之间的关系。(箭头倒回来看)
参考椭球体
表1 常见的参考椭球体及其参数
基准面
基准面是在特定区域内与地球表面极为吻合的椭球体。
基准面 = 椭球体 + 本初子午线
表2 常见基准面
地理坐标系
地理坐标系,就是一个球,说成球面坐标系反而好理解一点。就比如一个完整的橘子。单位是度

地理坐标系 = 基准面 + 本初子午线 + 角度测量单位
表3 常见地理坐标系
投影方法
表4 常见的4种投影方法
地球是一个三维球体,而地图是二维的,因此需要通过投影将三维的地表转化为二维平面。不同的投影方式会有不同的特点和适用场景。
等角投影:保持角度的正确性,适合于航海制图。
等距投影:保持距离的准确性,适合于需要测量距离的应用。
等面积投影:保持面积的真实比例,适合于需要表面积比较的场景。
墨卡托投影适合航海
地理坐标系是三维的,我们要在地图或者屏幕上显示就需要转化为二维,这被称为 投影(Map projection)。显而易见的是,从三维到二维的转化,必然会导致变形和失真,失真是不可避免的,但是不同投影下会有不同的失真,这让我们可以有得选择。常用的投影有 等矩矩形投影(Platte Carre) 和 墨卡托投影(Mercator),下图来自 Mercator vs. well…not Mercator (Platte Carre),生动地说明了这两种投影下的失真:
左图表示地球球面上大小相同的圆形,右上为墨卡托投影,投影后仍然是圆形,但是在高纬度时物体被严重放大了。右下为等距投影,物体的大小变化不是那么明显,但是图像被拉长了。Platte Carre 投影因为在投影上有扭曲,并不适合于航海等活动,但是因为坐标与像素之间的对应关系十分简单,非常适合于栅格图的展示,Platte Carre 投影是很多GIS 软件的默认投影。
需要注意的是,对于墨卡托投影来说,越到高纬度,大小扭曲越严重,到两极会被放到无限大,所以,墨卡托投影无法显示极地地区。下图来自 维基百科,可以看到墨卡托投影下每个国家的大小和实际大小的差异。但是 conformality(正形性) 和 straight rhumb lines 这两个特点,让它非常适合于航海导航。
投影坐标系
投影坐标系,就是将球展开后的一个面。就比如橘子剥皮展开。 单位是米

投影坐标系 = 地理坐标系 + 投影方式 + 线性单位
表6 常见投影坐标示例
WGS84经过伪墨卡托投影之后就成了EPSG:3857
EPSG:3857是一个投影坐标系(Projected coordinate system),在WGS84坐标系基础上进行了伪墨卡托投影(Pseudo-Mercator)。球形墨卡托地图、谷歌地图、osm地图、bing地图、ArcGIS、ESRI会常用该坐标系。
投影坐标系(Projected coordinate system)是在大地坐标系(Geodectic coordinate system)的基础上,经过数学运算,把大地坐标系的曲面坐标映射到平面上产生的一种平面坐标系。
虽然EPSG:3857是平面坐标系,单位是长度(米),但是他用了一个长度和面积都不靠谱的投影坐标系:Pseudo-Mercator(伪墨卡托投影,该投影是正轴等角切圆柱投影,在高纬度地区形变的非常严重)。原来高德地图和谷歌地图上面画的东东都是变形的!!没错,就是变形的,你看到的这些互联网地图用的都是类似的投影,他们在高纬度地区都是拉伸严重的,远比他的实地面积要大。但是正轴墨卡托投影有个优点:投影后角度不变形,所以用来导航和定位非常合适。
地理坐标系:就是用经纬度表示地面点位的球面坐标。 地理坐标系进行地图投影后就变成了投影坐标系。 地图投影:是按照一定的数学法则将地球椭球面上的经纬网转换到平面上,使地面点位的地理坐标(φ,λ)与地图上相应的点位的平面直角坐标(x,y)或平面极坐标(δ,ρ)间,建立起一一对应的函数关系,能够实现由地球椭球面向地图平面的科学转变。 看完定义是不是很懵,简单点来说,就是将原来用于表示三维立体的经纬度经过一系列“不可描述”的数学法则转换成的平面二维坐标对。如果还是不明白下面用图来说明。 至于是什么数学法则,建议查阅相关资料,要注意的是,坐标系是数据或地图的属性,而投影是坐标系的属性。
原文链接:blog.csdn.net/weixin_4216… 参考资料:
科学网—八类地图常用的投影方法 - 杨峰峰的博文 (sciencenet.cn)
List of map projections - Wikipedia
高斯-克鲁格映射和 UTM 映射有什么区别? | 下萨克森州地理信息和州测量局 (niedersachsen.de)
《GDAL源码剖析与开发指南》 blog.csdn.net/weixin_4216…
1.2 常用坐标系
对于地图开发人员来说,常见的测量系统就是WGS84测量系统(1984年全球测量系统)。
基于WGS84的常用坐标系为两种。
4326是地理坐标系,以度为单位。广泛用于GPS定位等。WGS84也称作WGS 1984、EPSG:4326
3857是投影坐标系,以米为单位。应用场景非常广泛, 用于平面地图,各类Web地图应用,包括在线地图、导航系统、位置服务等。 如GoogleMap、OpenStreetMap、BingMap等。
如果想要找取专属于自己地区、更精确的坐标系。可以去epsg.io搜索。
对于 Web Map 开发人员来说,最熟悉的应该是EPSG:4326 (WGS84) and EPSG:3857(Pseudo-Mercator),EPSG:4490(大地2000)这又是啥呢?
3.1 EPSG:4326 (WGS84)
该类坐标系的地图切⽚互联⽹上⽐较少见,主要是google的⽆偏移影像采⽤此类坐标系,也是下载最多的切⽚数据,⽤于在局域⽹中与⾃由数据进⾏叠加切⽚使⽤
4326的0级是2张图
前面说了 WGS84 是目前最流行的地理坐标系统。在国际上,每个坐标系统都会被分配一个 EPSG 代码,EPSG:4326 就是 WGS84 的代码。GPS是基于WGS84的,所以通常我们得到的坐标数据都是WGS84的。一般我们在存储数据时,仍然按WGS84存储。
EPSG 4326是WGS 84坐标系统,也称为全球地球坐标系统(GCS),是一种广泛使用的地理坐标系统。 这个坐标系统使用经度(longitude)和纬度(latitude)来定义地球上的位置,其中经度的范围是-180到+180,纬度的范围是-90到+90。 EPSG 4326使用的是大地测量学参考椭球WGS 84。
的数据一般是这种的。[22.37,114.05]。利于存储,可读性高。
3.2 EPSG:3857 (Pseudo-Mercator)
该类普遍都存在偏移,在形变⽅⾯,采⽤等⾓的⽅式,全球由⼀张256*256像素的切⽚向下不断分割,形成多层级⾦字塔切⽚架构。
3857的0级是1张图
伪墨卡托投影,也被称为球体墨卡托,Web Mercator。它是基于墨卡托投影的,把 WGS84坐标系投影到正方形。我们前面已经知道 WGS84 是基于椭球体的,但是伪墨卡托投影把坐标投影到球体上,这导致两极的失真变大,但是却更容易计算。这也许是为什么被称为”伪“墨卡托吧。另外,伪墨卡托投影还切掉了南北85.051129°纬度以上的地区,以保证整个投影是正方形的。因为墨卡托投影等正形性的特点,在不同层级的图层上物体的形状保持不变,一个正方形可以不断被划分为更多更小的正方形以显示更清晰的细节。很明显,伪墨卡托坐标系是非常显示数据,但是不适合存储数据的,通常我们使用WGS84 存储数据,使用伪墨卡托显示数据。
Web Mercator 最早是由 Google 提出的,当前已经成为 Web Map 的事实标准。但是也许是由于上面”伪“的原因,最初 Web Mercator 被拒绝分配EPSG 代码。于是大家普遍使用 EPSG:900913(Google的数字变形) 的非官方代码来代表它。直到2008年,才被分配了EPSG:3785的代码,但在同一年没多久,又被弃用,重新分配了 EPSG:3857 的正式代码,使用至今。
数据一般是这种的。 [12914838.35,4814529.9] ,看上去相对数值较大。不利于存储,比较占内存。
所以一般用84的数据 经过转换转成3857需要的数据
3.3 EPSG: 4490
EPSG 4490是CGCS2000坐标系统,也称为中国2000大地坐标系(CGCS2000),是中国国家测绘局于2007年发布的地理坐标系统。 这个坐标系统同样使用经度和纬度来定义地球上的位置,其范围也分别是-180到+180的经度和-90到+90的纬度。 EPSG 4490基于中国2000年大地坐标系。 主要区别:在于这两种坐标系统的基准面和使用范围,其中EPSG 4326是国际上广泛使用的坐标系统,而EPSG 4490更专门用于中国地区的地理信息系统应用。在进行地理空间数据处理时,应选择适合你数据所在区域和所需精度的坐标系统。
坐标系转换
EPSG:3857(投影):数据的可读性差和数值大存储比较占用内存。
EPSG:4326(地理):使用此坐标系会导致页面变形。
在实际开发中,因为map源数据大部分都是EPSG:4326的数据源格式的数据,但是使用EPSG:4326的坐标系地图会出现被压缩的感觉。所以我们都是采用 EPSG:3857的坐标系类型,把数据源转换位 EPSG:3857的数据源即可。但是这个EPSG:3857数据源不易读取和值占内存原因,所有结合两者的缺点,我们采用坐标转换,即 EPSG:4326转 EPSG:3857。 所有请理解这句话:通常:数据存储在EPSG:4326中,显示在EPSG:3857中 如下所示:
原文链接:blog.csdn.net/qq_36410795… EPSG:4326和EPSG:3857都是常用的地理坐标系。EPSG:4326是一种经纬度坐标系,也被称为WGS84坐标系,它使用度(°)作为单位来表示地球表面上的位置。EPSG:3857是一种投影坐标系,也被称为Web墨卡托投影(Web Mercator Projection),它使用米(m)作为单位来表示地球表面上的位置。
坐标转换是将一个坐标系中的点转换到另一个坐标系中的过程。从EPSG:4326到EPSG:3857的坐标转换主要是为了在Web地图上显示地理数据。因为Web地图一般使用EPSG:3857坐标系,所以需要将EPSG:4326坐标系的数据转换为EPSG:3857坐标系才能正确显示在地图上。
在实际应用中,可以使用各种方法和工具来进行EPSG:4326到EPSG:3857的坐标转换。以下是一个常见的方法:
- 使用开源库或工具进行坐标转换,例如Proj4库、GDAL工具等。这些工具提供了丰富的坐标转换功能,可以根据需要进行编程调用或命令行操作。
- 在编程中使用相应的算法进行坐标转换。例如,对于EPSG:4326到EPSG:3857的转换,可以使用球面墨卡托投影算法(Spherical Mercator Projection)来进行转换。这个算法可以通过一系列数学计算将经纬度坐标转换为投影坐标。
在腾讯云中,推荐使用腾讯地图(Tencent Map)的API来进行坐标转换。腾讯地图提供了丰富的地图服务和地理计算功能,可以方便地进行EPSG:4326到EPSG:3857的坐标转换。您可以通过腾讯云官方网站了解更多关于腾讯地图API的信息:腾讯地图API
需要注意的是,EPSG:4326和EPSG:3857是常用的坐标系,但并不是唯一的坐标系。在实际应用中,还可能会涉及到其他坐标系的转换,例如EPSG:3857到EPSG:4326的反向转换,或者其他不同的地理坐标系之间的转换。具体的坐标转换方法和工具选择应根据实际需求和应用场景进行。
原文链接:blog.csdn.net/hap1994/art…
zhuanlan.zhihu.com/p/561425112
maptalks
导入数据到IED创建地图,放到地图服务器,前端访问,maptalks插件地图引擎操作地图
部署前端代码的服务器上 做访问地图的代理 代理到地图服务
arcgis 也可以切图
MapTalks IDE
MapTalks IDE 全称 MapTalks集成设计环境(Integrated Design Environment),是由MapTalks技术团队开发的新一代web地图设计软件。
通过MapTalks IDE,您可以自由的创建二维和三维地图,在其中载入或创建地理数据,可视化和分析数据。您还可以把创建的地图分发给开发人员,在javascript程序中加载其中的地理数据或配图样式。
MapTalks
Maptalks 项目是一个 HTML5 的地图引擎,基于原生 ES6 Javascript 开发:
- 二三维一体化地图,通过二维地图的旋转 / 倾斜增加三维视角
- 插件化设计,能与其他图形库结合,开发各种二三维效果,例如 echarts/d3/THREE 等
- 很认真的优化了绘制性能
矢量瓦片和栅格瓦片
我们加载百度地图的引擎 地图服务 百度不给栅格瓦片
矢量瓦片和栅格瓦片是地图服务的两种不同技术,它们在数据存储、生成效率、更新机制、应用场景等方面有显著的区别。两者的区别如下:12
- 数据存储。矢量瓦片的数据以矢量形式存储,相比之下,栅格瓦片的数据则是以图片格式(如PNG、JPEG)存储。
- 生成效率。矢量瓦片的生成效率通常比栅格瓦片高,这是因为矢量瓦片的体积小,易于压缩,而栅格瓦片由于占用较多的存储空间和带宽,在移动设备上的应用受到限制。
- 更新机制。两者在更新机制方面相似,都可以根据需要进行实时更新。
- 应用场景。矢量瓦片更适合用于需要频繁查询和修改的矢量图层,如POI信息、路线信息等,而栅格瓦片则更多地用于地图服务的底图。
- 前端技术要求。矢量瓦片的使用对前端技术要求较高,可以利用GPU处理器实现快速和动态的地图浏览,而栅格瓦片的使用则相对成熟和广泛。
综上所述,矢量瓦片和栅格瓦片各有优势,适用于不同的地图应用场景。
如果用高德的栅格 切片地图 我们该配置就可以 用我们的引擎
如果用高德的矢量地图 要用高德的地图引擎 我们调用地图的方法要用高德的方法 重新写,我们的引擎不支持矢量地图,只支持瓦片
用高德的矢量地图原因是啥
矢量和栅格是引擎
天地图 84坐标系
火星坐标系 以火星为参照 高德 谷歌中国 84偏移 GCJ-02
百度在 GCJ-02上处理 自己的坐标系BD09
epsg
制图 符号化 分级渲染
切片上有文字
Url请求 x,y,z 经度纬度层级 根据请求生成图片 wms 常用
浙江发布切好的瓦片要2-3天
矢量瓦片会很快
Shp 地图数据文件
添加空白文档 导入shp地图数据文件 面 线 点
从配色到发布 服务
面线点
面 路 兴趣点
mxd 文件
121.5620147855426,29.856071354685923
type: mapConfig.MAP_TYPE_GEOWEBCACHE, // 地图类型,以哪种方式加载
layers: 'xiaoshanWhite', // 地图初始图层底图, 不是我们后来添加矢量图层
resolution: 7614275218656896e-20, // 图层分辨率
maxResolution: 0.00237946100583028,
minResolution: 475892201166056e-20,
resolutions: [
1.218284034985103,
0.609142017492552,
0.304571008746276,
0.15228550437313793,
0.07614275218656896,
0.03807137609328448,
0.01903568804664224,
0.00951784402332112,
0.00475892201166056,
0.00237946100583028,
0.00118973050291514,
0.00059486525145757,
0.000297432625728785,
0.00015228550437313792,
7614275218656896e-20,
3807137609328448e-20,
1903568804664224e-20,
951784402332112e-20,
475892201166056e-20
],
zoom:14, // 缩放初始层级 zoom默认13
minZoom:11, // 最小缩放层级
maxZoom:18, // 最大缩放层级
extent: \[100.28639,26.16568,110.18808,32.20125], // 地图范围最大小经纬度
tileSize: 256
wms与wmts服务区别
wms与wmts都是OGC提出的Web地图服务协议,但它们有以下区别:
OGC联盟 开放地理空间信息联盟 (Open Geospatial Consortium-OGC),是一个非盈利的国际标准组织,致力于提供地理信息行业软件和数据及服务的标准化工作,它制定了数据和服务的一系列标准,GIS厂商按照这个标准进行开发可保证空间数据的互操作。OGC在1994年到2004年期间机构名为Open GIS Consortium, 后因业务需要更名为OGC。
1.wms(web map service)是一种动态地图服务协议,可以通过对服务器发送请求来动态地生成地图图像。而wmts(web map tile service)是一种基于瓦片的地图服务协议,它通过预先生成的瓦片集合来提供地图数据;
2.wms在每个请求时生成图像,而WMTS则预先生成瓦片,可以在需要时快速响应请求。因此,wmts通常比WMS具有更好的性能;
3.wmts支持缓存和离线使用,因为瓦片可以被预先下载和存储。wms则需要在每个请求时重新生成图像,因此无法进行离线使用;
4.wmts通常用于较大的地图数据集合,而wms通常用于较小的数据集合。
还有一个瓦片服务不是OGC提出的,但也被广大用户所使用,那就是tms服务(tiled map service),瓦片地图服务。tms与wmts的主要区别在于,他的小切片地图是正方形的,而wmts的切片可以是矩形的。另外就是他们的金字塔y轴坐标是相反的。
wms服务支持的原理 参考自(www.cnblogs.com/beniao/arch…
wms可以获取支持以下操作(1)GetCapabilities元数据(2)GetMap地图(3)GetFeatureInfo地图中某些要素信息(4)获取地图的图例信息
wmts服务支持的原理
参考自blog.csdn.net/sinat_41310…
总结
WMS:是一种动态地图服务,根据用户请求返回相应地图数据的可视化结果,实时切片,因此速度较慢。是GeoServer发布地图时较为常用的服务。(公司用的)
WMTS:是一种采用预定义图块方法发布数字地图服务,将地图切分成瓦片矩阵集合,牺牲了提供定制地图的灵活性,代之以通过提供静态数据(基础地图)来增强伸缩性,这些静态数据的范围框和比例尺被限定在各个图块内,但是提升了服务速度。例如我国的天地图就是使用这一服务进行组织的,详情见我另一篇博客:关于天地图的瓦片下载。
WFS:是为了返回纯地理数据而设计的,它不包含任何关于绘制数据的建议,它提供了对矢量的增加、修改、删除等事务操作。
WCS:是面向空间影像数据服务,它将包含地理位置值的地理空间数据作为“栅格或者说“覆盖”(Coverage)”在网上相互交换。
WPS:我理解的是一种提供和执行地理空间处理的服务,用于在web上发起空间运算操作。
WMSC:是一种预先缓存数据的方法,以提升地图请求的速度。目前已被WMTS和TMS取代。
TMS:也是一种瓦片地图服务,与WMTS类似,本质上遵循同样的切片规则。
几种服务中比较常见的是WMS、WFS和WMTS、TMS。
MapBox、OpenLayers、Leaflet和Maptalks
本文对比了MapBox、OpenLayers、Leaflet和Maptalk四个前端地图框架,强调了它们各自的特点和适用场景。MapBox注重地图美学,性能良好,但在地图操作和编辑方面存在不足;OpenLayers是一个稳定、全面的开源框架,适用于复杂需求;Leaflet轻量级,适合移动端应用;Maptalks则融合了MapBox和OpenLayers的优点,但稳定性稍逊。选择框架应根据项目需求,如关注地图美感选MapBox,频繁操作选OpenLayers,移动端选Leaflet,支持国产选Maptalks。都支持多种地图数据源,包括Mapbox、高德地图、百度地图等。
各种坐标系转换算法
(1)、CGCS2000 天地图
天地图:CGCS2000,2000国家大地坐标系;我们其实很多时候直接用WGS84的坐标来代替CGCS2000坐标。因为CGCS2000的定义与WGS84实质一样。采用的参考椭球非常接近。扁率差异引起椭球面上的纬度和高度变化最大达0.1mm。当前测量精度范围内,可以忽略这点差异。可以说两者相容至cm级水平,但若一点的坐标精度达不到cm水平,则不认为CGCS2000和WGS84的坐标是相容的。
(2)、bd09II坐标 百度地图
首先了解一下火星坐标,它是在国际标准坐标WGS-84上进行的一次加密,由于国内的电子地图都要至少使用火星坐标进行一次加密,百度直接就任性一些,直接自己又研究了一套加密算法,来了个二次加密,这就是我们所熟知的百度坐标(BD-09)。
(3)、火星坐标也称gcj02坐标 高德地图
火星坐标的真实名称应该是GCJ-02坐标。火星坐标是国家测绘局为了国家安全在原始坐标的基础上进行偏移得到的坐标,基本国内的电子地图、导航设备都是采用的这一坐标系或在这一坐标的基础上进行二次加密得到的。 基本上所有的国内的电子地图采用的都是火星坐标系甚至Google地图中国部分都特意为中国政府做了偏移。
(4)WGS-84坐标也是大地坐标系 地球坐标系 国外的Google地图、OSM、arcgisonline 3维
WGS-84坐标是一个国际的标准,一般卫星导航,原始的GPS设备中的数据都是采用这一坐标系。 国外的Google地图、OSM等采用的都是这一坐标。
(5) EPSG:3857 在WGS-84的基础上进行伪墨卡托投影 GoogleMap、OpenStreetMap、BingMap 2维
投影坐标系是平面坐标系,更适合地图显示,各类Web地图应用,包括在线地图、导航系统、位置服务等
跟据具体情况选择坐标系,数据都可以互相转换 用4236和3857画出来效果一样