def hydrate_point(srid, *coordinates):
try:<EOL><INDENT>point_class, dim = __srid_table[srid]<EOL><DEDENT>except KeyError:<EOL><INDENT>point = Point(coordinates)<EOL>point.srid = srid<EOL>return point<EOL><DEDENT>else:<EOL><INDENT>if len(coordinates) != dim:<EOL><INDENT>raise ValueError("<STR_LIT>" % (srid, dim, len(coordinates)))<EOL><DEDENT>return point_class(coordinates)<EOL><DEDENT>
Create a new instance of a Point subclass from a raw
    set of fields. The subclass chosen is determined by the
    given SRID; a ValueError will be raised if no such
    subclass can be found.