问题描述:
拿到一个道路数据的矢量文件,坐标系是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米,而且长和宽不一样,这可能是因为变形的原因!
其他方法:
可以对数据进行投影下,然后再做!