WebGIS开发中一些常见的概念

news2024/11/16 17:30:39

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

  • EPSG:3857EPSG:900913: 是Web墨卡托投影坐标系。
    3857

900913

  • EPSG:4490 : CGCS 2000地理坐标系统
    4490

  • EPSG:4214 : Beijing 1954地理坐标系统
    4214

  • EPSG:4610 : Xian 1980地理坐标系统
    image.png

3. GIS数据

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

3.1 矢量数据

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

3.2 栅格数据

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

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

4. OGC

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

image.png

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

4.1 WMS

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

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

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

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

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

6.2 Shapefile

Shapefile 是最常见的地理空间文件类型。所有商业和开源都接受 Shapefile 作为 GIS 格式。Shpaefile文件的大小限制是2GB。
image.png
其中shp、shx以及dbf为扩展名的文件是必需的,它们的内容如下

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

6.3 Geojson

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

// 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)描述空间实体
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)描述空间坐标系参数
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"]]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2043035.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

双指针| Java | (hot100) 力扣283, 11, 15, 42做题总结

leetcode 11 盛最多水的容器 双层for循环暴力 超出时间限制 class Solution {public int maxArea(int[] height) {int h0;int v0;for(int i0; i<height.length; i) {for(int ji1; j<height.length; j) {h Math.min(height[i],height[j]);v Math.max(v, h*(j-i));}}…

【原创公式】【完全二叉树】叶结点的计算【数据结构】

完全二叉树叶结点的计算 【铺垫】1叶结点即度为0的结点 2完全二叉树中度为1的结点只可能有0或1个 3完全二叉树的设叶结点仅可能出现在最后2层 设有完全二叉树T 【区分】第k层有a个叶结点≠第k层有a个结点 &#xff08;1&#xff09;第k层有a个叶结点&#xff1a;T的形态不唯一&…

Mac电脑虚拟机安装win11教程

Mac分享吧 文章目录 效果一、准备工作二、安装步骤方法1&#xff1a;使用虚拟机自带的win11系统&#xff0c;选中系统软件--继续--安装&#xff0c;即可完成win11安装方法2&#xff1a;通过下载好的镜像安装Windows11系统。选择镜像文件位置&#xff0c;安装&#xff0c;配置1…

MySQL进阶-MySQL管理

系统数据库 常用工具 mysql mysqladmin mysqlbinlog mysqlshow mysqldump mysqlimport/source

数据预处理和探索性数据分析(上)

目录 数据预处理 数据清洗 处理缺失值&#xff1a; 异常值检测与处理&#xff1a; 类别特征编码&#xff1a; 特征工程 创建新特征&#xff1a; 特征缩放&#xff1a; 探索性数据分析 (EDA) 使用Matplotlib进行可视化 绘制直方图&#xff1a; 绘制箱线图&#xff1…

this内存原理,成员变量和局部变量的区别

this的作用&#xff1a;区分局部变量和成员变量 this的本质&#xff1a;所在方法调用者的地址值 内存分布&#xff0c;this会保存地址 this.name name 等号的右边触发就近原则接收形参 把接收到的形参赋值给成员变量的name 成员变量&#xff0c;类方法外的变量&#xff0c…

一刷代码随想录(DP10)

115.不同的子序列 题意&#xff1a;给定一个字符串 s 和一个字符串 t &#xff0c;计算在 s 的子序列中 t 出现的个数。 字符串的一个 子序列 是指&#xff0c;通过删除一些&#xff08;也可以不删除&#xff09;字符且不干扰剩余字符相对位置所组成的新字符串。&#xff08;…

这本跨界生意经,南方黑芝麻还是暂时放下了

南方黑芝麻的跨界故事还是难讲通。 近期&#xff0c;南方黑芝麻对外称&#xff0c;公司决定暂缓新能源储能项目建设。据悉&#xff0c;2023年&#xff0c;黑芝麻拟让下属全资子公司——江西小黑小蜜食品有限责任公司转型经营储能锂电池&#xff0c;并加码建设储能锂电池生产基…

计算机毕业设计 美发管理系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

乘法逆元加练

前言&#xff1a;求乘法的逆元就是 n ^ (p-2), 我们平时乘以这个也是为了 #include<bits/stdc.h> using namespace std;#define int long long int n,p;int qw(int x,int num){int ans 1;while(num){if(num&1) ans ans * x % p;x x*x % p;num>>1;}return an…

SpringBoot的事务/调度/缓存/邮件发送和一些Spring知识点总结

目录 1、SpringBoot的事务管理 2、SpringBoot的异步任务 3、SpringBoot定时任务调度 4、SpringBoot整合Mail发送邮件 5、Spring框架中的Bean的作用域 6、Spring框架中的Bean的线程安全 7、 Spring框架中的Bean生命周期 8、Spring框架如何解决循环依赖&#xff1f; 9、…

深度相机与红外光相机+摄像头RTSP协议

0、绪论 一般而言&#xff0c;从深度信息的角度考虑相机&#xff0c;相机可以分为&#xff1a;单目&#xff0c;双目&#xff0c;RGB-D相机&#xff1b;单目或者双目相机都是通过被动的接收信息之后通过算法解算得到图片中的深度信息&#xff0c;​ RGB-D相机是主动式的&#…

将pytorch配置到jupyter里面(个人踩坑向)

一开始跟着大部分博主的创建一块虚拟环境和打开虚拟环境都应该没啥问题 这个就是创建一个python为3.6的环境&#xff08;你愿意创建啥环境就啥环境&#xff0c;但是3.6比较香&#xff0c;我之前傻不愣登的弄了个3.11&#xff08;想配套我自己的python&#xff09;人家说没有&am…

接口优化笔记

索引 添加索引 where条件的关键自动或者order by后面的排序字段可以添加索引加速查询 索引只能通过删除新增进行修改&#xff0c;无法直接修改。 # 查看表的索引 show index from table_name; show create table table_name; # 添加索引 alter table table_name add index …

回归预测|基于HGS-CNN-LSTM-Attention的数据回归预测Matlab程序 多特征输入单输出 含基础模型

回归预测|基于HGS-CNN-LSTM-Attention的数据回归预测Matlab程序 多特征输入单输出 含基础模型 文章目录 前言回归预测|基于HGS-CNN-LSTM-Attention的数据回归预测Matlab程序 多特征输入单输出 含基础模型 一、HGS-CNN-LSTM-Attention模型1. 模型组件概述1.1. 海鸥优化算法&…

日撸Java三百行(day24:二叉树的建立)

目录 一、分析准备 二、代码实现 1.方法创建 2.数据测试 3.完整的程序代码 总结 一、分析准备 在日撸Java三百行&#xff08;day22&#xff1a;二叉树的存储&#xff09;中&#xff0c;我们学习的是如何将链表二叉树转换为顺序表二叉树进行存储&#xff0c;而今天我们要…

厂家揭秘:劳保鞋里的防砸黑科技,这些材料你了解多少?

在工业生产的前沿阵地&#xff0c;安全生产始终是企业发展的基石&#xff0c;也是每一位劳动者的头等大事。在繁忙的生产线上&#xff0c;一双看似普通的劳保鞋&#xff0c;实则蕴含着保护我们双脚免受意外伤害的重要科技——防砸材料。今天&#xff0c;百华小编就来和大家盘点…

大模型RAG企业级项目实战:ChatDoc与文件聊天交互完整版代码

大模型RAG企业级项目实战&#xff1a;手把手带你搭建一套属于你的RAG系统 完整的 RAG 应用流程主要包含两个阶段&#xff1a; 数据准备阶段&#xff1a;&#xff08;1&#xff09;数据提取–> &#xff08;2&#xff09;分块&#xff08;Chunking&#xff09;–> &…

五、1 算数操作符位操作符

1、算数操作符 &#xff08;1&#xff09;“ / ”得到一个整数商&#xff0c;不包含余数 进行浮点数除法&#xff0c;操作符两端至少有一个浮点数 &#xff08;2&#xff09;“ % ”取模&#xff0c;得到余数 两端必须为整数 2、位操作符&#xff08;只适用于整型&#xff…

Linux 中的同步机制——rwsem

代码基于&#xff1a;Kernel 6.6 0. 前言 读写信号量的原理与读写锁类似&#xff0c;读写信号量归根到底是 “信号量”&#xff0c;读写锁归根到底是 “自旋锁”&#xff0c;而信号量与自旋锁的区别一个可以睡眠&#xff0c;一个只能自旋。 读写信号量原理&#xff1a; 允许…