什么是火星坐标系?

有时候别人会发给你一个数据,***.ovkml,你怎么打开,一种方式用奥维可以直接打开,因为这种格式就是奥维可以直接识别的格式文件,一般情况下我们收到的文件格式为kml,这种格式是通用的wgs84的格式文件,用经纬度表达的点线面文件,为什么会出现ovkml这种格式的文件,你可以理解为是奥维的技术封闭,这是一般的理解,但是最重要的原因是,奥维底下导出的kml有两种坐标系,一种就是标准的cgcs2000坐标这种格式等同于WGS84格式的文件,之间的差距相对与公开的数据可以忽略不计,下面就是这两种文件的真面目。

用记事本打开文件

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" 
    xmlns:atom="http://www.w3.org/2005/Atom" 
    xmlns:gx="http://www.google.com/kml/ext/2.2" 
    >
    <Document>
        <name>OvitalMap_20240530_102220</name>
        <Folder>
            <name>灵丘补测范围5.30</name>
            <Folder>
                <name>道路中线</name>
                <Placemark>
                    <name>道路中线_0</name>
                    <Style>
                        <LineStyle><color>fd989898</color><width>1</width></LineStyle>
                    </Style>
                    <OvStyle>
                        <TrackStyle><type>5</type><width>1</width></TrackStyle>
                    </OvStyle>
                    <OvCoordType>GCJ-02</OvCoordType>
                        <LineString>
                            <coordinates>114.10102430,39.56292543,0 114.10377049,39.56076904,0 114.10317779,39.55720748,0 114.10127878,39.55319553,0 114.09785007,39.55226651,0 114.09894029,39.56033793,0 114.10102430,39.56292543,0 </coordinates>
                        </LineString>
                </Placemark>
            </Folder>
        </Folder>
    </Document>
</kml>
上面标红的就是本文件的坐标系是GCJ-02,这是什么鬼,简单的说就是人为的加一个偏移量形成的成果文件,有人要问了,为什么不用WGS84坐标系,官方的解释是保密,看清楚了吧,保密,怕你外业采集的数据泄密,实际的生活中导航地图用的就是这种坐标系,常见的百度、高德、腾讯等中国境内的地图,说白了你的导航软件要想在中国上市,就必须地图加上偏移,这种偏移不是线性的,你是找不到规律的,所以也就难以破解了,但是网上有的文章说利用全国足够量的控制点可以求取整个中国区域的偏移规律,我没有实际的操作过所以不知道是否可以达到文章描述的那样

那又有人要问了,GPS获取的是WGS84下的坐标,也就是初始的坐标是WGS84坐标系下的。导航地图的地图坐了偏移,为什么导航的时候还可以准确的导航到目的地,这就是爱思考的小伙伴和不爱思考的小伙伴的区别了,为了保证导航的时候目的地不偏移,所以导航的芯片里面也会嵌入相应的算法参数,也就是说两者都知道怎么偏移了,是不是相对来说你就是没有偏移。

GCJ-02是一个神级的存在,因为没有其他的椭球参数,就只是平面位置的偏移,人们实在想不起来怎么表达这种复杂感情,就用了一个火星坐标系来表示

上面的ovkml数据去掉ov保留kml后缀名就可以用其他的软件打开了,是不是你感觉自己又轻松的解决了一个问题,岂不知这是噩耗的开始,你用记事本打开文件,GCJ-02跃入你的视野,这个意味着什么,意味着你拿到的数据和别人想表达的位置差了!!!!!!我也不知道差了多少,这个文件差了400米,什么400米,哦买噶,这不是闹着玩了,事实就是这样。

解决的办法是:手机奥维导出的时候有坐标系的选项,你只需要选择CGCS2000即可,可不要选什么GCJ-02了,你又不懂瞎选什么。

正确选择之后的文件是下面的

<?xml version="1.0" encoding="UTF-8"?>
<kml xmlns="http://www.opengis.net/kml/2.2" 
    xmlns:atom="http://www.w3.org/2005/Atom" 
    xmlns:gx="http://www.google.com/kml/ext/2.2" 
    >
<Document>
    <name>灵丘</name>
    <Folder>
        <name>道路中线</name>
        <Placemark>
            <name>道路中线_0</name>
            <Style>
                <LineStyle><color>fc989898</color><width>1</width></LineStyle>
            </Style>
            <OvStyle>
                <TrackStyle><type>5</type><width>1</width></TrackStyle>
            </OvStyle>
            <OvCoordType>
CGCS2000</OvCoordType>
                <LineString>
                    <coordinates>114.09431242,39.56161924,0 114.09706082,39.55946309,0 114.09646813,39.55590253,0 114.09456833,39.55189193,0 114.09113789,39.55096402,0 114.09222757,39.55903291,0 114.09431242,39.56161924,0 </coordinates>
                </LineString>
        </Placemark>
    </Folder>
</Document>
</kml>

这样你就可以修改后缀名,改为kml标准的格式了,是不是惊魂一场

还有一种办法就是你知道了是火星坐标系,导入的时候就要选择是火星坐标系,虽然你不愿意承认他在测绘领域的地位,但是你还是要接受它,爱护她,指不定有一天一个政策下来,大家都开始用火星坐标系,测绘行业的春天就又来了,一叶障目不见泰山。

有些时候你发现不了这个错误,如果你转换一下转为DXF格式的你就会发现不对的地方了,无论你叫什么,如果没有提前定义的坐标系约束,本身经纬度坐标之间的差距就会体现出来的,毕竟1就是1,1.5就是1.5。

外业手机的数据可以直接导出为CGCS2000格式的文件,这也是众多软件一个小的后门,你用比较廉价的设备也可以采集CGCS2000测绘通用的数据了,虽然精度差了些,但是对于有的应用场景还是十分友好的,不是吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cehuishi9527

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值