首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >WebGIS开发中一些常见的概念

WebGIS开发中一些常见的概念

作者头像
牛老师讲GIS
发布于 2024-12-30 02:48:33
发布于 2024-12-30 02:48:33
45900
代码可运行
举报
运行总次数:0
代码可运行

0. 坐标系投影

地理坐标系和投影坐标系是两种常用的坐标系统,它们各自有着独特的特性和应用场景。

0.1 地理坐标系

地理坐标系(Geographic Coordinate System, 简称 GCS)是以地球椭球体面为参考面,以法线为依据,用经纬度表示地面点在椭球表面的位置的坐标系统。简单来说,地理坐标系就是用经纬度来表示地球表面物体的位置。不同的地理坐标系的区别在于用于拟合地球大地水准面的椭球大小和位置。常见的地理坐标系包括GCS_WGS_1984GCS_CN_2000GCS_Beijing_1954GCS_Xian_1980等。

地理坐标系
地理坐标系
0.2 投影坐标系

投影坐标系(Projection Coordinate System,简称PCS)的实质是平面坐标系统,地图单位通常为米。它是将球面坐标转为平面坐标的过程,即将地球椭球展平在地图上画出来。投影坐标系的主要用途包括地图制作和长度、面积的量测等。

投影坐标系
投影坐标系
0.3 投影转换

当我们需要在地理坐标系和投影坐标系之间进行转换时,需要进行投影转换。投影转换通常涉及到将地理坐标(经纬度)转换为投影坐标(米),或者将投影坐标转换为地理坐标。

0.4 大地坐标系

大地坐标系是以参考椭球面为基准面而建立起来的坐标系,也可以简单理解成属于地理坐标系的一种。大地坐标系又分为参心大地坐标系地心大地坐标系。其中参心坐标系是以椭球几何中心为原点构建的坐标系,一般用来对局部地区大地测绘使用,而地心坐标系是以地球质心为原点构建的坐标系,一般用来对地球整体大地测绘使用。

0.5 常用坐标系
  • WGS84:地心大地坐标系,我们常说的GPS定位系统就是依据此坐标系建立的。
  • CGCS200:地心大地坐标系,参数跟84稍有不同,可忽略。
  • GCJ02:又称火星坐标系,中国国家测绘局所制定的坐标系统,其本质就是在 WGS84 经纬度的基础上进行了偏移加密。
  • BD09:百度在GCJ02 的基础上又进行了一层加密。

1. EPSG

1.1 介绍

EPSG(European Petroleum Survey Group)是一个标准化的地理空间参考系统标识符集合,中文名为欧洲石油调查组织。2005年EPSG组织并入国际油气生产者协会IOGP(International Association of Oil & Gas Producers)

EPSG 用于标识不同的地理空间参考系统,包括坐标系统、地理坐标系、投影坐标系等。这些标识符可用于许多应用程序和地理信息系统软件,以确保数据在不同系统之间的正确转换和处理。现在,EPSG已被开放地理空间信息联盟OGC(Open Geospatial Consortium)承认并管理,成为了一个全球性的标准。

EPSG 是将常用的坐标系、投影、地理坐标系等地理空间参考系统的名称、参数、定义等信息进行标准化,并赋予一个唯一编码。

1.2 常见的EPSG编码
  • EPSG:4326: 是WGS84坐标系。
4326
4326
  • EPSG:3857EPSG:900913: 是Web墨卡托投影坐标系。
3857
3857
900913
900913
  • EPSG:4490 : CGCS 2000地理坐标系统
4490
4490
  • EPSG:4214 : Beijing 1954地理坐标系统
4214
4214
  • EPSG:4610 : Xian 1980地理坐标系统
image.png
image.png

3. GIS数据

可以将GIS数据分为矢量数据和栅格数据,其中矢量数据以点、线、面等几何图形来表示地理实体,栅格数据以像素的形式来表示地理实体。

GIS数据
GIS数据
3.1 矢量数据

矢量数据是以点、线、面的形式来表示客观世界中的实体,它以一组(x,y)或(x,y,z)的坐标点的形式进行存储。同一个空间实体在不同的坐标系中,可以被表示成为点线面中的任何一种。

矢量数据
矢量数据
3.2 栅格数据

栅格数据是将空间划分成很多有规律的网格,每一个网格都表示空间上相同大小的范围,网格的值表示该空间范围内被计算出来的某一属性值,每一个栅格所表示的地面实际范围的大小,被称为分辨率

栅格数据
栅格数据

从数据特征上来讲,栅格数据有连续离散两种类型,连续数据如气温和等高线数据,离散数据如人口密度等。

4. OGC

开放地理空间信息联盟(Open Geospatial Consortium), 它的主要目的就是制定与空间信息、基于位置服务相关的标准。而这些所谓的标准其实就是一些接口或编码的技术文档,不同的厂商、各种GIS产品都可以对照这些文档来定义开放服务的接口、空间数据存储的编码、空间操作的方法。

image.png
image.png

常用到的WMS、WFS、WCS、WMTS等。

4.1 WMS

WMS的全称是Web Map Service,web地图服务。它是将地理数据添加样式后进行实时出图,是一个使用动态数据或用户定制地图的理想解决办法。 OGC提供的用于地图渲染的WMS服务的操作接口有:

image.png
image.png
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://ahocevar.com/geoserver/wms?
    SERVICE=WMS&
    VERSION=1.3.0&
    REQUEST=GetMap&
    FORMAT=image/png&
    TRANSPARENT=true&
    LAYERS=topp:states&
    CRS=EPSG:3857&
    STYLES=&
    WIDTH=658&
    HEIGHT=355&
    BBOX=-13888944.635145342,2867630.7173607955,-7451112.364854658,6340929.2826392045
4.2 WFS

WFS服务的全称是Web Feature Service,web要素服务。支持对地理要素的插入、更新、删除、检索和发现,该服务根据HTTP客户请求返回GML(Geography Markup Language,地理标识语言)数据,可以通过OGC Filter构造查询条件,支持基于空间几何关系的查询、基于属性域的查询、基于空间关系和属性域的共同查询。

image.png
image.png
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://ahocevar.com/geoserver/wfs?
    service=WFS&
    version=1.1.0&
    request=GetFeature&
    typename=osm:water_areas&
    outputFormat=application/json&
    srsname=EPSG:3857&
    bbox=-8948615.422847113,5370452.51819444,-8869159.13194467,5393383.626679991
4.3 WMTS

WMTS服务的全称是Web Map Tile Service,web地图切片服务。它是提供一种采用预定义切片方法发布数字地图服务的标准化解决方案,弥补WMS在数据不变的情况下请求慢的不足。

image.png
image.png
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://mrdata.usgs.gov/mapcache/wmts?
    layer=sgmc2&
    style=default&
    tilematrixset=GoogleMapsCompatible&
    Service=WMTS&
    Request=GetTile&
    Version=1.0.0&
    Format=image/png&
    TileMatrix=4&
    TileCol=3&
    TileRow=6

5. 地图切片

采用预生成的方法存放在服务器端,然后根据用户提交的不同请求,把相应的地图瓦片发送给客户端的过程,它是一种多分辨率层次模型,从瓦片金字塔底层到顶层,分辨率越来越低,但表示的地理范围不变。

image.png
image.png
5.1 相关概念

以谷歌切片(900913)集为例来说明一下切片原理和几个重要的概念。

1)切片范围

切片范围是指在制定切片规则的时候,需要定义一个大于数据范围或者与数据范围一致的切片范围,谷歌切片集的切片范围为全球范围,即[-20037508.34, -20037508.34, 20037508.34, 20037508.34]

2)切片原点

在确定了切片范围后,需要定义一个切片原点,切片原点的定义有两种:左上(xyz)或者左下(tms)。切片原点的选择主要影响 “级-行-列”中的“列”。谷歌切片集的切片原点为左上,即 [-20037508.34, 20037508.34]

3)切片大小

对于栅格切片,切片大小是指切片完成后每个图片的大小。对于矢量切片,切片大小指的是客户端在渲染切片数据时所呈现出来的大小。早期,切片的大小是256(谷歌切片集的切片大小)像素,这个跟当时的电脑的分辨率比较小有很大关系,随着技术的进步,现在很多切片的时候会采用512像素的大小,矢量切片在渲染的时候的就是采用的这个大小。

4)切片分辨率

又称为像素大小(Pixel Size),是一组计算值,在不同的级别下其值不同,其计算公式为(xmax - xmin) / tileSize * Math.pow(2, zoom),如在0级的时候,谷歌切片集的分辨率为(20037508.34 - (-20037508.34)) / 256 * Math.pow(2, 0) = 156543.03390625

5.2 切片分类
  • 切片规则
    • xyz:左上
    • tms:左下
  • 切片类型
    • 栅格切片(.png
    • 矢量切片(.mvt.pbf

6. 常用格式

常见的控件数据的存储格式有:GeodatabaseShapefileGeojsonKML/KMZGPXWKT

6.1 Geodatabase

POSTGISMYSQL Spatial等。

image.png
image.png
6.2 Shapefile

Shapefile 是最常见的地理空间文件类型。所有商业和开源都接受 Shapefile 作为 GIS 格式。Shpaefile文件的大小限制是2GB。

image.png
image.png

其中shp、shx以及dbf为扩展名的文件是必需的,它们的内容如下

  • shp:存储要素几何的主文件
  • shx:存储要素几何的索引文件
  • dbf:存储要素属性信息的dBASE表格
  • prj: 记录投影信息
6.3 Geojson

GeoJSON 以 JavaScript 对象表示法(JSON)形式将坐标存储为文本,包括矢量点、直线和多边形以及属性信息。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// geometry Point(点)、MultiPoint(多点)、LineString(线)、MultiLineString(多线)、Polygon(面)、MultiPolygon(多面)
{
   "type":"Point",
   "coordinates":[105.380859375,31.57853542647338]
 }
// feature
{
   "type":"Feature",
   "properties":{},
   "geometry":{
      "type":"Point",
      "coordinates":[105.380859375,31.57853542647338]
   }
 }
// collection
{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "properties": {},
      "geometry": {
        "type": "Point",
        "coordinates": [
          105.380859375,
          31.57853542647338
        ]
      }
    }
  ]
}
6.4 KML/KMZ

KML 代表 Keyhole 标记语言。这种 GIS 格式是基于 XML 的,主要用于谷歌地球。KMZ(KML-Zipped)取代 KML 成为默认的 Google Earth 地理空间格式,因其是该文件的压缩版本。2008年,KML/KMZ 成为开放地理空间联盟的国际标准。

6.5 GPX

GPX(GPS交换格式)是一种轻量级XML数据格式,用于在Internet上的应用程序和Web服务之间交换GPS数据(航点、路线和轨道)。

  • 航点:航点是一个点的 WGS84 (GPS) 坐标,表示 OGR 类型 wkbPoint 的特征层
  • 路线:表示OGR类型wkbLineString的一层特征。它包括一个跟踪点列表,这些点是显示通往目的地的转弯或阶段点的航点
  • 轨道:Tracks 表示 OGR 类型 wkbMultiLineString 的特征层。它由至少一个段组成,该段包含描述路径的点的有序列表中的航路点。它由代表连续 GPS 轨迹的轨迹点列表组成。
6.6 WKT

WKT格式是一种文本格式,用于描述二维和三维几何对象的空间特征。WKT是“Well-Known Text”的缩写,是一种开放的国际标准,由Open Geospatial Consortium(OGC)定义和维护。

1)描述空间实体
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
POINT (<x> <y>)
MULTIPOINT ((<x1> <y1>, <x2> <y2>, ...))

LINESTRING (<x1> <y1>, <x2> <y2>, ...)
MULTILINESTRING ((<x1> <y1>, <x2> <y2>, ...), (<x1> <y1>, <x2> <y2>, ...))

POLYGON ((<x1> <y1>, <x2> <y2>, ..., <x1> <y1>))
MULTIPOLYGON (((<x1> <y1>, <x2> <y2>, ..., <x1> <y1>)), ((<x1> <y1>, <x2> <y2>, ..., <x1> <y1>)))
2)描述空间坐标系参数
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
GEOGCS["WGS 84",
    DATUM["WGS_1984",
        SPHEROID["WGS 84",6378137,298.257223563,
            AUTHORITY["EPSG","7030"]],
        AUTHORITY["EPSG","6326"]],
    PRIMEM["Greenwich",0,
        AUTHORITY["EPSG","8901"]],
    UNIT["degree",0.01745329251994328,
        AUTHORITY["EPSG","9122"]],
    AUTHORITY["EPSG","4326"]]
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-08-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
大地测量学:EPSG:4326、EPSG:3857
最近接手一个GIS项目,需要用到 PostGIS,GeoServer,OpenLayers 等工具组件,遇到一堆地理信息相关的术语名词,在这里做一个总结。
Jean
2021/11/22
4K0
大地测量学:EPSG:4326、EPSG:3857
网络地图服务(WMS)详解
经过前文的介绍,相信我们对WMS/WFS服务已经有了一个非常直观的认识,最起码我们知道了地图服务的数据从何而来,又是如何发布出去的。更进一步的说,OGC给WMS/WFS分别定义了非常详尽的标准规范,其主要内容是通过HTTP(Hypertext Transfer Protocol,超文本传输协议 )实现的各种操作。在这里,我们要介绍的WMS支持标准HTTP的Get和Post请求,不过通常情况下基于GET方式(将参数以键值对的形式放置在URL中)进行服务请求较为方便。
charlee44
2024/01/15
1.8K0
网络地图服务(WMS)详解
Web墨卡托公开的小秘密
所谓地图投影,是利用一定数学法则把地球表面的经、纬线转换到平面上的理论和方法。由于地球是一个赤道略宽两极略扁的不规则的梨形球体,故其表面是一个不可展平的曲面,所以运用任何数学方法进行这种转换都会产生误差和变形,为按照不同的需求缩小误差,就产生了各种投影方法,eg:墨卡托投影,高斯克吕格投影, Lambert__投影,UTM__投影…
用户9580384
2022/10/05
3K0
Web墨卡托公开的小秘密
GIS坐标系测绘原理:大地水准面/基准面/参考椭球体/EPSG/SRI/WKT
预热文章系列:《GIS历史概述与WebGis应用开发技术浅解》、《GIS坐标系:WGS84,GCJ02,BD09,火星坐标,大地坐标等解析说与转换》、《OGC标准WMTS服务概念与地图商的瓦片编号流派》、《GIS基础知识 - 坐标系、投影、EPSG:4326、EPSG:3857 》我们过一遍如下概念:
周陆军
2021/07/13
5.5K0
GIS世界里坐标系“黑话”
世界大地测量系统(World geodetic system,简称WGS)是指1960年以来, 由美国国防制图局(DMA)建立的四个世界大地测量系统(WGS60、WGS66、WGS72和WGS84)的统称
追风骚年
2021/11/19
2.5K0
GeoServer发布地图服务(WMS、WFS)
我们知道将GIS数据大致分成矢量数据和栅格数据(地形和三维模型都是兼具矢量和栅格数据的特性)。但是如果用来Web环境中,那么使用图片这个栅格形式的数据载体无疑是最为方便的,因为图片本身就是一种非常重要的GUI元素,使用非常广泛。另外,基于矢量的地图叫做线划图,基于栅格的地图则是影像图。这也是网络地图服务(Web Map Service,以下简称WMS)的含义,可以将传统意义上的矢量数据或者栅格数据,发布成图片形式的地图数据,供浏览器的用户使用。
charlee44
2024/01/08
5.2K0
GeoServer发布地图服务(WMS、WFS)
地图基础
一般有两种坐标系,地图坐标系(geographic coordinate system)和投影坐标系(projected coordinate system)
薛同学要做好汉
2022/07/23
1.4K0
地图基础
多种坐标系之间的转换 Proj.NET和DotSpatial
Proj.NET ( http://projnet.codeplex.com/)是一个.NET下开源的空间参照和投影引擎,遵循OGC相关标准。负责人(Coordinators )是D_Guidi 和SharpGIS,开发者(Developers)还有codekaizen、rstuven等,这些人也是.NET下其他的开源系统如GeoAPI.NET、SharpMap等主要贡献者。License: GNU Library General Public License (LGPL). Proj.NET支持
张善友
2018/01/29
2.2K0
明白了这些术语,才算懂个“球”
最近公司要开展国家2000坐标转换相关的工作,身边的测绘专业的同事给我科普了一下GIS基础知识,甩给我一堆缩写、概念和PPT:
申龙斌
2019/05/08
2.1K0
明白了这些术语,才算懂个“球”
WebGis技术汇总
WebGIS系统通常都围绕地图进行内容表达,但并不是有地图就一定是WebGIS,所以有必要讨论下基于Web的地图API分类及应用场景。
码客说
2023/07/11
1.1K0
Python pyproj 实现地理坐标转换
pyproj是一个Python库,用于执行坐标转换和投影变换。它基于Proj库,后者是一个C库,用于处理地图投影和坐标变换。pyproj提供了Python语言的接口,使得用户可以方便地使用这些功能。
为为为什么
2024/07/02
1.3K0
让GIS三维可视化变得简单-地理坐标系统
地理位置也就是坐标说是 GIS 的灵魂不为过吧,像天气预报、火箭发射包括地震、火山等事故发生时,新闻媒体就会说东经 XX 度、北纬 YY 度发生了什么什么,还有高德百度的地图导航、定位等等都需要用到坐标系统,因为没有准确的位置信息就无法表达地物的位置关系,地图查询分析等等也就无从谈起了
isboyjc
2022/03/28
1.1K0
让GIS三维可视化变得简单-地理坐标系统
cesium使用tif切片的几种方法
GDAL是一个用于栅格和矢量地理空间数据格式的转换库。我们主要使用其中的一个工具gdal2tiles,这是一个生成包含TMS瓦片、KML文件和简单网页查看器的目录的工具。
治电小白菜
2024/12/27
1.4K0
cesium使用tif切片的几种方法
GDAL简介
Geospatial Data Abstraction Library (GDAL)是使用C/C++语言编写的用于读写空间数据的一套跨平台开源库。现有的大部分GIS或者遥感平台,不论是商业软件ArcGIS,ENVI还是开源软件GRASS,QGIS,都使用了GDAL作为底层构建库。
卡尔曼和玻尔兹曼谁曼
2019/01/22
2.5K0
WKT_WK是什么品牌
WKT(Well-known text)是一种文本标记语言,用于表示矢量几何对象、空间参照系统及空间参照系统之间的转换。它的二进制表示方式,亦即WKB(well-known binary)则胜于在传输和在数据库中存储相同的信息。该格式由开放地理空间联盟(OGC)制定。
全栈程序员站长
2022/09/20
6950
如何利用Python进行地理坐标系统的转换?
本文主要讲述地理坐标系统的原理以及怎么利用Python进行地理坐标系统转换,内容包含以下几块:
派大星的数据屋
2022/04/03
1.8K0
如何利用Python进行地理坐标系统的转换?
让GIS三维可视化变得简单-投影坐标系统
投影坐标系统 PCS(Projection Coordinate System),它也叫非地球投影坐标系统 (notearth),或者再简单点叫平面坐标系统,也就是使用基于 X,Y 值的坐标系统来描述地球上某个点所处的位置
isboyjc
2022/03/28
1.4K0
让GIS三维可视化变得简单-投影坐标系统
地理坐标系与投影坐标系的区别
1、首先理解地理坐标系(Geographic coordinate system),Geographic coordinate system直译为 地理坐标系统,是以经纬度为地图的存储单位的。很明显,Geographic coordinate syst em是球面坐标系统。我们要将地球上的数字化信息存放到球面坐标系统上,如何进行操作 呢?地球是一个不规则的椭球,如何将数据信息以科学的方法存放到椭球上?这必然要求 我们找到这样的一个椭球体。这样的椭球体具有特点:可以量化计算的。具有长半轴,短
用户1075292
2018/01/23
2.3K0
投影坐标系转地理坐标系的GDAL实现
  在之前的博客中,我们曾多次介绍过将图层的地理坐标系转为投影坐标系的方法,也就是投影操作——例如ArcGIS矢量图层投影与地理坐标系转为投影坐标系——ArcMap,以及Google Earth Engine谷歌地球引擎地理坐标系、投影坐标系的变换与重投影,还有ArcMap通过模型构建器导出地理与投影坐标系转换的Python代码等。而在本文中,我们将反过来,介绍把一个栅格图像原本的投影坐标系转为地理坐标系的方法。
疯狂学习GIS
2024/04/12
5430
投影坐标系转地理坐标系的GDAL实现
常用坐标系
    随着接触的地图种类越来越多,每种产品对地图服务的坐标系的要求不同,今天遇到了整理的好文,整理记录分享。
sunsky
2022/06/14
4.5K0
常用坐标系
相关推荐
大地测量学:EPSG:4326、EPSG:3857
更多 >
交个朋友
加入[架构及运维] 腾讯云技术交流站
云架构设计 云运维最佳实践
加入程序员养生反内卷联盟
掌握高效工作方法 维持工作生活平衡
加入云原生工作实战群
云原生落地实践 技术难题攻坚探讨
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验