• GIS基础


    作为一个没有系统学习过GIS方面的相关知识的开发者,实现一些GIS相关的需求,一开始上手是很头疼的,我也是发现实在绕不过去,所以把相关知识的自己的理解梳理一下。

    一、地理坐标系

    概念:

    是使用三维球面来定义地球表面位置,以实现通过经纬度对地球表面点位引用的坐标系。一个地理坐标系包括角度测量单位、本初子午线和参考椭球体三部分。在球面系统中,水平线是等纬度线或纬线。垂直线是等经度线或经线。

    以下分步来表示表示这个地球,通常使用三级逼近的方法。

    一、大地水准面

    因为地球表面是高低起伏的,那么为了得到一个标准的球体,假设所有陆地的部分都是水,于是又有一个概念,大地水准面
    在这里插入图片描述

    二、椭球体

    再次使用数学公式,对这个球体进行抽象表示,得到一个比较标准的椭圆球体,于是产生了下面的人一个重要的概念椭球体。这里就包含比较多的与椭球体相关的知识。
    椭球体的属性:
    1、长半轴 a
    2、短半轴 b
    3、扁率 alpha=(a-b)/a
    2、第一偏心率 e=(a²-b²)^0.5/a
    3、第二偏心率 e=(a²-b²)^0.5/b
    常见的椭球体
    克拉索夫斯基椭球
    1975GRS椭球体
    WGS84椭球体
    CGCS2000椭球体

    三、大地基准面

    确定了一个规则的椭球表面以后,我们会发现还有一个问题,参考椭球体是对地球的抽象,因此其并不能去地球表面完全重合,在设置参考椭球体的时候必然会出现有的地方贴近的好(参考椭球体与地球表面位置接近),有地地方贴近的不好的问题,因此这里还需要一个大地基准面来控制参考椭球和地球的相对位置。 这是地球表面的第三级逼近。有以下两类基准面:

    地心基准面:由卫星数据得到,使用地球的质心作为原点,使用最广泛的是 WGS 1984。
    区域基准面:特定区域内与地球表面吻合,大地原点是参考椭球与大地水准面相切的点,例如Beijing54、Xian80。我们通常称谓的Beijing54、Xian80坐标系实际上指的是我国的两个大地基准面。

    基准面有很多,谁都可以制定更符合自己地区的基准面,各种基准面可以通过一定的参数进行转换,也就是常说的“七参数”
     - x、y、z线性平移量
     - x、y、z旋转角度
     - 尺度因子
    
    • 1
    • 2
    • 3
    • 4

    我们通常说的参心大地坐标系和地心大地坐标系的区别就在于此。
    参心大地坐标系:指经过定位与定向后,地球椭球的中心不与地球质心重合而是接近地球质心。区域性大地坐标系。是我国基本测图和常规大地测量的基础。如Beijing54、Xian80(适用于某些地区)。
    地心大地坐标系:指经过定位与定向后,地球椭球的中心与地球质心重合。如CGCS2000、WGS84(比较通用)。

    用一种形式来表示球面坐标(地理坐标经纬度)
     这里有两种表达大地坐标系的方式:
     大地经纬度坐标系:(L、B、H)
     空间一点的大地坐标用大地经度L、大地纬度B和大地高度H表示,地面上P地点的大地子午面NPS与起始大地子午面所构成的二面角L称P地点的大地经度, P地点对于椭球的法线与赤道面的夹角B称P地点的大地纬度。
     空间直角坐标系:(X、Y、Z)
     空间直角坐标系的坐标原点与参考椭球的中心重合,Z轴正向指向参考椭球的北极,X轴正向指向起始子午面与赤道的交点,Y轴按右手系与X轴呈90°夹角且位于赤道面上,某点在空间中的坐标可用该点在此空间坐标系的各个坐标轴上的投影来表示。
    *注意:
    纬度B:P向球体做法线,由于长短半轴不等即非球体,故不交与球心O
    高度H:在球体表面时,H=O*
    这两种坐标系可以相互转换,不考虑小数精度的情况下,此而这转换不会丢失精度。
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在这里插入图片描述

    二、投影坐标系

    投影坐标系的形式:
    Beijing 1954 3 Degree GK Zone 42
    Beijing 1954 3 Degree GK Zone 43
    Beijing 1954 3 Degree GK Zone 44
    Beijing 1954 GK Zone 13
    Beijing 1954 GK Zone 14

    投影坐标系使用基于X,Y值的坐标系统来描述地球上某个点所处的位置。这个坐标系是
    从地球的近似椭球体投影得到的,它对应于某个地理坐标系。

    投影坐标系 = 大地坐标系 + 投影方法(投影函数或映射函数)
    所以,投影坐标系的形式就是投影坐标系前面都会挂有地理坐标系。

    常见投影:
    按变形性质分类:
    等角投影:角度变形为零(Mercator)
    等积投影:面积变形为零(Albers)
    任意投影:长度、角度和面积都存在变形
    其中,各种变形相互联系相互影响:等积与等角互斥,等积投影角度变形大,等角投影面积变形大。
    从投影面类型划分:

    横圆柱投影:投影面为横圆柱
    圆锥投影:投影面为圆锥
    方位投影:投影面为平面
    从投影面与地球位置关系划分为:

    正轴投影:投影面中心轴与地轴相互重合
    斜轴投影:投影面中心轴与地轴斜向相交
    横轴投影:投影面中心轴与地轴相互垂直
    相切投影:投影面与椭球体相切
    相割投影:投影面与椭球体相割

    高斯克吕格投影
    我国基本比例尺地形图(1:100万、1:50万、1:25万、1:10万、1:5万、1:2.5万、1:1万、1:5000)除1:100万以外均采用高斯-克吕格Gauss-Kruger投影(横轴等角切圆柱投影)为地理基础。

    我们经常会听到6°分带,3°分带的说法。其实并不是所有投影都有分带,从下面一张图就可以看出,分带是高斯克吕格投影自带的。

    在这里插入图片描述
    高斯-克吕格投影分带规定:该投影是国家基本比例尺地形图的数学基础,为控制变形,采用分带投影的方法,在比例尺1:2.5万—1:50万图上采用6°分带,对比例尺为1:1万及大于1:1万的图采用3°分带。

    6°分带法:从格林威治零度经线起,每6°分为一个投影带,全球共分为60个投影带,东半球从东经0°—6°为第一带,中央经线为3°,依此类推,投影带号为1—30。其投影代号n和中央经线经度L0的计算公式为:L0=(6n—3)°;西半球投影带从180°回算到0°,编号为31—60,投影代号n和中央经线经度L0的计算公式为L0=360—(6n—3)°。

    3°分带法:从东经1°30′起,每3°为一带,将全球划分为120个投影带,东经1°30′—4°30′,…178°30′—西经178°30′,…1°30′—东经1°30′。
    东半球有60个投影带,编号1—60,各带中央经线计算公式:L0=3°n,中央经线为3°、6°…180°。西半球有60个投影带,编号1—60,各带中央经线计算公式:L0=360°—3°n,中央经线为西经177°、…3°、0°。

    为了便于地形图的测量作业,在高斯-克吕格投影带内布置了平面直角坐标系统,具体方法是,规定中央经线为X轴,赤道为Y轴,中央经线与赤道交点为坐标原点,x值在北半球为正,南半球为负,y值在中央经线以东为正,中央经线以西为负。由于我国疆域均在北半球,x值均为正值,为了避免y值出现负值,规定各投影带的坐标纵轴均西移500km,中央经线上原横坐标值由0变为500km。为了方便带间点位的区分,可以在每个点位横坐标y值的百千米位数前加上所在带号。

    三、坐标转换

    web开发我们常用proj4来做左边转换。
    官网:http://proj4js.org/
    此外我还用到另一个网站:
    https://epsg.io/ 或者 https://spatialreference.org/ref/epsg/3395/proj4/ 来获得投影参数

    在这里插入图片描述

    在这里插入图片描述

    DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta http-equiv="X-UA-Compatible" content="IE=edge">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <title>Documenttitle>
      <script src="./lib/proj4.js">script>
    head>
    <body>
      <script>
    console.log(proj4);
    console.log(proj4(proj4('EPSG:4326'), proj4('EPSG:3857'), [113, 23]));
    proj4(proj4('EPSG:4326'), proj4('EPSG:3857'), [113, 23]);
      // return proj4(proj4('EPSG:4326'), proj4('EPSG:3857'), [lng, lat])
    
      proj4.defs("EPSG:3395","+proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +datum=WGS84 +units=m +no_defs");
      // +proj=merc +lon_0=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +datum=WGS84 +units=m +no_defs 
    
    console.log( proj4(proj4('EPSG:4326'), proj4('EPSG:3395'), [113, 23]));
      // proj4(proj4('EPSG:4326'), proj4('EPSG:3857'), [113, 23]);
      script>
     
    body>
    html>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25

    四:空间坐标系对应EPSG编号

    • Geographic Coordinate System 地理坐标
    WKID地理坐标
    4214GCS_Beijing_1954(北京1954坐标系)
    4326GCS_WGS_1984(GPS采用的坐标系)
    4490GCS_China_Geodetic_Coordinate_System_2000(国家2000)
    4555GCS_New_Beijing
    4610GCS_Xian_1980(西安1980坐标系)
    • Projected Coordinate System 投影坐标

    EPSG 投影坐标系名称 经度最小 经度最大 中央经线 备注
    4513 CGCS2000 / 3-degree Gauss-Kruger zone 25 73.5 76.5 75 加代号
    4514 CGCS2000 / 3-degree Gauss-Kruger zone 26 76.5 79.5 78 加代号
    4515 CGCS2000 / 3-degree Gauss-Kruger zone 27 79.5 82.5 81 加代号
    4516 CGCS2000 / 3-degree Gauss-Kruger zone 28 82.5 85.5 84 加代号
    4517 CGCS2000 / 3-degree Gauss-Kruger zone 29 85.5 88.5 87 加代号
    4518 CGCS2000 / 3-degree Gauss-Kruger zone 30 88.5 91.5 90 加代号
    4519 CGCS2000 / 3-degree Gauss-Kruger zone 31 91.5 94.5 93 加代号
    4520 CGCS2000 / 3-degree Gauss-Kruger zone 32 94.5 97.5 96 加代号
    4521 CGCS2000 / 3-degree Gauss-Kruger zone 33 97.5 100.5 99 加代号
    4522 CGCS2000 / 3-degree Gauss-Kruger zone 34 100.5 103.5 102 加代号
    4523 CGCS2000 / 3-degree Gauss-Kruger zone 35 103.5 106.5 105 加代号
    4524 CGCS2000 / 3-degree Gauss-Kruger zone 36 106.5 109.5 108 加代号
    4525 CGCS2000 / 3-degree Gauss-Kruger zone 37 109.5 112.5 111 加代号
    4526 CGCS2000 / 3-degree Gauss-Kruger zone 38 112.5 115.5 114 加代号
    4527 CGCS2000 / 3-degree Gauss-Kruger zone 39 115.5 118.5 117 加代号
    4528 CGCS2000 / 3-degree Gauss-Kruger zone 40 118.5 121.5 120 加代号
    4529 CGCS2000 / 3-degree Gauss-Kruger zone 41 121.5 124.5 123 加代号
    4530 CGCS2000 / 3-degree Gauss-Kruger zone 42 124.5 127.5 126 加代号
    4531 CGCS2000 / 3-degree Gauss-Kruger zone 43 127.5 130.5 129 加代号
    4532 CGCS2000 / 3-degree Gauss-Kruger zone 44 130.5 133.5 132 加代号
    4533 CGCS2000 / 3-degree Gauss-Kruger zone 45 133.5 136.5 135 加代号
    4534 CGCS2000 / 3-degree Gauss-Kruger CM 75E 73.5 76.5 75
    4535 CGCS2000 / 3-degree Gauss-Kruger CM 78E 76.5 79.5 78
    4536 CGCS2000 / 3-degree Gauss-Kruger CM 81E 79.5 82.5 81
    4537 CGCS2000 / 3-degree Gauss-Kruger CM 84E 82.5 85.5 84
    4538 CGCS2000 / 3-degree Gauss-Kruger CM 87E 85.5 88.5 87
    4539 CGCS2000 / 3-degree Gauss-Kruger CM 90E 88.5 91.5 90
    4540 CGCS2000 / 3-degree Gauss-Kruger CM 93E 91.5 94.5 93
    4541 CGCS2000 / 3-degree Gauss-Kruger CM 96E 94.5 97.5 96
    4542 CGCS2000 / 3-degree Gauss-Kruger CM 99E 97.5 100.5 99
    4543 CGCS2000 / 3-degree Gauss-Kruger CM 102E 100.5 103.5 102
    4544 CGCS2000 / 3-degree Gauss-Kruger CM 105E 103.5 106.5 105
    4545 CGCS2000 / 3-degree Gauss-Kruger CM 108E 106.5 109.5 108
    4546 CGCS2000 / 3-degree Gauss-Kruger CM 111E 109.5 112.5 111
    4547 CGCS2000 / 3-degree Gauss-Kruger CM 114E 112.5 115.5 114
    4548 CGCS2000 / 3-degree Gauss-Kruger CM 117E 115.5 118.5 117
    4549 CGCS2000 / 3-degree Gauss-Kruger CM 120E 118.5 121.5 120
    4550 CGCS2000 / 3-degree Gauss-Kruger CM 123E 121.5 124.5 123
    4551 CGCS2000 / 3-degree Gauss-Kruger CM 126E 124.5 127.5 126
    4552 CGCS2000 / 3-degree Gauss-Kruger CM 129E 127.5 130.5 129
    4553 CGCS2000 / 3-degree Gauss-Kruger CM 132E 130.5 133.5 132
    4554 CGCS2000 / 3-degree Gauss-Kruger CM 135E 133.5 136.5 135
    2401 Beijing_1954_3_Degree_GK_Zone_25 73.5 76.5 75 加代号
    2402 Beijing_1954_3_Degree_GK_Zone_26 76.5 79.5 78 加代号
    2403 Beijing_1954_3_Degree_GK_Zone_27 79.5 82.5 81 加代号
    2404 Beijing_1954_3_Degree_GK_Zone_28 82.5 85.5 84 加代号
    2405 Beijing_1954_3_Degree_GK_Zone_29 85.5 88.5 87 加代号
    2406 Beijing_1954_3_Degree_GK_Zone_30 88.5 91.5 90 加代号
    2407 Beijing_1954_3_Degree_GK_Zone_31 91.5 94.5 93 加代号
    2408 Beijing_1954_3_Degree_GK_Zone_32 94.5 97.5 96 加代号
    2409 Beijing_1954_3_Degree_GK_Zone_33 97.5 100.5 99 加代号
    2410 Beijing_1954_3_Degree_GK_Zone_34 100.5 103.5 102 加代号
    2411 Beijing_1954_3_Degree_GK_Zone_35 103.5 106.5 105 加代号
    2412 Beijing_1954_3_Degree_GK_Zone_36 106.5 109.5 108 加代号
    2413 Beijing_1954_3_Degree_GK_Zone_37 109.5 112.5 111 加代号
    2414 Beijing_1954_3_Degree_GK_Zone_38 112.5 115.5 114 加代号
    2415 Beijing_1954_3_Degree_GK_Zone_39 115.5 118.5 117 加代号
    2416 Beijing_1954_3_Degree_GK_Zone_40 118.5 121.5 120 加代号
    2417 Beijing_1954_3_Degree_GK_Zone_41 121.5 124.5 123 加代号
    2418 Beijing_1954_3_Degree_GK_Zone_42 124.5 127.5 126 加代号
    2419 Beijing_1954_3_Degree_GK_Zone_43 127.5 130.5 129 加代号
    2420 Beijing_1954_3_Degree_GK_Zone_44 130.5 133.5 132 加代号
    2421 Beijing_1954_3_Degree_GK_Zone_45 133.5 136.5 135 加代号
    2422 Beijing_1954_3_Degree_GK_CM_75E 73.5 76.5 75
    2423 Beijing_1954_3_Degree_GK_CM_78E 76.5 79.5 78
    2424 Beijing_1954_3_Degree_GK_CM_81E 79.5 82.5 81
    2425 Beijing_1954_3_Degree_GK_CM_84E 82.5 85.5 84
    2426 Beijing_1954_3_Degree_GK_CM_87E 85.5 88.5 87
    2427 Beijing_1954_3_Degree_GK_CM_90E 88.5 91.5 90
    2428 Beijing_1954_3_Degree_GK_CM_93E 91.5 94.5 93
    2429 Beijing_1954_3_Degree_GK_CM_96E 94.5 97.5 96
    2430 Beijing_1954_3_Degree_GK_CM_99E 97.5 100.5 99
    2431 Beijing_1954_3_Degree_GK_CM_102E 100.5 103.5 102
    2432 Beijing_1954_3_Degree_GK_CM_105E 103.5 106.5 105
    2433 Beijing_1954_3_Degree_GK_CM_108E 106.5 109.5 108
    2434 Beijing_1954_3_Degree_GK_CM_111E 109.5 112.5 111
    2435 Beijing_1954_3_Degree_GK_CM_114E 112.5 115.5 114
    2436 Beijing_1954_3_Degree_GK_CM_117E 115.5 118.5 117
    2437 Beijing_1954_3_Degree_GK_CM_120E 118.5 124.5 120
    2438 Beijing_1954_3_Degree_GK_CM_123E 121.5 121.5 123
    2439 Beijing_1954_3_Degree_GK_CM_126E 124.5 127.5 126
    2440 Beijing_1954_3_Degree_GK_CM_129E 127.5 130.5 129
    2441 Beijing_1954_3_Degree_GK_CM_132E 130.5 133.5 132
    2442 Beijing_1954_3_Degree_GK_CM_135E 133.5 136.5 135
    2349 Xian_1980_3_Degree_GK_Zone_25 73.5 76.5 75 加代号
    2350 Xian_1980_3_Degree_GK_Zone_26 76.5 79.5 78 加代号
    2351 Xian_1980_3_Degree_GK_Zone_27 79.5 82.5 81 加代号
    2352 Xian_1980_3_Degree_GK_Zone_28 82.5 85.5 84 加代号
    2353 Xian_1980_3_Degree_GK_Zone_29 85.5 88.5 87 加代号
    2354 Xian_1980_3_Degree_GK_Zone_30 88.5 91.5 90 加代号
    2355 Xian_1980_3_Degree_GK_Zone_31 91.5 94.5 93 加代号
    2356 Xian_1980_3_Degree_GK_Zone_32 94.5 97.5 96 加代号
    2357 Xian_1980_3_Degree_GK_Zone_33 97.5 100.5 99 加代号
    2358 Xian_1980_3_Degree_GK_Zone_34 100.5 103.5 102 加代号
    2359 Xian_1980_3_Degree_GK_Zone_35 103.5 106.5 105 加代号
    2360 Xian_1980_3_Degree_GK_Zone_36 106.5 109.5 108 加代号
    2361 Xian_1980_3_Degree_GK_Zone_37 109.5 112.5 111 加代号
    2362 Xian_1980_3_Degree_GK_Zone_38 112.5 115.5 114 加代号
    2363 Xian_1980_3_Degree_GK_Zone_39 115.5 118.5 117 加代号
    2364 Xian_1980_3_Degree_GK_Zone_40 118.5 121.5 120 加代号
    2365 Xian_1980_3_Degree_GK_Zone_41 121.5 124.5 123 加代号
    2366 Xian_1980_3_Degree_GK_Zone_42 124.5 127.5 126 加代号
    2367 Xian_1980_3_Degree_GK_Zone_43 127.5 130.5 129 加代号
    2368 Xian_1980_3_Degree_GK_Zone_44 130.5 133.5 132 加代号
    2369 Xian_1980_3_Degree_GK_Zone_45 133.5 136.5 135 加代号
    2370 Xian_1980_3_Degree_GK_CM_75E 73.5 76.5 75
    2371 Xian_1980_3_Degree_GK_CM_78E 76.5 79.5 78
    2372 Xian_1980_3_Degree_GK_CM_81E 79.5 82.5 81
    2373 Xian_1980_3_Degree_GK_CM_84E 82.5 85.5 84
    2374 Xian_1980_3_Degree_GK_CM_87E 85.5 88.5 87
    2375 Xian_1980_3_Degree_GK_CM_90E 88.5 91.5 90
    2376 Xian_1980_3_Degree_GK_CM_93E 91.5 94.5 93
    2377 Xian_1980_3_Degree_GK_CM_96E 94.5 97.5 96
    2378 Xian_1980_3_Degree_GK_CM_99E 97.5 100.5 99
    2379 Xian_1980_3_Degree_GK_CM_102E 100.5 103.5 102
    2380 Xian_1980_3_Degree_GK_CM_105E 103.5 106.5 105
    2381 Xian_1980_3_Degree_GK_CM_108E 106.5 109.5 108
    2382 Xian_1980_3_Degree_GK_CM_111E 109.5 112.5 111
    2383 Xian_1980_3_Degree_GK_CM_114E 112.5 115.5 114
    2384 Xian_1980_3_Degree_GK_CM_117E 115.5 118.5 117
    2385 Xian_1980_3_Degree_GK_CM_120E 118.5 121.5 120
    2386 Xian_1980_3_Degree_GK_CM_123E 121.5 124.5 123
    2387 Xian_1980_3_Degree_GK_CM_126E 124.5 127.5 126
    2388 Xian_1980_3_Degree_GK_CM_129E 127.5 130.5 129
    2389 Xian_1980_3_Degree_GK_CM_132E 130.5 133.5 132
    2390 Xian_1980_3_Degree_GK_CM_135E 133.5 136.5 135

  • 相关阅读:
    亿道丨三防平板丨手持平板丨加固平板丨助力地震救援
    闲杂篇(一)vs2017 c语言、c++从一个函数返回多个参数给主函数|c++函数之间结构体如何传递参数
    nyoj 题目287 Radar 贪心算法
    生物素标记甾体化合物/多杀菌素探针分子/壳聚糖/聚乙二醇偶连基团为华生物提供
    Find My资讯|苹果Vision Pro无法通过Find My进行远程定位和发声
    [激光原理与应用-26]:《激光原理与技术》-12- 激光产生技术-短脉冲、超短脉冲、调Q技术、锁模技术
    MySQL - mvcc
    联表查询之交叉连接、内、外连接
    前端实现 查询包含分页 以及封装table表格 上手即用!
    图的理论基础
  • 原文地址:https://blog.csdn.net/sumtre_w/article/details/126754936