大BOX之间有压盖,要求每一个大BOX都要裁剪面内的小box,如果一个小box横跨多个大面,就要被裁剪多次。
因为没有真实数据,所以这次的所有操作都是用的Creator创建的测试数据。在之前我也写过一篇使用PostGIS进行数据处理的文章:用线裁剪面之-PostGIS版本。PostGIS本身是个空间数据库,其本身包含很多的函数。本次测试,共创建了10个大面,50个小面,使用大面去裁剪小面,裁剪后的结果数据里有61个小面,运行截图如下所示:
运行时间是1.6秒,可能运行的速度优势不是太明显,但当数据再增加的时候,比如用10000个大面去裁剪50000个小面呢?
那就,来试一试?
只用了29.4秒!
高效!