目前正在做行政区划融合方面的事情。有一些感触需要总结一下。
所谓行政区划融合就是将不同来源的数据融合到一起,组成相对每一份数据都更完整的行政区划数据。
行政区划融合最主要的问题在于父子行政区划的形状融合。
首先需要解决哪些子行政区划需要摘取父行政区划的外环形点,这里有一个精妙的策略:凡是形点不共享的一定是需要摘取外环形点的,如下图所示:
上图中有6个形点,最左侧3个形点必然是需要摘取父行政区划的部分,右边的三个点则不需要。
需要摘取的3个形点有一个特点,那就是这些点所在的线段是非共线的。
其次是边界问题,我只需要摘取右边3个形点所跨父行政区划的线段,还是需要多摘取前后2个点呢?
目前我的做法是只摘取了这3个点,这样会有一个问题就是边界部分和父行政区划不完全吻合,如下图:
然而如果加上前后点的话,则会有引入自相交的风险,综合算下来还是只摘取3个点划算。
众所周知,由于不同来源的数据制图工艺差异,导致父子行政区划并不吻合,如下图所示,是否可以通过平移子行政区划数据来尽量减少这种源数据误差呢?
其实是可以的。
本文以相交面积和父行政区划的面积差异作为代价函数,采用爬山算法来计算平移范围,可以取得好一点的结果,是否能够被接受,还需要产品拍板。