GIS矢量数据模型中很多对象都由多部分组成,点、线、面分别对应多点、多线和多面。在构建基础数据模型开发库的时候,除了要合理的屏蔽各种数据驱动可能带来的数据访问接口不一致问题、合理划分操作等级问题(如从点->线段->线串->多线,环->多边形->多多边形;几何对象、要素、要素类、图层等)还需要在不同的操作等级上注意处理一些较为隐蔽的陷阱,多部分图形与单部分图形就是一个。
设想一下,图层级别下,一般的点、线、面层均可以同时容纳点和多点、线和多线、面和多面,可是很多情况下我们处理的是图层级对象的一个子集,可能只是一个要素类,因此在设计要素类的类时,必须注意:多面要兼容面,多线要兼容线,多点要兼容点。否则可能会造成相当的不便。