刚入行做地理信息系统的时候,我也天真地以为,只要拿到了数据,画个图、做个分析,项目就能搞定。直到后来被甲方爸爸怼得怀疑人生,我才明白一个残酷的真相:geo的数据可以直接使用吗?答案通常是:绝对不行,除非你想让项目烂尾。
记得去年接了个智慧城市的项目,甲方给了我一堆坐标点,说是“现成的数据”,让我直接入库。我看了一眼,格式倒是挺全,经纬度也有,心里暗喜,觉得这活儿简单。结果导入GIS软件一看,好家伙,有的点在太平洋,有的在非洲,还有的居然飘到了大气层外。那一刻,我真是想顺着网线过去把甲方按在地上摩擦。这就是典型的“脏数据”,看着像那么回事,实际上全是坑。
很多人觉得,数据就是数据,只要格式对就能用。大错特错。geo的数据可以直接使用吗?这得看你的数据干不干净,准不准,还有适不适合自己的业务场景。
首先,坐标系是个大坑。国内常用的有WGS84、CGCS2000、北京54、西安80等等。如果你拿着WGS84的数据,直接往CGCS2000的地图底图上套,哪怕只差了零点几秒,放大到城市级别,偏差都能有几米甚至几十米。做导航还好点,要是做土地确权或者工程测量,这误差能把你害死。所以,第一步,必须确认数据的坐标系,如果和底图不一致,老老实实做坐标转换,别偷懒,别指望软件自动转换就能完美匹配。
其次,属性数据的完整性。很多原始数据只有几何信息,没有属性,或者属性字段乱七八糟。比如一个地块数据,只有边界线,没有面积、用途、产权人信息。这时候你直接拿来用,画出来的图就是个空壳子,没法做分析,也没法做展示。这时候就需要第二步,数据清洗和补全。通过关联其他数据库,或者人工录入,把缺失的属性填上。这个过程虽然繁琐,但绝对是必不可少的。
再者,拓扑关系错误。这是最让人头疼的。比如两个相邻的地块,边界线没有重合,中间留了条缝,或者重叠了一部分。这种数据在显示上可能看不出来,但一旦做空间分析,比如计算面积总和,结果就会少得离谱。这时候第三步,进行拓扑检查,修复重叠、缝隙、悬挂点等错误。别嫌麻烦,这一步省了,后面分析出来的数据全是错的,到时候背锅的还是你。
还有时效性问题。geo的数据是有保质期的。去年的道路数据,今年可能因为修路已经变了样。如果你拿五年前的数据去做现在的城市规划,那简直就是刻舟求剑。所以,第四步,核实数据的现势性。问清楚数据采集的时间,如果是旧数据,最好去现场踏勘一下,或者用最新的影像图进行比对修正。
最后,别忽视数据的质量标准。有些数据是粗略测量的,精度只有米级;有些是高精度测绘,精度达到厘米级。如果你的项目需要高精度,却用了低精度数据,那结果肯定不行。反之,如果只需要宏观趋势,用高精度数据反而浪费资源。所以,第五步,评估数据精度是否满足需求。
总之,geo的数据可以直接使用吗?我的回答是:极少部分经过严格质检的数据可以,大部分都需要经过一番折腾。别指望天上掉馅饼,数据清洗和预处理才是GIS工作的核心。与其抱怨数据烂,不如提升自己的数据处理能力。毕竟,垃圾进,垃圾出,这是铁律。
希望这些踩坑经验能帮到你。下次再拿到数据,先别急着画,多问几个为什么,多检查几遍,能省掉你半夜加班改图的痛苦。记住,数据不是拿来就用的,是拿来“养”的。养好了,它才能为你所用。