• 地理坐标系下1度和1米之间的关系


    问题描述:

    拿到一个道路数据的矢量文件,坐标系是GCS_WGS_1984,

    其prj文件为:

    GEOGCS["GCS_WGS_1984",

         DATUM["D_WGS_1984",SPHEROID["WGS_1984",6378137.0,298.257223563]],

         PRIMEM["Greenwich",0.0],

         UNIT["Degree",0.0174532925199433]

          ]

    在ArcGIS Catalog里面显示的是:

    Angular Unit: Degree (0.017453292519943299)
    Prime Meridian: Greenwich (0.000000000000000000)
    Datum: D_WGS_1984
    Spheroid: WGS_1984
    Semimajor Axis: 6378137.000000000000000000
    Semiminor Axis: 6356752.314245179300000000
    Inverse Flattening: 298.257223563000030000

    目的是:

    根据道路图层的范围,划分4Km*4Km的网格,便于后续的处理;

    分析:

    因为地理坐标系显示的是度分秒,所以要想划分km的网格,就需要知道在GCS_WGS_1984坐标系下,1米对应的度数是多少?

    然后使用工具箱中的fishnet工具即可;

    百度结果:

    http://www.08kan.com/gwk/MzA5NjE1OTM4OA/202219029/1/510f7a9843264a7a5e45a7bc411412d9.html

    问:
    我看一本书上写的是,在使用十进制度的wgs_1984坐标系中,数据精度是1厘米,容限值为(0.01/(6378137*0.017453292519943299))/10,约等于8.983e-9,当时看了之后不明白为什么要除以(6378137*0.017453292519943299)这串数字,现在也不明白,我现在的数据的Projected CoordinateSystem是WGS_1984_UTM_Zone_49N,在按照此作拓扑时,拓扑容限值默认是0.001,而不是8.983e-9,不知为什么,我如果把0.001改成8.983e-9,在结束时就会出错,不知为什么,请大家指教。
    答:
    除以那个数是计算在赤道上1米相当于多少度的一段圆弧。360°=2π*赤道半径(≈6378137)米,则1米≈360°/(2π*6378137),而2π/360≈0.017453292519943299,也就是1米≈1/(6378137*0.017453292519943299)° 而一般设为容差为精度的10倍。根据上面的分析不难得出那个结果。
    WGS_1984_UTM_Zone_49N的单位是米,所以该设成0.001,而不是设成8.983e-9,只有以度为单位的地理坐标系才能设成8.983e-9

    上面的分析可知:

    在赤道上1米相当于多少度:1米≈1/(6378137*0.017453292519943299)° 

    1千米=4000*1/(6378137*0.017453292519943299)° =0.03593261136478085740510005025863

    所以:

    在ArcGIS中界面如下所示:

    结果算是基本满意,为什么这么说呢?

    因为,得到的结果的边长约等于4000米,而且长和宽不一样,这可能是因为变形的原因!

    其他方法:

    可以对数据进行投影下,然后再做!

  • 相关阅读:
    5 粘包现象与解决方案
    4 Socket代码实例
    协程与多路io复用epool关系
    基于selector的socket并发
    基于select类型多路IO复用,实现简单socket并发
    协程实现多并发socket,跟NGINX一样
    利用协程实现简单爬虫
    协程
    进程池pool
    进程锁 Lock
  • 原文地址:https://www.cnblogs.com/qiernonstop/p/4353897.html
Copyright © 2020-2023  润新知