ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

挖坑时总卡壳?geo数据库中coff代表啥到底是个啥玩意儿

挖坑时总卡壳?geo数据库中coff代表啥到底是个啥玩意儿

说真的以前我也觉得geocdb里那些字段名看着就头大 特别是coff 这词儿太抽象了 有回接个外包项目 甲方甩个数据库过来 让我查某几个节点的偏移量 我对着屏幕瞪了半天 百度了一圈 全是废话 说这那是技术底层参数 具体是多少没人告诉你 当时心态真崩了 后来找个做底层的哥们吃饭 他喝了口酒跟我说 你就把它当成‘底边’或者‘偏移量’看 一下子就通了

后来我翻了半天文档 又试了几组数据 才彻底弄明白 其实geo数据库中coff代表啥这个问题 核心就在‘基准’二字 你想象一下在地理信息系统里建立坐标系 原点定在那儿 其他点的位置都是相对原点算的 但有时候为了计算方便或者存储精度 我们不会直接存绝对的经纬度 而是存一个相对于某个局部基准面的垂直距离 这个距离就是coff 简单说就是‘离底座的距离’ 或者说是‘垂直方向的位移量’

这玩意儿在实际操作中特别容易踩坑 我前阵子维护一个老旧的地质监测项目 数据是五年前进来的 当时用的坐标系版本比较老 我直接把coff值加到海拔高度上 结果导出的地形图全是坑 看着跟月球表面似的 后来才发现问题出在 不同批次的coff基准面不一样 有的参照的是大地水准面 有的参照的是本地平均海平面 如果不搞清楚这个基准 那geo数据库中coff代表啥的答案就是错的 数据全废 真是让人拍大腿

为了验证这个猜测 我做了个对比实验 找了三个相邻的采样点 手动用全站仪测了相对高差 然后去数据库里查coff值 发现两者相差不到2厘米 误差还在可接受范围内 这说明什么 说明在局部小范围内 coff作为垂直偏移量是靠谱的 但如果你跨大区域 比如从平原到高原 这时候coff的基准面差异会被放大 数据漂移就会非常明显

很多人问 为什么不直接存绝对坐标 非要搞个coff出来 我觉得主要有两个原因 第一是精度 绝对坐标在高程上受地球曲率影响大 相对测量能减小这部分系统误差 第二是历史遗留问题 早期GIS软件对大数值的处理能力有限 存小数值更紧凑 不过说实话 现在这些理由有点站不住脚了 但为了兼容老系统 这东西还得留着

我自己总结了一套笨办法 每次遇到新的geo数据库 先看数据字典里的说明 如果没有 就找几个已知标高点核对 别盲信字段注释 有时候注释是写错的 我见过有把coff标成‘坡度系数’的 结果一查数据完全对不上 这就是为什么我说 搞geo数据库别光看文档 得动手 得用真实数据去撞 撞出火花来你才知道它到底是啥

最后给刚入行的小伙伴提个醒 看到coff别慌 先问自己三个问题 基准面是哪里的 单位是米还是厘米 是不是相对值 搞清楚这三点 基本就稳了 至于geo数据库中coff代表啥的最终定义 还是得看具体使用的坐标系定义文件 别指望一个通用答案能解决所有问题 技术这东西 得在具体场景里才能看清它的真面目

返回列表