A pooling space is defined to be a ranked partially ordered set with atomic intervals. We show how to construct non-adaptive pooling designs from a pooling space. Our pooling designs are e-error detecting for some e; moreover e can be chosen to be very large compared with the maximal number of defective items. Eight new classes of nonadaptive pooling designs are given, which are related to the Hamming matroid, the attenuated space, and six classical polar spaces. We show how to construct a new pooling space from one or two given pooling spaces.