2007-09-26,周三,于宁乡
===========================================
为提高读取、处理的效率,建议附加条款:
[1]约定Shape Type的值为5(Polygon)时:1 <= nParts,只有一个外环,首先列出外环;
[2]约定Shape Type的值为3(PolyLine)时:1 == nParts;
1、评估:
1.1、对于生产者来说,强化了postcondition,或许必须提高算法的复杂性;
1.2、对于消费者来说,强化了precondition,或许可以降低算法的复杂性;
1.3、没有发现典型的应用场景强烈要求突破这两个条件;
1.4、对存储容量没有任何影响;
1.5、对于消费者来说,因为强化了precondition,所以将不接受部分合法的shape文件;
1.6、实质:构造了一个子代数系统(群、环、域);
2、评估第[1]条:
2.1、许多多边形构造算法(生产者)能在同一个性能水平(Ω级)保证条件[1];[响应1.1]
2.2、许多多边形相关算法(消费者)在条件[1]满足时效率高出若干个Ω级;[响应1.2]
3、评估第[2]条:
3.1、一条记录多个折线的情况(比如arc/info的routine系统),可以定义为一种专用的Shape文件,比如扩展Shape Type为4;也可以通过指定某个标识字段在上层解决一条记录多个折线的情况。[响应1.3]
3.2、对于约定一条记录只一条折线的应用程序来说,避免处理2 <= nParts的数据,更加合理。[响应1.2]
2007-09-27,周四,于宁乡
===========================================
附加条款:
[3]dbf文件只定义三种数据类型:INT4,DOUBLE8,STRING。Date之类不如用STRING代替,在应用层去解释。